
Reverse Engineering
文章平均质量分 52
xrain_zh
这个作者很懒,什么都没留下…
展开
-
Calling Convention的总结
因为经常需要和不同的Calling Convention打交道,前段时间整理了一下它们之间的区别,如下: 清理堆栈参数压栈顺序命名规则(MSVC++)备注Cdecl调用者 (Caller)从右往左 FuncName因为是调用者清理Stack,因此允许变参 (如pr转载 2015-03-25 10:47:50 · 286 阅读 · 0 评论 -
C++反汇编揭秘2 – VC编译器的运行时错误检查(RTC)
[-]Runtime CheckingRTCc开关RTCu开关RTCs开关Debug模式下初始化变量为0xcc检查数组变量的Overrun检查ESP我在上篇文章举了一个简单的C++程序非常简略的解释C++代码和汇编代码的对应关系,在后面的文章中我将按照不同的Topic来仔细介绍更多相关的细节。虽然我很想一开始的时候就开始直接介绍C++和汇编代码的对应关系,不过由于VC编译器转载 2015-03-25 11:17:01 · 691 阅读 · 0 评论 -
IDA PRO 静态反汇编与OllyDbg动态调试实战技巧汇总
来自:IDA PRO 静态反汇编与OD动态调试实战技巧汇总转载 2015-04-01 16:30:42 · 1408 阅读 · 0 评论 -
为什么某些壳脱壳后需要修复IAT?
来自:http://bbs.pediy.com/showthread.php?t=151939为什么要修复IAT?首先得说一下程序调用DLL导出函数的原理,PE调用DLL里的函数,一般是先加载这个DLL模块到它的进程地址空间,然后在加载后的地址范围内找到每个调用函数的地址,在程序中你可以使用LoadLibrary()这个系统API去动态去加载某个DLL,再通过G转载 2015-04-04 19:33:07 · 3496 阅读 · 0 评论 -
OD内存断点
来自:http://blog.youkuaiyun.com/dasgk/article/details/9250073内存断点原理:OD会对所设置地址设置为不可访问或者不可写属性,这样挡程序试图访问或者写入时就会产生异常,OD在截获这种异常后比较地址是否是设置的断点地址,这种方式会对程序的运行速度有很大的影响,所以只允许设置一个内存断点,但是在找到内存断点后可以使用一般的断点(这个是可以设转载 2015-04-27 19:21:09 · 2945 阅读 · 0 评论