与某壳硬碰硬,无奈od没法安装各种插件,只能手撸。
下面是原来的部分代码,异常庞大
00FBB5D0 主 CMP EAX,EAX ; kernel32.BaseThreadInitThunk
00FBB5D2 主 JE SHORT 00FBB5F0
00FBB5F0 主 CALL 0103D47E
0103D47E 主 NOP
0103D47F 主 ADD ESP,0x4
0103D482 主 PUSH 0x40B
0103D487 主 JMP 0103BCCE
0103BCCE 主 PUSHFD
0103BCCF 主 CALL 0103BCD6
0103BCD6 主 ADD ESP,0x4
0103BCD9 主 CALL 0103BCE0
0103BCE0 主 ADD ESP,0x4
0103BCE3 主 JE SHORT 0103BCF3
0103BCE5 主 JMP SHORT 0103BCF5
0103BCF5 主 JNZ SHORT 0103BCEB
0103BCEB 主 JNZ SHORT 0103BCFB
0103BCFB 主 LEA ESP,DWORD PTR SS:[ESP-0x4]
0103BCFF 主 XCHG DWORD PTR SS:[ESP],EAX ; EAX=0103BCDE
0103BD02 主 NOT EAX ; EAX=FEFC4321
0103BD04 主 AND EAX,EAX
0103BD06 主 CMP EAX,EAX
0103BD08 主 JE SHORT 0103BD0D
0103BD0D 主 CALL 0103BD14
0103BD14 主 ADD ESP,0x4
0103BD17 主 CALL 0103BD1E
0103BD1E 主 ADD ESP,0x4
0103BD21 主 JE SHORT 0103BD31
0103BD23 主 JMP SHORT 0103BD33
0103BD33 主 JNZ SHORT 0103BD29
0103BD29 主 JNZ SHORT 0103BD39
0103BD39 主 LEA ESP,DWORD PTR SS:[ESP-0x4]
0103BD3D 主 XCHG DWORD PTR SS:[ESP],EAX ; EAX=0103BD1C
0103BD40 主 TEST EAX,EAX
0103BD42 主 JE SHORT 0103BD4E
0103BD44 主 JNZ SHORT 0103BD4E
0103BD4E 主 XCHG DWORD PTR SS:[ESP],EAX ; EAX=FEFC4321
0103BD51 主 CALL 0103BD58
0103BD58 主 ADD ESP,0x4
0103BD5B 主 JE SHORT 0103BD6B
0103BD5D 主 JMP SHORT 0103BD6D
0103BD6D 主 JNZ SHORT 0103BD63
0103BD63 主 JNZ SHORT 0103BD73
下面是清理后的部分代码,十分的迷你(有点像IL)
PUSH 0x40B
PUSHFD
PUSH kernel32.BaseThreadInitThunk
MOV EAX,NOT 103BCDE
PUSH 0103BD1C
这种技术好强大啊。。真正有用的代码,这么多代码只有前三句有用(后两句继续参与代码膨胀),问下有米有什么好的办法清理。。用什么脚本好一些。。。顺便求大家指点一下那个BaseThreadThunk是个虾米东东,他有什么用?
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课