-
-
[分享]淘来的几个SMC代码
-
发表于:
2007-7-28 15:30
7910
-
第一个程序独立运行时与在OD中运行时GetModuleHandleA取得的句柄值不一样,OD中将大于70000000,好象只对XP有效。其它程序自己用OD试试。
.data
hInst dd ?
szStr db ?
szBytes db ?
CTEXT MACRO y:VARARG
LOCAL sym
CONST segment
ifidni <y>,<>
sym db 0
else
sym db y,0
endif
CONST ends
exitm <offset sym>
ENDM
.code
start:
invoke VirtualProtect, (start+02Eh), 04h, PAGE_EXECUTE_READWRITE, ADDR szBytes
mov eax, (start+02Eh)
xor ebx, ebx
mov bl, byte ptr cs:[eax]
xor bl, 035h
mov byte ptr ds:[eax], bl
invoke GetModuleHandleA, 0
mov hInst, eax
invoke GetModuleHandleA, 0
invoke wsprintf, ADDR szStr, CTEXT( "模块基址为:0x%x"), eax
invoke MessageBox, NULL, ADDR szStr,CTEXT( "SMC检测OD"), MB_OK or MB_APPLMODAL
invoke ExitProcess, 0
int 3
nop
end start
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课