戏++ 发表于 2016-7-26 23:39:24

我想修改某个动态库的汇编代码,关于重定向的问题

主要是这个动态库是被动态加载的,我用OD修改后,程序可以正常运行,但是把dll保存后,下次在把程序开启来,就报错了
我感觉是因为重定向引起的问题,因为这个dll的基地址会变,请问下有啥办法可以解决吗,我只想修改这个dll

xieglt 发表于 2016-9-28 20:14:22

本帖最后由 xieglt 于 2016-9-28 20:20 编辑

自己重定位啊

          CALL   _delta
_delta:
          POP      EBX
          SUB      EBX,OFFSET _delta
          ...

凡是有地址引用的地方加上 EBX 就可以了
比如说 :

szHelloDB'Hello,world',0

          CALL   _delta
_delta:
          POP      EBX
          SUB      EBX,OFFSET _delta
          LEA       EAX,OFFSET szHello
页: [1]
查看完整版本: 我想修改某个动态库的汇编代码,关于重定向的问题