首页
社区
课程
招聘
[分享]《逆向工程核心原理》1-8章总结
2022-10-25 17:54 8486

[分享]《逆向工程核心原理》1-8章总结

2022-10-25 17:54
8486

快速查找指定代码的四种方法:

  1. 代码执行法(一直F7执行,适用于程序功能明确且代码量不大的情况)
  2. 字符串检索法(检索程序中引用的字符串)
  3. API检索法1(预测会使用的Win32 API,检索)
  4. API检索法2(程序被保护时,从DLL代码库中检索)

第3、4种方法让我意识到如果不熟悉windows编程就会比较难去找指定代码,也难以逆向


 

修改字符串的两种方法:

  1. 直接修改字符串缓冲区
  2. 在其他内存区域新建字符串并传递给消息函数

 

小端序标记法,即低位优先,虽然是逆序存储方式看着不是很舒服,但很符合人类思维。windows系统就是采用了小端序(Little endian)。


 

栈——一种由高地址向低地址扩展的数据结构,遵循后进先出的规则存储数据。栈帧——利用EBP寄存器访问栈内局部变量、参数、函数返回地址等的手段。栈帧结构:

1
2
3
4
5
6
7
8
PUSH EBP
mov EBP,ESP          //可以看作函数开始的地方
 
...                   //无论ESP怎么变化,EBP都保持不变
 
mov ESP,EBP           //还原ESP的值
POP EBP              
RETN

 

函数在被调用前参数会被逆序入栈,这样在函数调用时才能正确地顺序获取参数,这还是因为栈后进先出的规则。


 

abex' crackme #2是一个根据NAME生成密钥然后检查输入的VB文件。对这个文件的逆向分析更让我觉得“预测代码”能力的重要性,正向开发和逆向分析是相辅相成的。


[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
点赞0
打赏
分享
最新回复 (2)
雪    币: 31
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
vic-vic 2022-11-25 18:00
2
0
你看《逆向工程核心原理》这本书时用的x32dbg软件在win10上运行、实操的吗? ollydbg在win10上好像用不了,而且没那么好用,我也在看这本书
雪    币: 230
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
Sec214 2023-1-19 12:56
3
0
vic-vic 你看《逆向工程核心原理》这本书时用的x32dbg软件在win10上运行、实操的吗? ollydbg在win10上好像用不了,而且没那么好用,我也在看这本书
我的ollydbg在win10上是可以正常使用的
游客
登录 | 注册 方可回帖
返回