160个crakeme系列--001
首先下载文件
1.PNG (70.73 KB, 下载次数: 3)
下载附件
2020-10-12 22:34 上传
查壳,没有加壳,拖入od运行
2.PNG (49.33 KB, 下载次数: 0)
下载附件
2020-10-12 22:39 上传
先观察下软件,输入名称和序列号会弹窗提示结果
3.PNG (268.14 KB, 下载次数: 0)
下载附件
2020-10-12 22:44 上传
下断GetWindowTextA,GetWindowTextW,GetDlgItemTextA,GetDlgItemTextW发现程序没有中断
记得还有个函数可以模拟获取字符串,这点忘了,有大佬知道的提示下新手。
换个思路在MessageBoxA,MessageBoxW下断
程序运行有个提示框,跳过。
输入 123 456点击确定程序中断,观察堆栈发现会返回0042FA74,右键在反汇编跟随
4.PNG (281.24 KB, 下载次数: 1)
下载附件
2020-10-12 22:52 上传
F2 0042FA6F 将之前的断点删除重新运行,中断在0042FA6F 我们往上看,看有没有未实现的跳转跳过这个call的
5.PNG (65.43 KB, 下载次数: 0)
下载附件
2020-10-12 22:55 上传
找到一个jge 跳转F2,然后重新运行,断在此处,我们让跳转实现跳过call,之后一直单步
6.PNG (61.55 KB, 下载次数: 0)
下载附件
2020-10-12 23:00 上传
发现0042FB03这里一个关键跳转,我们让跳转不现实 ,发现弹出正确提示框破解成功
7.PNG (71.83 KB, 下载次数: 0)
下载附件
2020-10-12 23:03 上传
成功截图
8.PNG (172.08 KB, 下载次数: 0)
下载附件
2020-10-12 23:05 上传
将第一个跳转改为jmp,第二个跳转nop掉,保存文件,运行文件发现无论输入怎样的name和serial都会提示正确,至此破解结束
有空会逆向算法,如果有错误或者建议,希望各位大佬指点。{:1_893:}