zhuayi112 发表于 2017-8-30 17:06:10

求助自己练习用dll修改exe某个地址内容问题

自己写了一个a.dll 导出函数 add
int add(int a, int b)
{
return a+b;
}

a.exe 里调用这个a.dll


现在想在写个b.dll ,直接修改这个 exe 中调用a.dll



假设用OD看a.exe 调用a.dll 地址是 0x001b3040 现在用LordPE 把 b.dll 加载到a.exe里 导出函数为newadd ()
nadd(int a, int b)
{
return a+b * 2;
}
newadd()
{
        char data = { 0x00, 0x00, 0x00, 0x00, 0x00 };
        *(int *)&data = nadd - 0x001b3040 - 5;
        memcpy((void *)0x001b3040, data, sizeof(data));

}

为什么不行,没效果请问这个是那里错了?

zhuayi112 发表于 2017-8-30 19:25:37

会的能解释下吗

longfei 发表于 2017-8-30 21:06:50

不知道,前排支持

zhuayi112 发表于 2017-8-31 13:49:32

已经自己解决了

xie83544109 发表于 2017-8-31 22:26:41

楼主肿么实现地
页: [1]
查看完整版本: 求助自己练习用dll修改exe某个地址内容问题