Programming 版 (精华区)
发信人: ffzh (★铁马冰河★), 信区: Programming
标 题: 游戏汉化教程--3
发信站: 哈工大紫丁香 (2001年03月29日16:45:47 星期四), 站内信件
忘记说说怎么跟踪DrawChar()这个函数了。
当然,需要前面的基础。
在找到DrawString()这个函数之后,再接着找DrawChar,就是顺藤摸瓜,非常方便
的事情。回想一下DrawString()函数中的那个for循环,一直跟进去,就能找到地
方了。
再向大家讲述一些精要,关于如何确定地址。
1. 不妨修改程序,把某个函数的第一句话改成ret (或者ret xxx, 其中xxx参数是
原来程序的返回参数,表示对esp的修改,照抄就行了,抄错了你就死定了)。看看
是否所有的文字都消失了?
2. 不妨修改参数,把那些成对出现的,值域在[0,640],[0,800],[0,1024](依据显
示分辨率而定,差不多就可以了)之间的数值修改修改,看看会不会影响字符的位
置。
3. 在DrawChar最最内部,不再出现任何的call的地方,如果遇上内存操作指令,
而来源/目的指针指向的地方有大量重复,有规则的内容,则非常有可能是位图。
不妨向里面fill它一千个字节,看看屏幕变化,可能出人意料哦。
4. 不妨……自己摸索去
--
※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: vilab.hit.edu.cn]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:5.089毫秒