·汉化新世纪 ·汉化新世纪论坛 ·百家争鸣 ·论坛集萃 ·汉化问答 ·软件介绍
文章首页 >> 汉化教学 >> 特殊汉化 >> 用TRW改字体一点心得--帮大家练练TRW:)    Creative Commons License,创作共用协议(中文版)  署名 非商业性使用 禁止演绎

用TRW改字体一点心得--帮大家练练TRW:)

作者: 雅枫 来源:汉化新世纪论坛 时间:2003-10-12 点击:8009

  好久没玩汉化啦,偶有兴致到新世纪一逛,看有没新好东东。发现JINGULONG老兄的FONTSET人气不错,说实话,这类工具偶是不用的。原因嘛,程序是死的,人是活的,用没有智商的软件去应付千变万化的程序心里总有些不踏实吧?还是自己手改来得实在,虽然麻烦一些可也更灵活一些,也不会被那些破杀毒软件起疑心:)还能顺便提高一下自己的水平,何乐而不为呢?不过呢,爱试用软件乃我一大嗜好(看着软件不run一下就有点手痒,贱吧?因为这我可没少吃病毒、木马的苦头,咳我这人就是不吸取教训)所以呢也不管什么3721啦,gogogo!!!down一个回来,接下来当然是解压缩run之了,论坛上说在“酒吧”上有运行问题,偶可没发现(咪咪发现啦,可能偶不喜欢装些乱七八糟的东东吧:)两个例子也改好啦,一点问题都没有,jingulong高!实在是高呀。且慢,为啥明明两个软件一样的效果改法还不相同呢?突然我记起梁老大的推波助澜来啦,当时只记得梁兄给jingulong出题也懒得去碰,现在找上门来啦岂有不碰之理?不碰不打紧,一碰碰出问题来啦。差点没晕死,首先一个倒霉的便是fontspy,这倒霉蛋啥也没拦截到,下一个倒霉的便是大名鼎鼎的w32dasm有没有搞错?不但没什么createfonta,就是creatfontindirecta与getstockobject也一齐失踪,在输入函数中也没有:(,我就用exescope看输入表,一点影子都没有,就是那孤苦伶仃的几个小函数,郁闷ing。555……失望呀,看来偶这智商连个小小的软件都不如啦!得,找个地方以头抢地尔去吧。
   d32dasm倒下啦,我到记起还有个与之齐名的国人之骄傲trw2000来啦(谁让咱是伟大的中国人哪)虽然偶还不会用,但也凑合着用吧,说不定瞎猫还能碰个死耗子的说。一试不打紧,bpx createfonta,bpx createfontindirecta,bpx getstockobject,然后G呵呵这些可爱的API在向我招手呢,既然找到了就好办啦,我手舞足蹈了一个半小时才想到为啥本来这些在输入表中没有的API在TRW2000下就现身了呢?百思之下才想到DLL是可以动态调用的(Kao,这还用百思,看来偶智商确实出问题啦!)梁兄肯定用的是动态调用啦,输入表中的loadlibrarya就是证明!梁兄也真TM厉害,一个小小的程序竟害的我晕了半天:不但API被藏了,里边是一个call ebx接着一个call esi,W32DASM算白学啦,这没用花指令的东东比用了花指令的还妙:(看来如果让梁兄写加密狗的话,咱们这些菜鸟CREAKER们也就甭混啦!废话不说了,先休息一下,整理一下思路写一篇心得出来(新世纪现在还没有此类的文章吧?)虽然这个比较简单,似乎不值得写,也没太必要写,但不写写总闷的慌(一个字,贱!)就权当陪大家练练TRW2K的使用吧。
            用TRW2000修改软件的字体
   先说说用到的工具:TRW2000自然必不可少,剩下的就是还要一款HEX编辑器,UE,WINHEX,HWS随便用只要用着顺手,我用的是HEDIT,最后就是最好有个偏移量计算器,就用梁兄编的那个吧。
   首先当然是打开TRW2000载入文件啦,说起TRW2000可是咱中国人的骄傲啦……(此处省去千余字赞美之词)打开后点击“浏览”找到程序,后确定,然后点“载入”紧接着便出现了TRW2000的工作界面,图我就不截啦,反正你的机器上就有接下来当然是下断点啦,一个一个来,首先是
bpx createfonta<回车>然后
g<回车>///(bpx命令是下断点,即运行到该API处停下来,g即为go命令,相当于快捷键F5,是运行该软件)怎么样?断在createfonta上了吧?咦怎么不是在软件的领空,而是在GDI32的领空呢?这也是一般不用TRW改字体的原因了,因为TRW是从底层中断的(要不也拦不下来了)当然中断在包含该API的DLL中了,不过也没什么,返回来不就结了?按一下F12(这个命令的作用是让软件停在RET处,RET不就是返回主程序吗?)再按一次F8(这命令是单步执行一条指令,刚才挺到RET了,再执行这个RET不就返回来了)回到了程序的领空,呵呵,按住CTRL,再按上箭头,你会发现是标准的CFA调用,怎么改嘛……该不用我嚼舌头了当然是语系,宋体,F4了。接下来是createfontindirecta,其实这软件很小,除了设置字体别也没什么功能,在上边的操作后直接按F10(单步执行,与F8相似,不同是碰到CALL不会跟进去)一会儿所有的字体设置就都出来啦,不过这样对付别的软件就同大海捞针了,还是下段点来得通用,
BC*<回车>////清除所有断点然后
bpx createfontindirecta<回车>//在cfia(createfontindirecta)上下断点
g<回车>///go运行,程序断在了CFIA处然后故技重演
F12
F8 ///又回到程序领空啦,
CTRL+(上方向键)///往上翻看到有个PUSH XXXXXXXX(是什么记不清啦)
然后就是:
D XXXXXXXX ///查看XXXXXXXX处内容,呵呵这不是LOGFONT结构么?是E2FFFFFFFF……
          ///说明字体大小是E2,我们改成F4就可以啦!怎么改呢?在TRW2K中是没法改                                   ///的这就用到HEX编辑器了,先在TRW中向上翻不远你会发现有一句MOV XXX,E2这一句当然是把E2写到LOGFONT中去了,只要改成MOV XX,F4就OK啦,记下这个指令的偏移量,填入偏移量转换器中的“虚偏移”让他给你算出偏移量,然后到软件中定位修改就可以了,另一个办法是在TRW中输入CODE ON命令(打开代码窗口),抄一段代码下来直接查找十六进制,找到后修改就可以了,在内存窗口中还可以看到字体是ARIAL,找到它改成宋体就成了,其实不改也无所谓的说。初学者可能不会退出TRW2K我就说说,我一般是先BD* 然后X 或g 就退出来了。下一次进去后再BE* 恢复断点就可以了(我懒,懒得去重新下断点:()你也可以
用 BL命令查看断点列表。
   接下来轮到GETSTOCKOBJECT受摧残了,当然还是bpx getstockobject
g<回车> ///断下来,我再F12,F8……等等,按了一下F12软件咋运行了???我晕
bd*<回车>
x<回车>//退出TRW
重新载入软件,be*<回车>//恢复断点
g<回车>//断下来后不敢F12了,按F10吧,才运行两步竟然来了RET,磔磔怪事呀,刚才F12怎么没停这儿那,我懒得管他了,按一次F8先,呵呵,回到了程序领空啦,向上面一样记下这个地方的位置(地址,代码均可)再找下一个,一会儿就找完啦,然后用HEX编辑器定位修改就成了把这一句前边的6AXX,全改成6A11,保存就行了
还有一点值得指出,这样改CREATEFONTINDIRECTA的字体,并没有改成宋体,不过我觉得对于英文反而更好看一些,只要不出乱码,这样改还是值得提倡的,还有就是,一般LOGFONT的赋值也一般没这么直接,一般不会直接MOV XXXXXXXX,E2的,这样的话,你可以下E2的地址的内存断点方法是bpm [地址]这样程序就会断在修改LOGFONT的地方啦,怎么改就你说了算啦。还有一点,就是,如果CALL CFIA的前一句是PUSH了EAX,那么,DEAX一般是不会到达LOGFONT的地址的,为什么呢,因为现在已经执行了这个函数,函数的返回值早就把原来EAX中的地址冲掉了,当然就过不去,可以退出TRW再中断一次(不要向下运行),这时堆栈中的值就是LOGFONT的地址了,或者直接下bpx CFIA地址 ,断下后直接DEAX也可。
   呵呵,累死我了,写到这儿吧,肯定好多地方写的不太清楚,如果你还不太会用TRW2000尽量按我写的顺序跟踪一下,如果有问题,可以回帖问,不过这几天我罕有上网了,好在新世纪论坛上的炎炎,SIMON,NEWWISH,天秤雨,飞速等都是汉化高手加破解高手,他们的TRW2000肯定用的比我还溜,就去麻烦他们吧:)

汉化新世纪 责任编辑: 乾 .:|:. 标签(Tag): 字体 TRW

·上一篇: 小议软件汉化中的测试问题 ·下一篇: Palm程序汉化补丁的制作、转换与使用

· 版权申明: 本文引自《汉化新世纪论坛》,如有版权疑问请及时联系本站,以便本站处理。

· 转载申明: 本文引自《汉化新世纪论坛》[ 作者: 雅枫],如需转载请直接联系原始作者,并请注明原始出处。

相关文章                                                                                发表评论 打印此文 关闭窗口

| 设为首页 | 加入收藏 | 联系我们 | 友情链接
Creative Commons License,创作共用协议(中文版)  署名 非商业性使用 禁止演绎
本站内容,除转载或版权特别申明的内容外,皆遵守 创造共用协议中文版之“署名-非商业性使用-禁止演绎 2.5 中国大陆”条款
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 2.5 China License.
本网站内容源自汉化新世纪论坛的摘录和汉化新世纪成员的原创文章。
凡汉化新世纪论坛的文字皆默认为汉化新世纪与原作者共同拥有并授权发布。
如对本站发布文章有所异议请来信告知,我们将及时删除。
凡商业摘录本站文字请先与我们联系,本站将保留非授权商业发布的追究权利。
凡非商业摘录本站文字请明显注明出处和原作者,并不得改动,凡改动必先征求原作者同意。
苏ICP备05002283号