论坛风格切换切换到宽版
  • 10637阅读
  • 18回复

64位的用什么工具可修改偏移量,具体如何修改,求解 [复制链接]

上一主题 下一主题
离线vbuser

发帖
32
金钱
140
威望
14
只看该作者 10 发表于: 2013-03-25
海大,Athena-A 2.81 遇到个这个问题,非标软件下的 菜单,比如Open File 可以找到这个字符,也可以汉化,但用工具下的地址挪移时,找不到调用的地址。请问这是什么原因呢,是不是菜单是动态生成? (调用基址+偏移)来的。但除了菜单的其它字符都可以看到挪移调用地址。
离线海子

发帖
348
金钱
280
威望
28
只看该作者 11 发表于: 2013-04-06
32 位程序和 64 位的程序对字符串的调用确实不一样:
32 位直接引用的是字符串的虚拟地址,64 位 push 的是字符串的虚拟地址减去调用位置的虚拟地址,也就是说还是一个 4 字节大小的地址,这是程序优化的原因吗?不得而知,可能微软认为即使是 64 位的应用程序,单个可执行文件体积也不可能超过 4 G
宇宙经过120亿年的漫长进化才有一个独一无二的你存在这个世界上,其概率如此之小,已无法用数字来描述...
离线wanfu

发帖
2666
金钱
11510
威望
1151
只看该作者 12 发表于: 2013-04-08
回 12楼(海子) 的帖子
海子:32 位程序和 64 位的程序对字符串的调用确实不一样:32 位直接引用的是字符串的虚拟地址,64 位 push 的是字符串的虚拟地址减去调用位置的虚拟地址,也就是说还是一个 4 字节大小的地址,这是 .. (2013-04-06 20:41)

谢谢!学习了,一直找不到这方面的资料。这样的话,计算的工作量不知道要增加多少啊。
我看了你的程序,还是一个一个字节计算调用位置的虚拟地址,并对调用位置起的4个字节进行比对。
我用我的宏测试一下,速度根本就不行。
另外,这样计算的调用地址虚拟地址不是会出现负值,如果在大于字串所在节的其他节中查找的话。
所以,好像这样的调用地址都在字串所在位置的前面了。不知道这样理解对不对?
另外问一下,你的地址计算器计算64位PE的虚拟地址时为什么是10位5个字节的?而你上面说的是4个字节。
离线vbuser

发帖
32
金钱
140
威望
14
只看该作者 13 发表于: 2013-04-18
海大一句话,胜过读十年书!谢谢!
离线爱和承诺

发帖
100
金钱
10
威望
1
只看该作者 14 发表于: 2015-12-28
请问到底怎么修改64位的偏移量啊?谢谢
离线wanfu

发帖
2666
金钱
11510
威望
1151
只看该作者 15 发表于: 2015-12-28
回 14楼(爱和承诺) 的帖子
爱和承诺:请问到底怎么修改64位的偏移量啊?谢谢 (2015-12-28 18:20)

Athena-A 和 非标宏都可以查找和修改。
由于在 UE 中用引用代码查找到的不一定是真正的引用地址,故手动修改方法和 PE32 不一样,只能按照 Athena-A  或非标宏找到的引用地址和引用代码来修改。
建议不要手动修改,非标宏可以自动查找并修改,不需要人工干预,非常方便。
离线闭建长

发帖
99
金钱
940
威望
94
只看该作者 16 发表于: 2017-04-21
回 6楼(海子) 的帖子
海子:在《汉化工具》 板块已更新 [表情] 64 位程序手动挪移字符串请用 IDA Pro [表情]  (2012-08-31 17:05) 

Athena-A 挪移也会乱码的,UTF-8编码,原英文长度为4,翻译成中文为6(两个中文字),挪移后显示一个中文加一个黑方块乱码
离线kapa

发帖
31
金钱
301
威望
30
只看该作者 17 发表于: 2017-08-29
回 3楼(海子) 的帖子
海子:Athena-A  --> 工具  --> 地址挪移   [表情]很简单的 (2011-03-27 13:12) 

海子大神, Athena-A汉化非标很好用,就是字串会提取不全,不知道还有后续更新吗
离线kapa

发帖
31
金钱
301
威望
30
只看该作者 18 发表于: 2017-11-08
Wanfu大大开发的非标字串红可以自动挪移