.Net官方的MSIL工具,你学会了吗?

开发 开发工具
ILDASM可以把托管的DLL反编译成IL代码,把它导出.IL后缀名的文件,修改这些IL文件之后,通过ILDASM把IL文件重新编译成DLL或者Exe。

前言

很多人用第三方工具修改(实际上修改了也没用,现代化加密工具是直接hook JIT)MSIL

比如dnspy/ilspy/dotpeek/Reflector 等等,这些工具看似不错,实际上完全不经打,如果把程序集进行虚拟化,这些工具完全无法展示出来。本篇还是来看下比较能打的ILDASM和ILASM.它是微软官方工具。

概念

ILDASM可以把托管的DLL反编译成IL代码,把它导出.IL后缀名的文件,修改这些IL文件之后,通过ILDASM把IL文件重新编译成DLL或者Exe。

1.路径:

ildasm的路径
C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools\x64\ildasm.exe
C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools\ildasm.exe

ilasm的路径

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\ilasm.exe

2.操作

打开ILDASM之后,把DLL拖进去。然后点击菜单栏-》文件-》转储-》转出选项不要动-》确定-》选择路径填写导出名称(注意这里的后缀名是.il)。

在导出之后的路径,它会生成.il和.res两个后缀名的文件。把.il的后缀名文件通过记事本把它打开,然后修改下。修改了之后就可以用ilasm通过如下命令重新组装成DLL或者Exe:

比如路径是:C:\Users\Administrator\Desktop\dnguard_iltest导出名称是:test。




运行如下命令:
D:\Visual Studio\IDE>ilasm "C:\Users\Administrator\Desktop\dnguard_iltest\test.il" "C:\Users\Administrator\Desktop\dnguard_iltest\test.res" /output="C:\Users\Administrator\Desktop\dnguard_iltest\test.dll"
Microsoft (R) .NET Framework IL Assembler.  Version 4.8.9105.0
Copyright (c) Microsoft Corporation.  All rights reserved.
Assembling 'C:\Users\Administrator\Desktop\dnguard_iltest\test.il'  to EXE --> 'C:\Users\Administrator\Desktop\dnguard_iltest\test.dll'
Source file is UTF-8


ilasm后面带上.il和.res文件的路径 /output后面带上输出的dll或者exe文件的路径即可。

这样就非常容易的修改了IL代码,不需要借助任何第三方工具。


责任编辑:武晓燕 来源: 江湖评谈
相关推荐

2023-07-10 08:36:21

工具pptword

2024-07-11 08:29:57

大数据.NET工具

2024-09-06 07:29:05

2024-02-02 11:03:11

React数据Ref

2022-07-08 09:27:48

CSSIFC模型

2023-08-01 12:51:18

WebGPT机器学习模型

2024-01-02 12:05:26

Java并发编程

2024-10-09 07:40:43

2024-01-19 08:25:38

死锁Java通信

2024-02-04 00:00:00

Effect数据组件

2023-07-26 13:11:21

ChatGPT平台工具

2023-01-10 08:43:15

定义DDD架构

2022-10-13 08:02:13

死锁运算系统

2023-07-29 00:10:48

2024-05-29 07:47:30

SpringJava@Resource

2022-12-06 08:37:43

2023-10-06 14:49:21

SentinelHystrixtimeout

2023-05-05 06:54:07

MySQL数据查询

2022-06-16 07:50:35

数据结构链表

2023-08-26 21:34:28

Spring源码自定义
点赞
收藏

51CTO技术栈公众号