万王之王 KOK King of Kings

 找回密码
 加入我们
查看: 2789|回复: 18

抛砖引玉----汉化思路(附汉化源码)

[复制链接]
发表于 2011-3-15 10:36 | 显示全部楼层 |阅读模式
本帖最后由 zjbak 于 2011-3-15 12:29 编辑

希望给大家一点启发:

汉化的制作过程
用到的软件:
stud_pe      pe文件修改
od             这个不用我介绍了吧
c++编译器

1、编写dll
我的函数原型:
extern "C" __declspec(dllexport)  void _stdcall kokclog(char* logstring,size_t sum)
说明: 导出函数,由king.exe调用
参数: longstring-----缓冲区首地址
   sum    -----缓冲区长度
功能:将缓冲区的乱码替换为中文
  使用_stdcall由函数自己清理堆栈
2、将dll注入king.exe
这里要用到stud_pe


加入成功后



上面显示kokc.dll已经注入king.exe了,现在kokc.dll已经可以随king.exe启动了
下面要修改客户端,让客户端来调用dll中的导出函数
首先在内存中调试



在上面我将解密函数的最后一段汇编程序改成了一个跳转语句,jmp 004c9cd9

下面将004c9cd9处改成调用dll的导出函数






这句汇编就是调用导出函数
004C9CE0   .  FF15 35B15200 CALL DWORD PTR DS:[<&kokc._kokclog@8>]   ;  kokc._kokclog@8
其实是这样的:
call [52b135]
这个[52b35]就是king.exe的基址[40000]+注入后的函数地址[12b135]
调试成功后,我们可以使用ue或者c32asm修改king.exe相应位置的数据.


stud_pe:



源码:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?加入我们

x
发表于 2011-3-15 10:45 | 显示全部楼层
完了 一点都没看懂 膜拜大神
发表于 2011-3-15 11:12 | 显示全部楼层
说真的,感觉很犀利,但是其实我是一头雾水
发表于 2011-3-15 21:33 | 显示全部楼层
每個字都看得懂
連結起來卻看不懂
回憶做了件大事
鼓勵鼓勵!!!
发表于 2011-3-15 22:20 | 显示全部楼层
当汉化进行到比较大的规模时,可能会有数据溢出的问题。
发表于 2011-3-16 10:50 | 显示全部楼层
目前碰到的比较难缠的问题就是,
汉化技能名称。
例如汉化回时、时爆等。
汉化后,技能图标在技能栏消失。而且不能使用。
不清楚问题出在什么地方。
by 林曦
 楼主| 发表于 2011-3-16 13:31 | 显示全部楼层
回复 6# zmuduo
将中文和泰文对齐试试,比如回时后加几个a,使其与需要替换的乱码长度一样,但是不要加空格,因为系统默认的就是加空格
发表于 2011-3-16 14:01 | 显示全部楼层
回复  zmuduo
将中文和泰文对齐试试,比如回时后加几个a,使其与需要替换的乱码长度一样,但是不要加空格,因 ...
zjbak 发表于 2011-3-16 13:31



   
好的,我去测试下。
发表于 2011-3-16 17:16 | 显示全部楼层
膜拜中。。。
发表于 2011-3-16 19:51 | 显示全部楼层
回忆抛出一块玉 引来无数砖头
您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

小黑屋|手机版|万王之王 king of kings

GMT+8, 2024-3-28 22:17

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表