首页
社区
课程
招聘
[原创]第三题 crackMe 新手分析
发表于: 2017-10-28 18:25 2712

[原创]第三题 crackMe 新手分析

2017-10-28 18:25
2712

1. OD打开直接退出

2. OD附加可以

3. 下GetDlgItemTextA的断点, 找到以下函数

显然MessageBoxA(0, "ok", "CrackMe", 0);是我们的目标

GetDlgItemTextA到will_exit_func之间的函数并不会决定是否弹出ok对话框,所以先决定不管。

运行发现will_exit_func会导致进程退出,貌似是有反调试,先NOP掉

发现formated_cc_64会被填充64个’c’

通过检查返回值发现其中一个函数是strlen

强制让j_real_first_check返回0,发现运行sub_29D0B4()就能弹出ok了,没有什么额外的条件了,所以j_real_first_check就是真正的验证函数。其实这里应该猜一猜,第一个参数是64个’c’,第二个参数是输入字符串的结尾减64的地址,第三个参数是长度64。很容易猜到是字符串比较,虽然我是后来进去分析了一下才看出来的。。。

 

4. 不过cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc看起来就不太对,感觉 will_exit_func 会做点什么出了反调试之外有意义的事情

 

进去发现以下代码运行到int3会导致进程结束,所以NOP掉这个函数


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 1
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回
//