admin管理员组文章数量:1579415
Crackme逆向分析
逆向第一题,很简单,分分钟能搞定。题目大致是说找一个key,提示success就行。
Peid查一下没有任何壳,是vc写的程序,里面没有知名的算法。开始分析
错误的时候是这个样子
首先这一点就能给我们以下几点提示:
1此程序是vc写的,那么得到用户输入肯定是用到getdigitemtext系列函数,通过对函数下断即可以得到用户的输入
2.比较字符串,提示错误的字符串为done,查找字符串
3.失败与成功都会弹出对话框,那么同理也可也对messagebox系列函数下断
4.……其他 的方法暂且不说
直接getdigitemtext下断发现断不下,嗯嗯,后来查看程序的时候发现这个程序并不是调用了这个函数,而是他的同类型函数 GetWindowTextA,下断点之后,截断了用户的输入来到这个函数开头:
0042BAA3 |. 8B4D 10 mov ecx,[arg.3]
0042BAA6 |. 6AFF push -0x1
0042BAA8 |. E8846BFFFF call CrackMe.00422631
0042BAAD |. EB0B jmp XCrackMe.0042BABA
0042BAAF |> 8B45 10 mov eax,[arg.3]
0042BAB2 |. FF30 push dword ptrds:[eax]
0042BAB4 |. 56 push esi
0042BAB5 |. E8E4EBFFFF call CrackMe.0042A69E
0042BABA |> 5F pop edi
0042BABB |. 5E pop esi
0042BABC |. 5D pop ebp
0042BABD \. C20C00 retn 0xC
,嗯嗯,直接单步掉,过几个跳转之后来到算法的地方:
00401420 . 6AFF push -0x1
00401422 . 68D0904300 push CrackMe.004390D0 ; SE 处理程序安装
00401427 . 64:A1 0000000>mov eax,dword ptr fs:[0] ; 关键代码
0040142D . 50 push eax
0040142E . 64:8925 00000>mov dword ptr fs:[0],esp
00401435 . 83EC 0C sub esp,0xC ; 保护现场
00401438 . 56 push esi
00401439 . 57 push edi
0040143A . 8BF9 mov edi,ecx
0040143C . 6A01 push 0x1
0040143E . E8FD3E0200 call CrackMe.00425340 ; 读字符串给edx
00401443 . 6A00 push 0x0
00401445 . 8D4F 5C lea ecx,dword ptrds:[edi+0x5C]
00401448 . E895110200 call CrackMe.004225E2 ; 读输入字符串给eax
0040144D . 51 push ecx
0040144E .
本文标签: writeup
版权声明:本文标题:逆向-360逆向writeup 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/xitong/1725802089a1043656.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论