穿山甲的壳在GetModuleHandleA后面的跳转下了硬件执行断点后,在返回时机时返回找不到Magic Jump.代码如下:
00C96826 FF77 FC PUSH DWORD PTR [EDI-4]
00C96829 E8 BCBFFEFF CALL 00C827EA
00C9682E 83C4 0C ADD ESP, 0C
00C96831 F647 04 01 TEST BYTE PTR [EDI+4], 1
00C96835 74 12 JE SHORT 00C96849
00C96837 B9 980FCC00 MOV ECX, 0CC0F98
00C9683C E8 355AFFFF CALL 00C8C276
00C96841 84C0 TEST AL, AL
00C96843 0F85 8B010000 JNZ 00C969D4
00C96849 8D85 B4FEFFFF LEA EAX, DWORD PTR [EBP-14C]
00C9684F 50 PUSH EAX
00C96850 FF15 C070CB00 CALL DWORD PTR [CB70C0] ; kernel32.GetModuleHandleA
00C96856 8B0D AC55CC00 MOV ECX, DWORD PTR [CC55AC]
00C9685C 89040E MOV DWORD PTR [ESI+ECX], EAX
00C9685F A1 AC55CC00 MOV EAX, DWORD PTR [CC55AC]
00C96864 391C06 CMP DWORD PTR [ESI+EAX], EBX
00C96867 75 2E JNZ SHORT 00C96897
00C96869 F647 04 02 TEST BYTE PTR [EDI+4], 2
00C9686D 74 12 JE SHORT 00C96881
00C9686F B9 980FCC00 MOV ECX, 0CC0F98
00C96874 E8 C96BFFFF CALL 00C8D442
00C96879 84C0 TEST AL, AL
00C9687B 0F84 53010000 JE 00C969D4
00C96881 8D85 B4FEFFFF LEA EAX, DWORD PTR [EBP-14C]
00C96887 50 PUSH EAX
00C96888 FF15 E471CB00 CALL DWORD PTR [CB71E4] ; kernel32.LoadLibraryA
00C9688E 8B0D AC55CC00 MOV ECX, DWORD PTR [CC55AC]
00C96894 89040E MOV DWORD PTR [ESI+ECX], EAX
00C96897 A1 AC55CC00 MOV EAX, DWORD PTR [CC55AC]
00C9689C 391C06 CMP DWORD PTR [ESI+EAX], EBX
00C9689F E9 30010000 JMP 00C969D4
00C968A4 0033 ADD BYTE PTR [EBX], DH
00C968A6 C9 LEAVE
00C968A7 8B07 MOV EAX, DWORD PTR [EDI]
00C968A9 3918 CMP DWORD PTR [EAX], EBX
00C968AB 74 06 JE SHORT 00C968B3
00C968AD 41 INC ECX
00C968AE 83C0 0C ADD EAX, 0C
00C968B1 ^ EB F6 JMP SHORT 00C968A9
00C968B3 8BD9 MOV EBX, ECX
00C968B5 C1E3 02 SHL EBX, 2
00C968B8 53 PUSH EBX
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课