用peid,没有任何发现。
用OD载入,隐藏OD.
00401000 > 68 01604400 push JsyKs.00446001
00401005 E8 01000000 call JsyKs.0040100B
0040100A C3 retn
0040100B C3 retn
0040100C D6 salc
0040100D 56 push esi
0040100E ED in eax,dx
0040100F 34 C8 xor al,0C8
00401011 59 pop ecx
00401012 89C9 mov ecx,ecx
00401014 DD ??? ; 未知命令
F8单步运行,看到下面的,尝试采用ESP方法
00446001 60 pushad
00446002 E8 03000000 call JsyKs.0044600A
00446007 - E9 EB045D45 jmp 45A164F7
0044600C 55 push ebp
0044600D C3 retn
0044600E E8 01000000 call JsyKs.00446014
00446013 EB 5D jmp short JsyKs.00446072
00446015 BB EDFFFFFF mov ebx,-13
0044601A 03DD add ebx,ebp
竟然到了这里,很奇怪 pushad和popfd也不一致(后来再次单步运行,看到有多个,我的方法可能有问题)
020400DE 9D popfd
020400DF 5C pop esp
020400E0 - FF6424 FC jmp dword ptr ss:[esp-4] ; JsyKs.004020E6
错中错,竟然来到这里
004020DA - FF25 E0104000 jmp dword ptr ds:[4010E0] ; msvbvm60.EVENT_SINK_AddRef
004020E0 - FF25 2C114000 jmp dword ptr ds:[40112C] ; msvbvm60.EVENT_SINK_Release
004020E6 - FF25 E4114000 jmp dword ptr ds:[4011E4] ; msvbvm60.ThunRTMain
004020EC 68 E4224000 push JsyKs.004022E4 ; ASCII "VB5!6&*" //手工修改
004020F1 E8 F0FFFFFF call JsyKs.004020E6 ; jmp 到 //手工修改
dump ,修复后不能运行。如果采用内存断点的方法很快就被提示发现调试器。
不知道是什么壳,该如何脱壳,请大家给点提示。
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)