zoukankan      html  css  js  c++  java
  • 【C#】反编译C#应用程序

    下面的使用的使用是笔者使用的一个简单的程序,就是弹出一个消息框。

    这里通过 ildasm 反编译 应用程序得到 il 文件,然后对 il 文件进行修改,修改内容后,再通过ilasm编译为应用程序。
    ilasm 所在目录

       C:WindowsMicrosoft.NETFramework64v4.0.30319ilasm.exe

    ildasm 所在目录

       C:Program Files (x86)Microsoft SDKsWindowsv10.0AinNETFX 4.6 Toolsildasm


    以上根据具体情况在自己的目录中查找即可

    以下是具体的操作步骤

    一、反编译 exe 为 il 文件

    双击打开 ildasm –> 点击文件 –> 打开刚刚下载或自己的 exe 程序 –> 点击文件 –> 转储选择 UTF8 –>选择位置保存 il 文件,同时可能会生成一些资源(res)文件,具体如图



    接下来就是对 il 文件进行修改,这里以示例提供的 exe 为例,点击按钮时弹出的内容为 message ,这里想要让这个 message 改为 message123
    修改 il 文件


    修改后,对 il 文件重新编译为 exe 文件,命令为:

    ilasm test.il /output:test.exe

    如果需要资源文件,则

    ilasm test.il /resource:test.res /output:test.exe


    如果要编译为 dll 文件,则

    ilasm test.il /dll /output:test.dll


    然后再执行 test.exe 并点击按钮,发现弹出的内容已修改为 message123

    上面介绍了从C# -> (.exe/.dll) -> IL -> (.exe/.dll)的过程,但如果我们想从IL反编译为C#或是VB源代码呢?然而,Mircrosoft sdk中并没有为我们直接提供这样的工具。但可以使用第三方软件Reflector或是ILSPY来完成这个功能。

  • 相关阅读:
    python开发学习-day01 (python安装与版本、字符串、字典、运算符、文件)
    js数组中的常用方法总结
    js与jquery常用数组方法总结
    常用原生JS方法总结(兼容性写法)
    左右切换
    改变奇数行颜色
    toogle
    jQuery 表单验证
    css选择器
    两句话帮你彻底记住gdb之eXamining memory
  • 原文地址:https://www.cnblogs.com/HDK2016/p/8171151.html
Copyright © 2011-2022 走看看