逆向工程知识点总结
将自己学到的逆向工程知识点做记录以备忘
qq_39921539
这个作者很懒,什么都没留下…
展开
-
为什么整型数范围要减1
01111 1111 1111 1111这个数就是最大数(有符号位):1+2^1+2^2+...+2^14=2^15-1符号位占一,原创 2018-04-02 22:37:18 · 9851 阅读 · 5 评论 -
IAT数组一定要指向 Hint/name吗
不用,只要不为0就好了,IAT是由PE装载器填入地址的,不用自己填Hint值一定要为ordinal吗?有函数名的可以随便写,没有的要和ordinal对应原创 2020-12-23 14:38:12 · 138 阅读 · 1 评论 -
逆向核心原理:第二十章 内嵌补丁 与教科书不同的另一中打补丁方式2
上一次我介绍了一种自己调试patchme的独特方式,今天介绍另一中方法上次的网址 https://www.cnblogs.com/czlnb/p/13996202.html代码结构:这一次我们要插入的地方是代码块4的末尾,因为这个地方已经运行了解压程序,但是没有运行校验程序,所以我们要修改代码块5的校验程序,以跳过它。但是代码块5,是被加密的,所以要在代码块4中用代码来修改代码块5总结一下 完成数据块A中字符的修改需要3步1.将代码块4复制到空白区(这样就有空间插入...原创 2020-11-18 12:14:52 · 134 阅读 · 0 评论 -
逆向核心原理:第二十章 内嵌补丁 与教科书不同的另一种打补丁方式
逆向核心原理:第二十章 内嵌补丁 与教科书不同的另一中打补丁方式 在逆向核心原理中,第二十章的实验是调试patchme 见下图1 图1最后实验的结果:书上的思路是修改跳入OEP的jmp指令,以此来插入自己的代码,但是这部分的指令是被加密过的,所以修改它时要手动做加密,十分麻烦。所以我想出了一个更好的办法:因为我们要插入字符串,而字符串是被加密的,而且后面还有校验检查代码是否被改动,所以我们的代码一定要插入在解密和校验之后运行的地...原创 2020-11-17 21:01:37 · 178 阅读 · 0 评论 -
OllyDbg 出现实际运行的汇编代码与显示出来的不一致的问题?或 OllyDbg执行单字节数据?
下图①是我遇到的问题,执行到这里时发现是单字节,但执行还是可以执行经过我努力的搜索,总于找到了和我有同样遭遇的老哥,并且有大佬给出了解决方案 见下图②这是我按了Ctrl + a后的情况 见下图 ③虽然大佬的方法正确,但是我并不认同他对原因的分析。因为我反汇编的程序是运行时解压缩程序,而这段代码正是原程序的OEP,由此我分析这段代码本来是加密了,OllyDBG认为它是数据然后在前面的程序中,这段代码被解压了,但是OllyDBG却没有刷新,...原创 2020-11-15 22:49:23 · 383 阅读 · 0 评论 -
exe 汇编代码中是如何确定函数的地址的呢?
问:对于dll中的函数地址在运行前是不知道的,那在文件代码中是如何编写 “call 函数地址” 之类的指令的呢?答:虽然不知道函数的地址是什么,但是知道函数的地址写在哪里。可以[函数地址的指针]来读取函数的地址比如: GetStartupInfoW函数的地址不是01220100(上面蓝色笔圈出的地址是小端序) 而是01220100地址是处存放着GetStartupInfoW函数的地址 见下图 如此一来,当PE装载器把...原创 2020-11-13 22:04:03 · 616 阅读 · 0 评论