秦殇吧 关注:15,969贴子:234,601
  • 17回复贴,共1

dll改成固定地址加载

只看楼主收藏回复

因为dll文件存在重定位问题,而重定位编辑很麻烦,根据@Lenual6 的提示,现在已经规避重定位了。


IP属地:湖南1楼2019-02-07 23:36回复
    工具软件
    CFF Explorer.exe


    IP属地:湖南2楼2019-02-07 23:41
    回复


      先把游戏目录里面的dll都删了,运行exe,报错找不到gfx3d,找不到dll的顺序就是这个表的顺序,更改顺序,把easyrpg放第一个,然后提示就变成了找不到easyrpg了。



      IP属地:湖南3楼2019-02-07 23:44
      收起回复

        改完poq后改easyrpg,基址不是1000000就可以了。


        IP属地:湖南4楼2019-02-07 23:46
        收起回复

          进od,dll的地址已经固定了。


          IP属地:湖南6楼2019-02-07 23:58
          回复
            然后就是扩充dll的代码空间,空间不够,加个区段上去,可以无视重定位,像改exe一样改dll了。


            IP属地:湖南7楼2019-02-08 00:00
            回复
              点赞 新年快乐


              IP属地:黑龙江来自Android客户端8楼2019-02-08 12:42
              回复
                其实重定位也就多一行call,能直接改的不用重定位,需要重定位的区段大小绝对够。唯一的好处就是能够复制粘贴了,但是问题来了,能复制粘贴还修改什么?


                来自Android客户端9楼2019-02-08 15:18
                收起回复
                  刚刚的被度娘吞了,exe装载的第一个用户dll,是默认地址加载的,其他的dll因为默认地址被占用,就会触发重定位更改基址,根据这个原理,把easyrpg改成第一个加载,就能避免地址被重定位了,通常一个exe只有一个dll无需重定位,当然更改dll的基址可以让更多的dll无需重定位,但是要让这些dll优先加载,否则容易出现地址冲突。


                  IP属地:湖南来自Android客户端11楼2019-02-09 13:14
                  回复
                    这些修改是毫无技术含量的,但是相关修改应用资料很少,留帖参考。


                    IP属地:湖南来自Android客户端12楼2019-02-09 13:17
                    回复