下面是网上的160个CrackMe的部分逆向笔记,包括逆向思路、注册机实现和逆向中常用的知识整理
注意:逆向前一定要先操作一下软件,熟悉软件的运行现象;逆向一定要自己操作一遍,看是很难看会的(高手除外)
1.程序基本信息
程序输入验证没有提示信息,猜测应该是输入序列号后会生成注册码,当注册码等于3E74984B
时,逆向才算成功
查壳可以看到,有一个WWPack32 1.x -> Piotr Warezak
的壳
2.脱壳
下面介绍2种使用工具的脱壳方法:
方法 1.PEiD通用脱壳器
使用PEiD
自带的PEiD通用脱壳器
就可以脱掉这个壳
脱壳后程序没法运行,程序是Delphi
编写,直接上DarkDe4
工具分析
方法 2.OllyDump脱壳
PEiD中的通用OEP查找工具
可以找到程序的入口位置是0x44A648
提示:如果查找失败,那就OD加载程序,一路F8,时刻关注跨段跳转…
OD加载程序,直接使用OllyDump脱壳(记得修改入口点,因为是RVA,要减去Image Base,即0x44A648-0x400000
= 0x4A648
)
说明:上面哪种有用使用哪种,多一种选择就多一种可能
3.DarkDe分析
DarkDe4
加载去壳后的程序,发现Spider
的响应事件是Button1Click
,对应的RVA是0x44A2E8
4.IDA分析
IDA直接加载去壳后的程序,反编译0x44A2E8
所在的函数,大致得到下面的初步分析结果
由于脱壳后的程序不能执行,暂时先分析到这吧(能执行也就是看一下序列号怎么处理的,也没啥难度)
5.验证结果
查看网上很多人的分析,输入序列号除以3是主要逻辑,然后用结果与3E74984B
比较
6.参考
- 1.VB程序逆向反汇编常见的函数 - 笨笨D幸福 - 博客园 (cnblogs.com)
- 2.常用软件可以在这里下载:爱盘 - 最新的在线破解工具包 (52pojie.cn)
- 3.【反汇编练习】160个CrackME索引目录1~160建议收藏备用
- 4.160个Crackme_鬼手56的博客-CSDN博客
- 5.《使用OllyDbg从零开始Cracking》系列的文章也不错