Skip to content

RUNUO服务器分析心得 第一章——RUNUO的反编译

RUNUO服务器分析心得 第一章——RUNUO的反编译 published on RUNUO服务器分析心得 第一章——RUNUO的反编译有102条评论

        因为在分析RUNUO程序之前,因为没有源代码,所以首先要对RUNUO.EXE进行反编译。.NET程序反编译出来的结果并非反汇编代码,而是MSIL代码,即微软中间语言代码。虽然看起来很头疼,总比看反汇编要强得多了,而且根据中间代码可以手动翻译成和源代码类似的代码。这就需要时间了。

        反编译.NET程序其实不需要外部工具,.NET Framework 的SDK里提供了一个工具,名字叫ildasm.exe具体位置在.NET SDK目录\.NET版本目录\BIN\ 下。运行它,然后选择菜单 文件->打开 出现下面这个界面:

 o_ildasm_runuo

        通过它你可以将所有的IL代码导出到一个文件里,现在选择 文件->转储 就会弹出一个对话框,见下图:

 o_ildasm_save

        更改完设置后,点确定就会让你选择保存路径,建议大家保存成.il的格式。

        保存完后,看看保存的目录下一个有两个文件,一个叫RunUO.il 另一个叫RunUO.res。

        如果你不是很相信ILDASM的能力,那么下面我们把中间码编译还原到EXE看看有没有字节损失。现在进入.NET的命令行模式,就是类似cmd的窗口,不过它里面有.NET的工作路径,很多命令可以直接调用。通过cd命令进入到刚才反编译的文件目录,然后输入如下命令:ilasm runuo.il 回车。屏幕停止滚动后如果发下如下字样就说明成功了:Writing PE file  Operation completed successfully。进入目录发现多了一个RunUO.exe文件,看看大小,428 KB (438,272 字节) 好像不对啊,原文件大小是432 KB (442,368 字节)啊,怎么回事???喔,不要着急,想想刚才反编译出来的文件不是还有一个.res的资源文件么,没有用上啊。好,再来一次输入命令:ilasm runuo.il /resource=runuo.res 回车。一看啊,果然,这次没错了。成功还原,而起runuo.exe的图标也对了。那么准备开始进一步工作吧……

原创文章,转载请注明: 转载自游戏无界·达秀的黑暗空间

本文链接地址: RUNUO服务器分析心得 第一章——RUNUO的反编译

本站作品除特殊申明外均为原创,采用知识共享署名-非商业性使用-禁止演绎 3.0 Unported许可协议进行许可。如果需转载请保持文章完整性和标明原文出处,禁止商业用途。

  1. Pingback: Craig

  2. Pingback: lynn