- UID
- 54196
注册时间2008-7-2
阅读权限95
最后登录1970-1-1
超级版主
TA的每日心情 | 开心 2019-2-26 11:14 |
---|
签到天数: 459 天 [LV.9]以坛为家II
|
帖子地址https://www.chinapyg.com/forum.php?mod=viewthread&tid=70973&extra=page%3D1
首次运行会写dat文件 test.dat
试修改 test.dat 使程序溢出 OD载入直接查找字符串,找到“OK, Successful!”,双击进入,在上面一个地址0040182处下断,关键部分如下
- 0040182D . E8 36A40200 CALL ExploitM.0042BC68
- 00401832 . 8B8D ACFDFFFF MOV ECX, DWORD PTR SS:[EBP-0x254] ; |ECX<---取第二个字符
- 00401838 . 8B95 B0FDFFFF MOV EDX, DWORD PTR SS:[EBP-0x250] ; |EDX<---取第一个字符
- 0040183E . 89C8 MOV EAX, ECX ; |
- 00401840 . C1E0 08 SHL EAX, 0x8 ; |
- 00401843 . 29C8 SUB EAX, ECX ; |
- 00401845 . C1E2 0A SHL EDX, 0xA ; |
- 00401848 . 01C2 ADD EDX, EAX ; |
- 0040184A . 8B8D A8FDFFFF MOV ECX, DWORD PTR SS:[EBP-0x258] ; |ECX<---取第三个字符
- 00401850 . 8B85 A4FDFFFF MOV EAX, DWORD PTR SS:[EBP-0x25C] ; |EAX<---取第四个字符
- 00401856 . 8D0481 LEA EAX, DWORD PTR DS:[ECX+EAX*4] ; |
- 00401859 . C1E0 07 SHL EAX, 0x7 ; |
- 0040185C . 29C2 SUB EDX, EAX ; |
- 0040185E . 81C2 92070000 ADD EDX, 0x792 ; |
- 00401864 . 66:85D2 TEST DX, DX ; |
- 00401867 . 0F85 5D040000 JNZ ExploitM.00401CCA ; |
- 0040186D . C70424 000000>MOV DWORD PTR SS:[ESP], 0x0 ; |
- 00401874 . 31C0 XOR EAX, EAX ; |
- 00401876 . 894424 0C MOV DWORD PTR SS:[ESP+0xC], EAX ; |
- 0040187A . B8 0B304400 MOV EAX, ExploitM.0044300B ; |TIP:
- 0040187F . 894424 08 MOV DWORD PTR SS:[ESP+0x8], EAX ; |
- 00401883 . B8 33304400 MOV EAX, ExploitM.00443033 ; |OK, Successful!
- 00401888 . 894424 04 MOV DWORD PTR SS:[ESP+0x4], EAX ; |
- 0040188C > E8 07440100 CALL <JMP.&USER32.MessageBoxA> ; \MessageBoxA
复制代码
算法过程:假设txt中的四个字符分别是M,N,P,Q,则他们满足下面的关系(M,N,P,Q<0xFF)
(N00-N)+(SHL M,0xA)-[SHL (P+4Q),7]=0x792 (这是什么语法?)
不会编程就是悲剧,鼓捣了半天,总算弄出来了(一组:1c 92 d2 50),不正确的地方请多多指正,感谢您看完,结果并不重要,体验过就好
|
评分
-
查看全部评分
|