• DotNet程序汉化过程--SnippetCompiler奇葩的字符串


    开篇前言

    汉化的过程总会遇到各种各样的问题,让人抓狂,这一篇我就来讲解一下一个特殊的单词的汉化以及我的“艰辛历程”。

    起因介绍

    SnippetCompiler有这么一个奇葩的字符串“查找>>”

     

    通过精确的定位我找到了他所在的位置在这:

     

    看到了没有,Replace不再是我们熟悉的ldstr “Replace”了,他成了一个二进制的数组了, 不用管他我们直接改就行,把他改为Replace生成ok,没有问题,打开一看也替换过来 了,点击测试一下出错了。

     

    唉!看源码吧,哪里出问题了。

    找到了单击事件那里

     

    看到了没有,人家做了验证了,末尾必须要是x00bbnnd没办法了,改原来的二进制 数组吧。我这里也是找了好久才找到一个相对简单的办法,我称之为替换法,就是用其 他的字符串来替换这里。具体如下:

    第一步:既然我们正在汉化SnippetCompiler那就用他好了。使用SnippetCompiler编写 如下代码

    1 using System;
    2 using System.Collections.Generic;
    3 public class MyClass
    4 {
    5     public static void Main()
    6     {
    7         string str="替换(&R)";
    8     }
    9   }

    生成一个*.exe文件去。

    第二步:使用ildasm反编译生成的exe文件得到了一个il的文件,用记事本打开它,看到 了没

     

    这个就是我们最终要替换的字符串,拿过去替一下保存试试。

     

    最终结果:

    看木有问题啊,单击也没事。

     

     

    成功。

    虽然他肯定是有特定的算法来得到的二进制数组,但这里我就偷个懒了,用替换来得到,大家如果有兴趣可以自己尝试去解解看怎么算的。

  • 相关阅读:
    Docker大会的新福利:LinuxKit 和 Moby 开源项目
    NS3
    (OK) NS3
    MPTCP
    Utilizing multi-core processors in NS-2
    (OK) Fedora 24
    error compiling gcc: undefined reference to libc_name_p
    gccxml
    NS3
    NS3
  • 原文地址:https://www.cnblogs.com/GodFinal/p/3484053.html
Copyright © 2020-2023  润新知