能力值:
( LV3,RANK:20 )
|
-
-
2 楼
从右往左挨个push呀
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
这个我都会了,不就从又往左的顺序逐个push,push完后就call你要的函数地址
|
能力值:
( LV4,RANK:50 )
|
-
-
4 楼
参数从右到左一个个push再call
fun(1,2,3)
push 3
push 2
push 1
call fun
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
谢谢大家,回头我去试试
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
额,没起作用啊,是不是我写错了,大家帮忙看看 00470060 . 53 4F 46 54 5>ASCII "SOFTWARE\\Micros"
00470070 . 6F 66 74 5C 5>ASCII "oft\\Windows\\Cu"
00470080 . 72 72 65 6E 7>ASCII "rrentVersion\\Ex"
00470090 . 70 6C 6F 72 6>ASCII "plorer\\Browser "
004700A0 . 48 65 6C 70 6>ASCII "Helper Objects\\"
004700B0 . 7B 36 39 39 4>ASCII "{699F265D-7009-4"
004700C0 . 45 33 35 2D 3>ASCII "E35-8B91-6B19B01"
004700D0 . 39 36 37 30 4>ASCII "9670C}",0
004700D7 00 DB 00
004700D8 > $ 6A 00 PUSH 0
004700DA . 90 NOP
004700DB . 6A 00 PUSH 0 ; /pHandle = NULL
004700DD . 68 60004700 PUSH auclt.00470060 ; |Subkey = "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Browser Helper Objects\\{699F265D-7009-4E35-8B91-6B19B019670C}"
004700E2 . 68 02000080 PUSH 80000002 ; |hKey = HKEY_LOCAL_MACHINE
004700E7 . E8 07BC9577 CALL ADVAPI32.RegCreateKeyA ; \RegCreateKeyA
004700EC .^ E9 AF2CFFFF JMP auclt.00462DA0
我已经将程序入口改成了004700D8。写入注册表后将跳至原来的入口
但实际是注册表没写进去,原来的程序也执行不了,请问一下为什么没成功写入注册表?
我就是想创建HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Browser Helper Objects\\{699F265D-7009-4E35-8B91-6B19B019670C}
这个项
|
能力值:
( LV5,RANK:66 )
|
-
-
8 楼
[QUOTE=bllqbz;992982]额,没起作用啊,是不是我写错了,大家帮忙看看
LONG RegCreateKey(
HKEY hKey, // handle to an open key
LPCTSTR lpSubKey, // subkey name
PHKEY phkResult // buffer for key handle
);
第三个参数是个指针,你PUSH 0,怎么接受返回值
不想弄全局变量,简单的创建指针的操作如下(当然,得考虑不能破坏之前的堆栈,这是感染型病毒常用的一些手法)
push 0
push esp
push //其他参数
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
噢 ,原来如此,刚才试了一下,果然可以,谢谢这位朋友 了
|
|
|