首页
论坛
课程
招聘
[分享]淘来的几个SMC代码
2007-7-28 15:30 6440

[分享]淘来的几个SMC代码

2007-7-28 15:30
6440
第一个程序独立运行时与在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


start:

	mov esi, (ProgramEnd-start)
	invoke VirtualProtect, 401000h, esi, PAGE_EXECUTE_READWRITE, ADDR oldProt ; enable write to code section
	test eax, eax
	jnz _patch
			invoke MessageBox, NULL, szErr, szErr, MB_OK 	; error, show it and quit
			jmp _end

_patch:
	lea edi, _change
	mov al, 0e8h			; call opcode
	stosb
	mov eax, 00000008h ; Will be 08 00 00 00 when written to memory 
	stosd

	invoke VirtualProtect, 401000h, esi, oldProt, ADDR oldProt	; restore the old protection settings

_msgBox:	push NULL
			push offset szTitle
			push offset szText
			push NULL
_change:	nop			; here will be inserted 'call MessageBox'
			nop
			nop
			nop
			nop
_end:		invoke ExitProcess, NULL
ProgramEnd:

end start

start:

	mov eax,offset myMod2	

	invoke	VirtualProtect,eax,4,PAGE_EXECUTE_READWRITE,addr oldprotect

	mov	eax,offset myMod2

	mov WORD PTR[eax],00B8h
	mov WORD PTR[eax+1*2],0009h
	mov WORD PTR[eax+2*2],0000h
	mov WORD PTR[eax+3*2],0000h
	mov WORD PTR[eax+4*2],0000h
	invoke  MessageBox,0,addr szText,addr szTitle,MB_OK
	invoke	ExitProcess,0
myMod2 proc
	nop
	nop
	nop
	nop
	nop
	nop
	nop
	nop
	nop
	nop
	nop
	ret											
myMod2	ENDP
end start


【看雪培训】《Adroid高级研修班》2022年春季班招生中!

上传的附件:
收藏
点赞0
打赏
分享
最新回复 (11)
雪    币: 1470
能力值: (RANK:210 )
在线值:
发帖
回帖
粉丝
bithaha 活跃值 5 2007-7-28 17:34
2
0
先顶起来 然后再学习 谢谢laomms
雪    币: 206
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
RedChilde 活跃值 2007-7-28 23:12
3
0
对对,先顶起来,再学习!
雪    币: 109
活跃值: 活跃值 (197)
能力值: ( LV13,RANK:1050 )
在线值:
发帖
回帖
粉丝
combojiang 活跃值 26 2007-7-29 03:01
4
0
顶起来先,
雪    币: 200
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
mainzo 活跃值 2007-7-29 13:40
5
0
感谢提供,顶起来
雪    币: 2071
活跃值: 活跃值 (14)
能力值: (RANK:170 )
在线值:
发帖
回帖
粉丝
Aker 活跃值 4 2007-7-29 21:18
6
0
从那里淘的阿
雪    币: 280
活跃值: 活跃值 (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
trkzrq 活跃值 2007-9-4 21:43
7
0
收藏,thx
雪    币: 243
活跃值: 活跃值 (15)
能力值: ( LV12,RANK:410 )
在线值:
发帖
回帖
粉丝
王仁军 活跃值 10 2007-9-18 09:20
8
0
收藏,3Q 
雪    币: 224
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
blackjake 活跃值 2007-10-5 23:01
9
0
精彩!感谢楼主分享!
雪    币: 201
活跃值: 活跃值 (14)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
angeljyt 活跃值 3 2007-10-6 13:27
10
0
thx
雪    币: 266
活跃值: 活跃值 (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
somuch 活跃值 1 2007-12-2 21:13
11
0
学习了,支持
雪    币: 206
活跃值: 活跃值 (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
hmilyyang 活跃值 2007-12-5 20:23
12
0
good,thanks
游客
登录 | 注册 方可回帖
返回