通达信顶栏关于重定位修改的教程
-
相关简介:修改的dll 文件,需要处理重定位。 方法1)在rloc后面直接添加定位表 方法2)利用call的自定位 例子是顶栏的时间和未登录读取顶栏文字颜色。 方法1
-
文章来源:股海网作者:股海网发布时间:2021-04-24浏览次数:
修改的dll 文件,需要处理重定位。
方法1)在rloc后面直接添加定位表
方法2)利用call的自定位
例子是顶栏的时间和未登录读取顶栏文字颜色。
方法1
方法2
添加VA ,size of block(0C),然后typeoffset 3322 333A
typeoffset分高4位和低12位,高4位是重定位类型(0、3、10),低12位是重定向地址。
对的,VA是1000的倍数,所以我这个位置是7D000,C这里是typeoffset的倍数,1个是A 2个是C,3个是E,4个是10,
得了,可以自己修改reloc了。这是添加块。
这个例子是,OD把DLL加载到了默认基地址10000000. 如果基地址变成了比如73000000,可以这样加吗?VA怎么计算?
在OD中,对原来需要重定位的代码作修改,改成没有必要重定位的代码是不可以的(会被重定位篡改)。这时要怎么编辑重定位表?
你找到原来的位置的呀,dll加载内存的位置由系统决定定的,exe跟原来的一样的,所以exe可以删除reloc。dll你改变原先,可以找到原来的定位位置修改即可,我最多修改过500多个地方,完全是体力活
VA+OFFSET就是定位的呀,这个由于大小的限制,所以分成很多块