弥补Reflector反编译对中文支持的不足

简介:

  Reflector是我目前用的最多的反编译工具,他可能不时最好的,但以它的更新速度,我相信他会成为最好的哦~~
    国外的软件,对中文支持还是有问题,虽然我们都Unicode了,可是老外还是不一定认账。Reflector反编译代码,Unicode中非英文的字符都显示为了\u????,这本来还是对的,可是我们看起来就太郁闷了。Reflector支持Plug-in,曾经想写个插件,结果要了解的东西太多,就放弃了。不过问题也解决了,用VS.NET带的宏,haha

   转换前的代码,谁能看懂写的啥呀@_@?
   

    不要担心,转换后的代码就成了:
   

    VS.NET 宏代码,名称:Unicode2Character

Public Module Birdshome
   Sub Unicode2Character()
       Dim doc As Document = DTE.ActiveDocument
       Dim docText As TextDocument = doc.Object
       Dim selText As TextSelection = docText.Selection()
       selText.SelectAll()
       Dim text As String = selText.Text

       Dim iLength As Integer
       Do
           iLength = text.Length
           Dim m As Match
           Dim strPattern As String = "(?<code>\\[ux][A-F0-9]{2,4})"
           m = Regex.Match(text, strPattern, RegexOptions.IgnoreCase)
           If m.Success Then
               Dim strValue As String
               strValue = m.Groups("code").Value
               Dim digitLength As Integer = strValue.Length - 2
               text = text.Replace(strValue, "")
               Dimint As Integer
               int = System.Int32.Parse(strValue.Substring(2, digitLength), NumberStyles.HexNumber)
               Dim ch As Char = ChrW(int)

               docText.ReplacePattern(strValue, ch)
           Else
               Exit Do
           End If
           If Not text.Length < iLength Then
               Exit Do
           End If
       Loop
       selText.StartOfDocument()
   End Sub
End Module

enjoy it!


本文转自博客园鸟食轩的博客,原文链接:http://www.cnblogs.com/birdshome/,如需转载请自行联系原博主。

目录
相关文章
|
Java API Android开发
你有没有想过自己写一个Xposed模块?教程来了~(一)
在互联网上,关于Xposed模块编写的教程可谓是一抓一大把。但由于时间的推移,很多工具和方法都发生了变化(如Eclipse退出安卓编程舞台,AndroidStudio 不断升级导致其一些设置也随之变化等)也正因此,网上的教程往往有一些时限性,比如现如今 provide 这个关键字已经被舍弃了却仍有人在用,还有些说要把jar包放到lib文件夹而非libs文件夹……种种错误或者落伍的教程对新手产生了很大的误导。
400 0
|
Dart Java 编译器
Android编译器及编译工具之编译器
习惯了IDE以及各种现成的编译工具为我们提供便捷的编译方式,我们很少会操心编译工具的编译过程和原理,但是工具越高级,隐藏的细节就越多,这样编译遇到问题时我们难以定位,遇到复杂的项目(尤其跨平台项目难以用ide)时不知如何下手。所以准备写两篇关于编译器和编译工具的文章。本文先来介绍编译工具。
221 0
|
Swift iOS开发
iOS 逆向编程(二十一)代码编译过程(以及什么阶段可反编译)
iOS 逆向编程(二十一)代码编译过程(以及什么阶段可反编译)
172 0
|
网络安全 KVM 虚拟化
关于vagrant up的一个终结之谜(Markdown版本)
使用vagrant管理的机器,在使用vagrant命令的过程中总有一些问题. vagrant up 有时候会拉不起机器。 虽然公司的很多闲置机器没有充分利用,但是鉴于对目前的这个问题应该还是要很谨慎的上线核心项目。对虚拟化的技术还需要加强。
63 0
|
Java API Android开发
你有没有想过自己写一个Xposed模块?教程来了~(二)
在互联网上,关于Xposed模块编写的教程可谓是一抓一大把。但由于时间的推移,很多工具和方法都发生了变化(如Eclipse退出安卓编程舞台,AndroidStudio 不断升级导致其一些设置也随之变化等)也正因此,网上的教程往往有一些时限性,比如现如今 provide 这个关键字已经被舍弃了却仍有人在用,还有些说要把jar包放到lib文件夹而非libs文件夹……种种错误或者落伍的教程对新手产生了很大的误导。
425 0
|
Java Android开发
你有没有想过自己写一个Xposed模块?教程来了~(四)
在互联网上,关于Xposed模块编写的教程可谓是一抓一大把。但由于时间的推移,很多工具和方法都发生了变化(如Eclipse退出安卓编程舞台,AndroidStudio 不断升级导致其一些设置也随之变化等)也正因此,网上的教程往往有一些时限性,比如现如今 provide 这个关键字已经被舍弃了却仍有人在用,还有些说要把jar包放到lib文件夹而非libs文件夹……种种错误或者落伍的教程对新手产生了很大的误导。
133 0
|
Java Android开发
你有没有想过自己写一个Xposed模块?教程来了~(三)
在互联网上,关于Xposed模块编写的教程可谓是一抓一大把。但由于时间的推移,很多工具和方法都发生了变化(如Eclipse退出安卓编程舞台,AndroidStudio 不断升级导致其一些设置也随之变化等)也正因此,网上的教程往往有一些时限性,比如现如今 provide 这个关键字已经被舍弃了却仍有人在用,还有些说要把jar包放到lib文件夹而非libs文件夹……种种错误或者落伍的教程对新手产生了很大的误导。
168 0
|
安全 Go API
自写go加载器加壳免杀——过国内主流杀软
自写go加载器加壳免杀——过国内主流杀软
486 0
|
存储 安全 Java
Android安全与逆向之Dalvik虚拟机架构和如何执行程序以及JIT(即时编译)
Android安全与逆向之Dalvik虚拟机架构和如何执行程序以及JIT(即时编译)
311 0
Android安全与逆向之Dalvik虚拟机架构和如何执行程序以及JIT(即时编译)