首页
社区
课程
招聘
[求助]自己写的dll修改某个exe里的地址内容,网上找不到这个技术
发表于: 2017-8-30 17:52 3504

[求助]自己写的dll修改某个exe里的地址内容,网上找不到这个技术

2017-8-30 17:52
3504

图上 lisen2.dll 是我写的简单的int add(int a, int b) 函数

a.exe 调用 lisen2.dll 

现在想写一个 a.dll,用LordPE把a.dll的nad导入到 a.exe

不知道怎么用a.dll修改里的nad 函数初始化修改 013718a8 这个OD地址的内容,修改成 a.dll 里的 nadd() 这个地址。

自己参照写的不能实现WIN7系统

void WriteMemoryFuction(int InAddress, int fuction)

{

char data[5] = { 0x00, 0x00, 0x00, 0x00, 0x00 };

*(int *)&data[0] = fuction - InAddress - 5;

memcpy((void *)InAddress, data, sizeof(data));

}

int nadd(int a, int b);

void nad()

{

WriteMemoryFuction(0x013718a8, (int)nadd);

}

求助那里不对?



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

收藏
免费 0
支持
分享
最新回复 (6)
雪    币: 150
活跃值: (1105)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
求助,知道这个方法的说下
2017-8-30 19:24
0
雪    币: 62
活跃值: (36)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3


*(char*)InAddress  =0xE8;
*(int*)(InAddress+1)=  fuction–4  - ( InAddress+1);
*(char*)(InAddress+5)=0x90;

2017-8-30 22:37
0
雪    币: 116
活跃值: (210)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
你确定从理论上这个是可行的吗
2017-8-31 10:51
0
雪    币: 150
活跃值: (1105)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
hjhwoaini *(char*)InAddress  =0xE8;*(int*)(InAddress+1)=  f ...
搞定了  已经自己解决了  ,楼上这个也可以

*(char*)InAddress    =0xE8;
*(int*)(InAddress+1)=    fuction–4    -  (  InAddress+1);
*(char*)(InAddress+5)=0x90;
2017-8-31 13:48
0
雪    币: 137
活跃值: (1548)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
这个技术是不是叫做inline  hook?
2017-9-11 18:16
0
雪    币: 775
活跃值: (2292)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
7
void inlineHook(LPVOID HookAddr,LPVOID HookProc)
{
char jmpInBuffer[5];
jmpInBuffer[0] = 0xE9;
int* pJmpInOffset = (int*)&jmpInBuffer[1];
*pJmpInOffset = (char*)HookProc - ((char*)HookAddr + 5);
memcpy((char*)HookAddr, jmpInBuffer, 5);
}
IAT HOOK也可以的

2017-9-11 18:47
0
游客
登录 | 注册 方可回帖
返回
//