2006年10月18日20时
一个外星朋友丢了一个加了不知道什么的东西给我
要求来看雪论脱
经过2个小时的论脱
很多朋友都已经吐血
想知道详细情况 请看下面分解```
OD载入
0040D031 >/$ 60 PUSHAD //停在这里
0040D032 |. 50 PUSH EAX
0040D033 |. 53 PUSH EBX
0040D034 |. 51 PUSH ECX
0040D035 |. 50 PUSH EAX
0040D036 |. 52 PUSH EDX //一堆花指令
0040D037 |. 52 PUSH EDX
0040D038 |. 53 PUSH EBX
0040D039 |. 52 PUSH EDX
0040D03A |. 50 PUSH EAX
0040D03B |. 52 PUSH EDX
0040D03C |. 52 PUSH EDX
0040D03D |. 52 PUSH EDX
0040D03E |. 3BD3 CMP EDX,EBX
0040D040 |. 5A POP EDX ; ntdll.KiFastSystemCallRet
0040D041 |. 1BD8 SBB EBX,EAX
0040D043 |. 58 POP EAX
0040D044 |. 58 POP EAX
0040D045 |. 58 POP EAX
0040D046 |. 5A POP EDX
0040D047 |. 11DA ADC EDX,EBX
0040D049 |. 59 POP ECX
0040D04A |. 58 POP EAX
0040D04B |. 59 POP ECX
0040D04C |. 09CA OR EDX,ECX
0040D04E |. 5A POP EDX
0040D04F |. 85D2 TEST EDX,EDX
0040D051 |. 5B POP EBX
0040D052 |. 5B POP EBX
0040D053 |. 1BC2 SBB EAX,EDX
0040D055 |. 85C3 TEST EBX,EAX
0040D057 |. 5A POP EDX
0040D058 |. 61 POPAD
0040D059 |. 60 PUSHAD
0040D05A |. E8 A9FFFFFF CALL 123.0040D008
0040D05F |. 8BC3 MOV EAX,EBX
0040D061 |. 3E:8B00 MOV EAX,DWORD PTR DS:[EAX]
0040D064 |. 40 INC EAX
0040D065 |. E8 AAFFFFFF CALL 123.0040D014 //到这里F7进去 要不会飞
0040D06A \. CF IRETD
0040D014 /$ 40 INC EAX //F7进到这里继续F8单步跟
0040D015 |. 3E:0FB600 MOVZX EAX,BYTE PTR DS:[EAX]
0040D019 |. C1E0 03 SHL EAX,3
0040D01C |. 83C0 4C ADD EAX,4C
0040D01F |. 36:010424 ADD DWORD PTR SS:[ESP],EAX
0040D023 \. C3 RETN //到这里返回
0040D024 BB DB BB
0040D025 E6 DB E6
返回到
0040D0B6 . 61 POPAD //返回到这里
0040D0B7 .^ E9 1640FFFF JMP 123.004010D2 //条向OEP?
0040D0BC 83 DB 83
0040D0BD . 02 DB 02
结果让我大失所望
004010D2 55 PUSH EBP //来到这里
004010D3 8BEC MOV EBP,ESP
004010D5 83EC 44 SUB ESP,44
004010D8 56 PUSH ESI
004010D9 FF15 E4634000 CALL DWORD PTR DS:[<&KERNEL32.GetCommand>; kernel32.GetCommandLineA
004010DF 8BF0 MOV ESI,EAX
004010E1 8A00 MOV AL,BYTE PTR DS:[EAX]
004010E3 3C 22 CMP AL,22
004010E5 75 1B JNZ SHORT 123.00401102
004010E7 56 PUSH ESI
004010E8 FF15 F4644000 CALL DWORD PTR DS:[<&USER32.CharNextA>] ; USER32.CharNextA
004010EE 8BF0 MOV ESI,EAX
004010F0 8A00 MOV AL,BYTE PTR DS:[EAX]
004010F2 84C0 TEST AL,AL
004010F4 74 04 JE SHORT 123.004010FA
004010F6 3C 22 CMP AL,22
004010F8 ^ 75 ED JNZ SHORT 123.004010E7
004010FA 803E 22 CMP BYTE PTR DS:[ESI],22
004010FD 75 15 JNZ SHORT 123.00401114
一看OEP 010D2
已知道OEP为 10cc 望上看一看 大吃一惊
004010BF 5C POP ESP
004010C0 25 322E3264 AND EAX,64322E32
004010C5 5C POP ESP
004010C6 25 322E3264 AND EAX,64322E32
004010CB 0000 ADD BYTE PTR DS:[EAX],AL
004010CD 000D 0A000055 ADD BYTE PTR DS:[5500000A],CL
004010D3 8BEC MOV EBP,ESP
004010D5 83EC 44 SUB ESP,44
OEP代码被抽跑了?
讨论1 这个软件是壳 还是加的花指令?
讨论2 请高手写一个这个的完全分析 本人太菜 想学习 他是如何做到的
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)