天草中级教程中的 “脱壳”第一课,用ASFConverter.exe 作为案例。
该软是穿山甲4.0加密,按天草的视频我成功脱掉了壳。但是,教程中天草大侠认为这个解密很简单,没有讲解密。
我试了一下,发现一个问题,脱壳后原来试用10天的版本变成了试用期已过,开始就要求输入注册码。
用OD找到关键跳,改掉后,点注册自动退出。
希望有大侠能指点一下!谢谢!!!
00417C50 . 64:A1 0000000>MOV EAX,DWORD PTR FS:[0]
00417C56 . 6A FF PUSH -1
00417C58 . 68 40364500 PUSH dumped_.00453640
00417C5D . 50 PUSH EAX
00417C5E . 64:8925 00000>MOV DWORD PTR FS:[0],ESP
00417C65 . 83EC 08 SUB ESP,8
00417C68 . 56 PUSH ESI
00417C69 . 8BF1 MOV ESI,ECX
00417C6B . 8B46 64 MOV EAX,DWORD PTR DS:[ESI+64]
00417C6E . 8B4E 60 MOV ECX,DWORD PTR DS:[ESI+60]
00417C71 . 50 PUSH EAX
00417C72 . 51 PUSH ECX
00417C73 . E8 B8070000 CALL dumped_.00418430 // 关键CALL。 本人初学,又是非明码比较,追码放弃。
00417C78 . 83C4 08 ADD ESP,8
00417C7B . 85C0 TEST EAX,EAX
00417C7D . 0F85 82000000 JNZ dumped_.00417D05 //关键跳,不跳就飞(改JMP)。但是,改了后,输入注册信息,点确定,没任何提示就退出了。
00417C83 . A1 3C974600 MOV EAX,DWORD PTR DS:[46973C]
00417C88 . 894424 08 MOV DWORD PTR SS:[ESP+8],EAX
00417C8C . 68 30EF0000 PUSH 0EF30 ; /Arg1 = 0000EF30
00417C91 . 8D4C24 0C LEA ECX,DWORD PTR SS:[ESP+C] ; |
00417C95 . C74424 18 000>MOV DWORD PTR SS:[ESP+18],0 ; |
00417C9D . E8 50DD0200 CALL dumped_.004459F2 ; \dumped_.004459F2
00417CA2 . 8B0D 3C974600 MOV ECX,DWORD PTR DS:[46973C] ; dumped_.00469750
00417CA8 . 894C24 04 MOV DWORD PTR SS:[ESP+4],ECX
00417CAC . 68 44EF0000 PUSH 0EF44 ; /Arg1 = 0000EF44
00417CB1 . 8D4C24 08 LEA ECX,DWORD PTR SS:[ESP+8] ; |
00417CB5 . C64424 18 01 MOV BYTE PTR SS:[ESP+18],1 ; |
00417CBA . E8 33DD0200 CALL dumped_.004459F2 ; \dumped_.004459F2
00417CBF . 8B5424 08 MOV EDX,DWORD PTR SS:[ESP+8]
00417CC3 . 8B4424 04 MOV EAX,DWORD PTR SS:[ESP+4]
00417CC7 . 6A 30 PUSH 30
00417CC9 . 52 PUSH EDX
00417CCA . 50 PUSH EAX
00417CCB . 8BCE MOV ECX,ESI
00417CCD . E8 C1C60200 CALL dumped_.00444393
00417CD2 . 8D4C24 04 LEA ECX,DWORD PTR SS:[ESP+4]
00417CD6 . C64424 14 00 MOV BYTE PTR SS:[ESP+14],0
00417CDB . E8 83A40200 CALL dumped_.00442163
00417CE0 . 8D4C24 08 LEA ECX,DWORD PTR SS:[ESP+8]
00417CE4 . C74424 14 FFF>MOV DWORD PTR SS:[ESP+14],-1
00417CEC . E8 72A40200 CALL dumped_.00442163
00417CF1 . 33C0 XOR EAX,EAX
00417CF3 . 5E POP ESI
00417CF4 . 8B4C24 08 MOV ECX,DWORD PTR SS:[ESP+8]
00417CF8 . 64:890D 00000>MOV DWORD PTR FS:[0],ECX
00417CFF . 83C4 14 ADD ESP,14
00417D02 . C2 0800 RETN 8
00417D05 > 8BCE MOV ECX,ESI
00417D07 . E8 CAA00200 CALL dumped_.00441DD6
00417D0C . 8B4C24 0C MOV ECX,DWORD PTR SS:[ESP+C]
00417D10 . 33C0 XOR EAX,EAX
00417D12 . 5E POP ESI
00417D13 . 64:890D 00000>MOV DWORD PTR FS:[0],ECX
00417D1A . 83C4 14 ADD ESP,14
00417D1D . C2 0800 RETN 8
00417D20 . 8B4424 08 MOV EAX,DWORD PTR SS:[ESP+8]
00417D24 . 85C0 TEST EAX,EAX
00417D26 . 74 17 JE SHORT dumped_.00417D3F
00417D28 . 8038 00 CMP BYTE PTR DS:[EAX],0
00417D2B . 74 12 JE SHORT dumped_.00417D3F
00417D2D . 50 PUSH EAX ; /lParam
00417D2E . 8B41 1C MOV EAX,DWORD PTR DS:[ECX+1C] ; |
00417D31 . 6A 00 PUSH 0 ; |wParam = 0
00417D33 . 68 05040000 PUSH 405 ; |Message = WM_USER+5
00417D38 . 50 PUSH EAX ; |hWnd
00417D39 . FF15 18664500 CALL DWORD PTR DS:[<&user32.SendMessageA>; \SendMessageA
00417D3F > 33C0 XOR EAX,EAX
00417D41 . C2 0800 RETN 8
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课