- 12
- 0
- 约1.78千字
- 约 2页
- 2021-01-27 发布于河北
- 举报
修改.NET程序或DLL的几种方法
本文目的是回答一个朋友关于修改程序集的留言,都是比较简单的修改方式,不涉及脱壳等。
1: 利用ILASM和ILDASM
我们先建立如下测试程序:
namespace Test
{
class Program
{
static void Main(string[] args)
{
string s = hello world!;
Console.WriteLine(s);
Console.ReadKey();
}
}
}
编译之后得到Test.exe
打开Visual studio提供的命令行工具,它已经默认的设置好了相关的环境变量,输入如下命令:
ildasm test.exe /OUT=test.il
将得到两个文件:test.il和test.res,用记事本打开test.il,将看到如下IL代码:
IL_0000: ldstr hello world!
IL_0005: stloc.0
IL_0006: ldloc.0
IL_0007: call void [mscorlib]System.Console::WriteLine(string)
IL_000c: call valuetype [mscorlib]System.ConsoleKeyInfo [mscorlib]System.Console::ReadKey()
IL_0011: pop
IL_0012: ret
我们将第一行修改为:
IL_0000: ldstr hello world! --has been modified
当然也可以增加一些函数的调用和删除我们不想要的函数,如果对IL不熟悉,可以先在VS中写好想要的代码,反编译为IL,然后直接拷贝过来。修改完后,点保存,在命令行运行如下命令:
ilasm /OUT=test2.exe test.il
如果语法没有错误,将看到如下提示
Source file is ANSI
Assembled method Test.Program::Ma
Assembled method Test.Program::.c
Creating PE file
Emitting classes:
Class 1: Test.Program
Emitting fields and methods:
Global
Class 1 Methods: 2;
Emitting events and properties:
Global
Class 1
Writing PE file
Operation completed successfully
证明已经修改成功,我们可以直接运行test2.exe,发现程序已经按我们修改的输出了:
hello world! -- has been modified.
2.利用Reflector的插件Reflexil
直接用IL修改比较麻烦,不小心很容易出错,幸好我们有Jb Evain编写的Reflexil。
Reflexil基于Mono.Cecil,是一个强大的程序集编辑器。
下载完后打开Reflector -- View -- Add-Ins -- Add -- 选择Reflexil.dll,
以后就可以直接用Reflector的Tools打开了。
开始正式的修改,用Reflector打开test.exe,打开Reflexil,选择Main函数,可以发现IL代码显示在下方了,可以点击右键Edit,Delete,Create等操作,没错,你还发现了Replace all with code,通过这个可以直接用C#代码直接修改。其它的功能多试试就明白了,另外点击类的时候,还可以修改类的访问权限等,比如将private改成public。我们选中第0行,直接选择Edit,将Operand后面的文本修改为:hello world! -- modified by reflexil.点击Update,在Reflector中选中Test.exe module,Save as test3.exe。执行test3.exe,就看到我们的修改生效了。
您可能关注的文档
最近下载
- 2026浙江嘉兴市申嘉有轨电车运营管理有限公司招聘工作人员7人笔试备考试题附答案解析.docx VIP
- 2026浙江嘉兴市申嘉有轨电车运营管理有限公司招聘工作人员7人笔试备考题库附答案解析.docx VIP
- 2026浙江嘉兴市申嘉有轨电车运营管理有限公司招聘工作人员7人考试参考题库附答案解析.docx VIP
- 2026浙江嘉兴市申嘉有轨电车运营管理有限公司招聘工作人员7人笔试参考题库附答案解析.docx VIP
- 北京地铁10号线二期01标起点~潘家园站的区间侧穿既有十号线施工方案汇报.ppt VIP
- 北京地铁十号线二期角门西站暗挖施工方案.docx VIP
- 2005年国家法律职业资格考试《客观题卷一》真题.doc VIP
- 2021上海春考语文卷解析(《刘铎传》和《见苏仁仲提举书》的全文翻译).pptx VIP
- 浙江省2025届九年级下学期中考模拟(六)数学试卷(含答案).pdf VIP
- 骨髓增生异常综合症护理查房.pptx VIP
原创力文档

文档评论(0)