会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
_No.47
博客园
首页
新随笔
联系
管理
订阅
上一页
1
2
3
4
5
6
7
8
9
···
18
下一页
2017年12月21日
《C++反汇编与逆向分析技术揭秘》之12——继承
摘要: 识别类和类之间的关系 在父类中声明为私有的成员,虽然子类对象无法直接访问,但是在子类对象的内存结构中,父类私有的成员数据依然存在。 在没有提供构造函数的时候,系统会尝试提供默认的构造函数: 当子类中没有构造函数或析构函数,而它的父类却需要构造函数与析构函数是,编译器会为这个子类提供默认的构造函数与析
阅读全文
posted @ 2017-12-21 07:48 _No.47
阅读(545)
评论(0)
推荐(0)
2017年12月19日
《C++反汇编与逆向分析技术揭秘》之11——虚函数
摘要: 虚函数的机制 当类中定义有虚函数时,编译器会将该类中所有虚函数的首地址保存在一张地址表中,这张表被称为虚函数地址表。编译器还会在类中添加一个虚表指针。 举例: CVirtual类的构造函数中没有进行任何操作,但是我们来看构造函数内部,还是有一个赋初值的操作: 这个地址指向的是一个数组: 这些数组中的
阅读全文
posted @ 2017-12-19 09:26 _No.47
阅读(873)
评论(0)
推荐(0)
2017年12月17日
《C++反汇编与逆向分析技术揭秘》之十——析构函数
摘要: 局部对象 当对象所在作用域结束之后,销毁栈空间,此时析构函数被调用。 举例: 函数返回时自动调用析构函数: 堆对象 调用析构代理函数来处理析构函数: 为什么使用析构代理函数来调用析构函数?考虑到如果delete的对象是一个对象数组,可以使用析构代理函数依次析构所有的对象。举例: 调用了构造代理函数:
阅读全文
posted @ 2017-12-17 11:01 _No.47
阅读(460)
评论(0)
推荐(0)
2017年12月15日
错误 1 error C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use . See online help for details.
摘要: 出现这种警告的原因是因为我们没有使用安全的字符串处理函数。如果想屏蔽这种警告,可以使用: 还可以使用其它的方法,参考: https://www.cnblogs.com/gb2013/archive/2013/03/05/SecurityEnhancementsInTheCRT.html
阅读全文
posted @ 2017-12-15 08:37 _No.47
阅读(655)
评论(0)
推荐(0)
2017年12月13日
《C++反汇编与逆向分析技术揭秘》之十——构造函数
摘要: 对象生成时会自动调用构造函数。只要找到了定义对象的地方,就找到了构造函数调用的时机。不同作用域的对象的生命周期不同,如局部对象、全局对象、静态对象等的生命周期各不相同,只要知道了对象的生命周期,便可以推断出构造函数的调用时机。 局部对象 反汇编: 获取对象首地址并调用构造函数: 对象的地址为: 进入
阅读全文
posted @ 2017-12-13 05:26 _No.47
阅读(4341)
评论(0)
推荐(1)
2017年1月16日
《C++反汇编与逆向分析技术揭秘》——变量在内存中的位置和访问方式
摘要: 全局变量和局部变量
阅读全文
posted @ 2017-01-16 22:40 _No.47
阅读(496)
评论(0)
推荐(0)
《C++反汇编与逆向分析技术揭秘》——函数的工作原理
摘要: 各种调用方式的考察 示例: cdecl方式是调用者清空堆栈: 如果执行的是fastcall: 借助两个寄存器传递参数: 参数1和2借助局部变量来存储: 返回值 如果返回值是结构体: 返回值存放在eax和edx两个寄存器中: 返回之后再存放eax和edx到对应的局部变量中: 如果这个结构体中存放的值太
阅读全文
posted @ 2017-01-16 15:51 _No.47
阅读(907)
评论(0)
推荐(0)
2017年1月15日
9款.net反编译的必备神器
摘要: 编辑来给大家盘点下.net的反编译工具: 1、Reflector Reflector是最为流行的.Net反编译工具。Reflector是由微软员工Lutz Roeder编写的免费程序。Reflector的出现使·NET程序员眼前豁然开朗,因为这个免费工具可以将·NET程序集中的中间语言反编译成C#或
阅读全文
posted @ 2017-01-15 11:09 _No.47
阅读(11073)
评论(0)
推荐(2)
2017年1月14日
LF Filed Control
摘要: 在Win32中使用MFC
阅读全文
posted @ 2017-01-14 18:02 _No.47
阅读(163)
评论(0)
推荐(0)
《C++反汇编与逆向分析技术揭秘》——流程控制语句的识别
摘要: if...else...语句 示例: if构成多分支语句 switch 有序线性的switch: 3E82D8位置存放了一个表,标明了要跳转到的地址: 这里的每四字节都标明的是每个case块的首地址: 除了表中的第四个位置,因为没有case 4 所以,第四个位置直接标明的是退出的地址: 非线性索引:
阅读全文
posted @ 2017-01-14 10:28 _No.47
阅读(579)
评论(0)
推荐(0)
上一页
1
2
3
4
5
6
7
8
9
···
18
下一页
公告