我只做个简单的小例子,给大家一个思路,吼吼~~~~ 1使用工具 Reflector.exe 用来查看.net代码 这个就不用多说了它是学.net必备神器 Ildasm.exe:用来将dll,exe编译为IL文件 ilasm.exe :用来将IL文件编译回来dll或exe EmEditor文本处理工具这个大家如果没有我这有下载里面有注册码EmEditor.rar 2Ildasm和ilasm基本知识: ilasm.exe与ildasm.exe text.dll 打开dll 找到方法可以查看 ildasm text.dll /output:text.il 按回车就编译好一个il文件(可用记事本打开并且编辑hello word保存) 然后用ilasm 工具反汇编成 dll或者exe 文件 ilasm text 按回车自动查找text4.il 文件并且编译成 text4.exe 或 ildasm text /dll 可以编译成 text.dll 文件 出场了 用来将IL文件编译回来dll或exe 上边已经有用它的方法了我也就不多说了 C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727>ilasm.exe C:
环境会有不同的版本,win10一般自带.net4.6版本,主要注意的是win10 安装.net2.0 和.net3.0 费劲,这两个版本的可以找个win7的虚拟机安装后查找 image.png 微软的工具ilasm.exe image.png 利用dnspy 反编译看看dll的原代码是什么.net版本,也可以利用它进行源码分析,定位到要修改的位置 image.png 根据原dll的版本选择相应的ildasm.exe 和 ilasm.exe 工具, ildasm的使用 image.png ilasm.exe的使用 先浏览到IL文件路径下,在cmd里输入下面命令 ilasm[或者为ilasm.exe的绝对路径] test.il /dll
ildasm打开要修改的程序集 3) 通过ildasm保存为IL文件 选择菜单File>Dump,选择UTF-8编码 用文本编辑器打开第3步中得到的.il文件 修改.il文件中的代码并保存 用ilasm (MSIL汇编程序)将.il文件编译为.dll文件 ilasm位于相应的.NET Framework目录中,比如: C:\Windows\Microsoft.NET\Framework\v4.0.30319 \ilasm.exe 具体步骤 安装目录. /ilasm.exe /dll /Resource=D:\temp\z.res D:\temp\z.il /output=D:\temp\FiddlerBackendSDK.dll 查看代码 使用下面两个工具中任选其一查看代码
10 添加第一条配置,如下 ILASM_v4.0.30319 C:\Windows\Microsoft.NET\Framework\v4.0.30319\ilasm.exe ?
ilasm: .net4.0自带了,位置在 C:\Windows\Microsofr.NET\Framework\v4.0.30319\ilasm.exe 1.3 生成重新打包的自签名证书 修改完 apk 重新编译dll文件命令如下: C:\Windows\Microsoft.NET\Framework\v4.0.30319\ilasm.exe game.il /output=Assembly-CSarp.dll
callvirt 修改成 call IL_0004: call instance void Walterlv.Demo.Foo::Test() 第三步:重新编译 IL 成 exe # ilasm 在 C:\Windows\Microsoft.NET\Framework64\v4.0.30319 路径下 lvyi> ilasm /out:D:\Desktop\wdemo.exe D:\Desktop
二、IL分析工具 2.1 ILASM.exe和ILDASM.exe .NET Framework中自带了一套成熟的编译于反编译利器:ILASM.exe和ILDASM.exe,其中ILASM.exe工具用来执行
保存后,需要使用ilasm再把il编译成dll文件,这里遇到一个坑,如果按照如下命令进行编译: ilasm BypassUAC_Dll_csharp.il /dll /out=BypassUAC_Dll_csharp_exp.dll 问题的根源就是这里,利用IL转之前的dll是64位的,转之后变成了32位的,解决方法很简单,使用ilasm的时候添加一个/X64参数就可以了: ilasm BypassUAC_Dll_csharp.il
Revert ildasm/ilasm tools to 4.6.2 to fix module initializer injection regression. by ryalanms · Pull
https://down.52pojie.cn/Tools/NET/de4dot.zip•dotPeek:https://www.jetbrains.com/decompiler/download/•ilasm library/496e4ekx(v=vs.110).aspx•ildasm:https://msdn.microsoft.com/zh-cn/library/f7dy01k1(v=vs.110).aspx ilasm 这两个工具的位置分别位于.Net Framework目录和Microsoft SDK目录中: C:\Windows\Microsoft.NET\Framework\v2.0.50727\ilasm.exeC
本文将介绍一种快捷的办法,那就利用微软自带的ILDASM和ILASM,先进行反编译,再编译回去。 但是我们发现在编译回去的过程中,遇到了如下错误。 因为已经脱壳,因此直接把这些非法的地址全部在代码中注释掉,不会对程序有影响: 继续用ilasm编译,发现新的错误 xxx.il(605) : warning : Non-nested class has specialname rtspecialname $TD$7 extends [mscorlib]System.Object { } // end of class $TD$7 保存后再用ilasm ILDASM/ILASM 微软VS2010以上版本自带 DOTNET4.0的反编译/编译工具。 5.
这个也需要使用软件提供的一个工具 ilasm.exe 路径:C:\Windows\Microsoft.NET\Framework\v4.0.30319 7.在桌面打开已经修改好内容的.il 文件所在的文件夹
mscoree.dll是负责执行程序集,指示引导如何运行.NET框架下的托管程序, C#是高级编程语言,IL是机器语言,但不同与一般机器语言,它拥有很多高级指令,IL描述上应该讲是面向对象的机器语言; IL汇编器ILAsm.exe
TerminalMACS.ManagerForWPF\src\Demo\MultiVersionLibrary\Dotnet9HookHigh\Lib\Lib.Harmony\2.2.2\0Harmony.il" 重新编译,附带强命名参数 查找ilasm.exe ,比如C:\Windows\Microsoft.NET\Framework64\v2.0.50727\ilasm.exe,执行以下命令做签名: "C:\Windows\Microsoft.NET\Framework64 \v2.0.50727\ilasm.exe" "F:\github_gitee\TerminalMACS.ManagerForWPF\src\Demo\MultiVersionLibrary\Dotnet9HookHigh
视为一种面向对象的机器语言. 2、IL通识 (1)、我们一般通过C#或者F#或者Visual Basic来编程,然后编译器将它们编译成IL,然后IL和其他机器语言一样,也可以使用汇编语言来编写,MS提供了ILAsm.exe
ilasm /exe /output=C:\CK.exe /Resource=C:\Users\Ck\Desktop\coding.res C:\Users\Ck\Desktop\coding.il ?
ilasm /exe /output=C:\CK.exe /Resource=C:\Users\Ck\Desktop\coding.res C:\Users\Ck\Desktop\coding.il ?
相关的反编译软件有:ilasm、.Net Reflector和Just Decompile等。
WriteLine(string) ret } } 在上面代码中程序集引用中使用的是auto,这是IL2.0版本加入,会自动搜索指定名称程序集 然后在开发者工具使用命令进行编辑 ilasm
RegfromApp:注册表监控 WSExplorer:岁月联盟进程抓包工具 strings:查看程序的字符串 .net[反]编译: dotpeek de4dot dnspy ilspy sae ildasm ilasm