-
-
[旧帖] [原创]简单HOOK按键神盾试用时间 0.00雪花
-
发表于: 2008-6-15 16:18 3984
-
【文章标题】: 简单HOOK按键神盾试用时间
【文章作者】: 卡卡
【作者邮箱】: squnmm520@hotmail.com
【作者QQ群】: 18383453
【下载地址】: http://down.vrbrothers.com/qm6chs_683_reg_0522.zip
【作者声明】: 只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教!
--------------------------------------------------------------------------------
【详细过程】
试用时间10分钟,转换为16进制就是927C0毫秒
UINT_PTR SetTimer(
HWND hWnd, // handle to window 【esp+4h】
UINT_PTR nIDEvent, // timer identifier 【esp+8h】
UINT uElapse, // time-out value 【esp+Ch】
TIMERPROC lpTimerFunc // timer procedure 【esp+10h】
);
bp SetTimer [esp+c]==927C0
点神盾,断下,反汇编跟随到程序领空,突现VM,那就HOOK下时间算了
下面是ASM代码,如果有个DLL更稳定,但是我喜欢没有DLL的
.386
.model flat, stdcall
option casemap :none
include windows.inc
include user32.inc
includelib user32.lib
include kernel32.inc
includelib kernel32.lib
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
.data
FileName db 'icy.exe',0
hook db 0b8h,00h,00h,00h,00h,0ffh,0e0h,90h,90h,90h
.data?
lpSetTimer dd ?
lpRemoteCode dd ?
mbi MEMORY_BASIC_INFORMATION<?>
lpapibak dd ?
hSnapShot dd ?
stProcess PROCESSENTRY32 <?>
hProcess dd ?
.const
sz123 db 'SetTimer',0
szUser32dll db 'User32.dll',0
.code
REMOTE_CODE_START:
_lpSetTimer dd ?
Shellcode proc
call @F
@@:
pop ebx
sub ebx,offset @B
.if dword ptr [esp+0ch]==927C0h;判断是要HOOK的时间?是就先还原API头N个字节,然后直接返回0
mov eax,[ebx+ _lpSetTimer]
mov dword ptr [eax+1], 121Eh
mov byte ptr [eax+1+4], 0bah
mov dword ptr [eax+1+1+4], 7FFE0300h
mov eax,0
ret 10h
.endif
mov ebx,[ebx+ _lpSetTimer]
add ebx,0ah
mov eax, 121Eh
mov edx, 7FFE0300h
jmp ebx
Shellcode endp
REMOTE_CODE_END:
start:
invoke LoadLibrary ,addr szUser32dll
invoke GetProcAddress,eax,addr sz123
mov lpSetTimer,eax
invoke RtlZeroMemory,addr stProcess,sizeof stProcess
mov stProcess.dwSize,sizeof stProcess
invoke CreateToolhelp32Snapshot,TH32CS_SNAPPROCESS,0
mov hSnapShot,eax
invoke Process32First,hSnapShot,addr stProcess
.while eax
invoke lstrcmp,addr FileName,addr stProcess.szExeFile
.if eax == NULL
invoke OpenProcess,PROCESS_ALL_ACCESS,FALSE,stProcess.th32ProcessID
mov hProcess,eax
invoke VirtualAllocEx,hProcess,NULL, REMOTE_CODE_END-REMOTE_CODE_START, MEM_COMMIT, PAGE_EXECUTE_READWRITE
mov lpRemoteCode, eax
add eax,4h
mov dword ptr[hook[1]],eax
invoke VirtualQueryEx,hProcess,lpSetTimer,addr mbi,SIZEOF MEMORY_BASIC_INFORMATION
invoke VirtualProtectEx,hProcess, mbi.BaseAddress,0ah,PAGE_EXECUTE_READWRITE,addr mbi.Protect
invoke WriteProcessMemory,hProcess,lpSetTimer,offset hook,0ah,0
invoke WriteProcessMemory,hProcess, lpRemoteCode, offset REMOTE_CODE_START, REMOTE_CODE_END-REMOTE_CODE_START, NULL
invoke WriteProcessMemory,hProcess, lpRemoteCode,offset lpSetTimer,sizeof dword,NULL
invoke ExitProcess, 0
.endif
invoke Process32Next,hSnapShot,addr stProcess
.endw
end start
备注:如果你要用这代码生成的EXE来HOOK神盾试用时间.先选择好神盾要过得游戏后,在启动神盾保护前,运行下EXE,就可以!
--------------------------------------------------------------------------------
【版权声明】: 本文原创于外面下着大雨只能吃米线时, 转载请注明作者并保持文章的完整, 谢谢!
2008年06月15日 16:07:16
【文章作者】: 卡卡
【作者邮箱】: squnmm520@hotmail.com
【作者QQ群】: 18383453
【下载地址】: http://down.vrbrothers.com/qm6chs_683_reg_0522.zip
【作者声明】: 只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教!
--------------------------------------------------------------------------------
【详细过程】
试用时间10分钟,转换为16进制就是927C0毫秒
UINT_PTR SetTimer(
HWND hWnd, // handle to window 【esp+4h】
UINT_PTR nIDEvent, // timer identifier 【esp+8h】
UINT uElapse, // time-out value 【esp+Ch】
TIMERPROC lpTimerFunc // timer procedure 【esp+10h】
);
bp SetTimer [esp+c]==927C0
点神盾,断下,反汇编跟随到程序领空,突现VM,那就HOOK下时间算了
下面是ASM代码,如果有个DLL更稳定,但是我喜欢没有DLL的
.386
.model flat, stdcall
option casemap :none
include windows.inc
include user32.inc
includelib user32.lib
include kernel32.inc
includelib kernel32.lib
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
.data
FileName db 'icy.exe',0
hook db 0b8h,00h,00h,00h,00h,0ffh,0e0h,90h,90h,90h
.data?
lpSetTimer dd ?
lpRemoteCode dd ?
mbi MEMORY_BASIC_INFORMATION<?>
lpapibak dd ?
hSnapShot dd ?
stProcess PROCESSENTRY32 <?>
hProcess dd ?
.const
sz123 db 'SetTimer',0
szUser32dll db 'User32.dll',0
.code
REMOTE_CODE_START:
_lpSetTimer dd ?
Shellcode proc
call @F
@@:
pop ebx
sub ebx,offset @B
.if dword ptr [esp+0ch]==927C0h;判断是要HOOK的时间?是就先还原API头N个字节,然后直接返回0
mov eax,[ebx+ _lpSetTimer]
mov dword ptr [eax+1], 121Eh
mov byte ptr [eax+1+4], 0bah
mov dword ptr [eax+1+1+4], 7FFE0300h
mov eax,0
ret 10h
.endif
mov ebx,[ebx+ _lpSetTimer]
add ebx,0ah
mov eax, 121Eh
mov edx, 7FFE0300h
jmp ebx
Shellcode endp
REMOTE_CODE_END:
start:
invoke LoadLibrary ,addr szUser32dll
invoke GetProcAddress,eax,addr sz123
mov lpSetTimer,eax
invoke RtlZeroMemory,addr stProcess,sizeof stProcess
mov stProcess.dwSize,sizeof stProcess
invoke CreateToolhelp32Snapshot,TH32CS_SNAPPROCESS,0
mov hSnapShot,eax
invoke Process32First,hSnapShot,addr stProcess
.while eax
invoke lstrcmp,addr FileName,addr stProcess.szExeFile
.if eax == NULL
invoke OpenProcess,PROCESS_ALL_ACCESS,FALSE,stProcess.th32ProcessID
mov hProcess,eax
invoke VirtualAllocEx,hProcess,NULL, REMOTE_CODE_END-REMOTE_CODE_START, MEM_COMMIT, PAGE_EXECUTE_READWRITE
mov lpRemoteCode, eax
add eax,4h
mov dword ptr[hook[1]],eax
invoke VirtualQueryEx,hProcess,lpSetTimer,addr mbi,SIZEOF MEMORY_BASIC_INFORMATION
invoke VirtualProtectEx,hProcess, mbi.BaseAddress,0ah,PAGE_EXECUTE_READWRITE,addr mbi.Protect
invoke WriteProcessMemory,hProcess,lpSetTimer,offset hook,0ah,0
invoke WriteProcessMemory,hProcess, lpRemoteCode, offset REMOTE_CODE_START, REMOTE_CODE_END-REMOTE_CODE_START, NULL
invoke WriteProcessMemory,hProcess, lpRemoteCode,offset lpSetTimer,sizeof dword,NULL
invoke ExitProcess, 0
.endif
invoke Process32Next,hSnapShot,addr stProcess
.endw
end start
备注:如果你要用这代码生成的EXE来HOOK神盾试用时间.先选择好神盾要过得游戏后,在启动神盾保护前,运行下EXE,就可以!
--------------------------------------------------------------------------------
【版权声明】: 本文原创于外面下着大雨只能吃米线时, 转载请注明作者并保持文章的完整, 谢谢!
2008年06月15日 16:07:16
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)
赞赏
他的文章
- [原创]简单HOOK按键神盾试用时间 3985
- [原创]获取游戏参数ASM源码 3877
- [原创]按键精灵商业版外挂破解--之--DOFUS循环战斗元旦版篇 18838
- [推荐]人家是怎么破风火小强1.18A的 5094
- [原创][菜鳥動畫片]易语言事件按钮的终极解决方法 6198
谁下载
sunyw001
xingbing
刘国华
llc1968
laomms
yunfeng
sungy
sulme
松松
学习
Winter-Night
xzchina
Aaron
amd
kingime
tobby
fivewin
chsml
fob
tobybird
sdttn
gtboy
lbool
cooljc
逸云
sxniao
caierhuan
womapeng
学习破解
lonkil
flyrob
haida
pkcmd
lsjs
leafive
陈光绪
dandan
破解领域
yigeren
muyi
hellzealot
阳小子
playboyjin
gxwtk
卡秋莎
diaowubin
hjonline
andylori
lyingsoft
XiaoYo
seizeme
ruffy
啊坏
cokecat
稀里糊涂
maokebied
xiaoligogo
ladder
shileifull
bgcelite
nplaosan
hackerqian
tycp
jjyyedc
rwi
gamestupid
cxliang
mood
softmasm
NETSYSKEY
我好你好
fsf
frozenrain
tommeme
mmwin
jindaxia
lunglungyu
hacktrace
kankanyhc
哈哈在世
shwsf
ximo
kghong
范范love
xuplus
长风changf
xieph
小花
小黑冰
minghacker
bbslong
xzup
Dintal
周总裁
liuyangder
樊盟
pencochen
lovtt
kangcin
netsnowfly
看原图
赞赏
雪币:
留言: