首页
社区
课程
招聘
[已解决:MASM]我想在子程序里能修改传递过来的参数,该怎么做?
发表于: 2007-5-10 11:12 6235

[已解决:MASM]我想在子程序里能修改传递过来的参数,该怎么做?

2007-5-10 11:12
6235
我想在子程序里能修改传递过来的参数,该怎么做?,下面是代码片段:

Papi1 DWORD ?
ApiBak1 db 10 dup(?)
DllName1  db "kernel32.dll",0
ApiName1  db "OpenProcess",0

;======================================

HookApi proc  DllName:dword,ApiName:dword ,  Papi:dword , MyApi:dword ,ApiBak:dword

invoke GetApi,DllName,ApiName ;取API地址

mov Papi,eax    ;这里修改了无效,,并没有修改到参数,我该怎么做?
   
......
                                                
.HookApi endp

;=======================================

invoke HookApi,addr DllName1,addr ApiName1,addr Papi1,addr NowOpenProcess,addr ApiBak1

在线等,先谢谢了!

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (7)
雪    币: 642
活跃值: (2882)
能力值: ( LV10,RANK:170 )
在线值:
发帖
回帖
粉丝
2
试试:
push eax
pop Papi

PS:对你的完整代码很感兴趣...
2007-5-10 12:08
0
雪    币: 642
活跃值: (2882)
能力值: ( LV10,RANK:170 )
在线值:
发帖
回帖
粉丝
3
试试:
push eax
pop Papi

PS:对你的完整代码很感兴趣...
2007-5-10 12:09
0
雪    币: 750
活跃值: (228)
能力值: ( LV9,RANK:780 )
在线值:
发帖
回帖
粉丝
4
已经解决了,用的是"指针"

HookApi proc  DllName:dword,ApiName:dword ,  Papi:dword , MyApi:dword ,ApiBak:dword 

LOCAL ApiDz
 
invoke GetApi,DllName,ApiName ;取API地址

mov ApiDz,eax

mov eax,Papi    

assume eax:ptr  ;eax指向Papi

push ApiDz

pop [eax]

;.....

HookApi endp

;==============================

invoke HookApi,addr DllName1,addr ApiName1, addr Papi1,addr NowOpenProcess,addr ApiBak1
2007-5-10 12:12
0
雪    币: 750
活跃值: (228)
能力值: ( LV9,RANK:780 )
在线值:
发帖
回帖
粉丝
5
试过,无效!

我搞完后马上就开源的,呵呵

杀不死的进程
2007-5-10 12:13
0
雪    币: 247
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
不用那么麻烦 这么做
mov ebx,Papi
mov [ebx], eax
2007-5-10 17:15
0
雪    币: 750
活跃值: (228)
能力值: ( LV9,RANK:780 )
在线值:
发帖
回帖
粉丝
7
谢谢,我试下
2007-5-11 15:09
0
雪    币: 750
活跃值: (228)
能力值: ( LV9,RANK:780 )
在线值:
发帖
回帖
粉丝
8
刚试了下,可以,学习了!
2007-5-11 15:15
0
游客
登录 | 注册 方可回帖
返回
//