首页
社区
课程
招聘
[分享]淘来的几个SMC代码
发表于: 2007-7-28 15:30 7780

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

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


[课程]Android-CTF解题方法汇总!

上传的附件:
收藏
免费 7
支持
分享
最新回复 (11)
雪    币: 1505
能力值: (RANK:210 )
在线值:
发帖
回帖
粉丝
2
先顶起来 然后再学习 谢谢laomms
2007-7-28 17:34
0
雪    币: 206
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
对对,先顶起来,再学习!
2007-7-28 23:12
0
雪    币: 321
活跃值: (271)
能力值: ( LV13,RANK:1050 )
在线值:
发帖
回帖
粉丝
4
顶起来先,
2007-7-29 03:01
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
感谢提供,顶起来
2007-7-29 13:40
0
雪    币: 2134
活跃值: (14)
能力值: (RANK:170 )
在线值:
发帖
回帖
粉丝
6
从那里淘的阿
2007-7-29 21:18
0
雪    币: 280
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
收藏,thx
2007-9-4 21:43
0
雪    币: 314
活跃值: (15)
能力值: ( LV12,RANK:410 )
在线值:
发帖
回帖
粉丝
8
收藏,3Q 
2007-9-18 09:20
0
雪    币: 224
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
精彩!感谢楼主分享!
2007-10-5 23:01
0
雪    币: 222
活跃值: (15)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
10
thx
2007-10-6 13:27
0
雪    币: 282
活跃值: (31)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
11
学习了,支持
2007-12-2 21:13
0
雪    币: 213
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
good,thanks
2007-12-5 20:23
0
游客
登录 | 注册 方可回帖
返回
//