ExtremeDumper v4.0 - .NET程序集Dump工具
本帖最后由 wwh1004 于 2022-3-16 14:42 编辑解释下为什么又发个帖子:老的帖子因为太久远被锁住了,新版本加入了很多新功能,没法更新到老帖子,所以我开了个新的。
比如两个很厉害的新功能,绕过所有反Dump保护直接Dump程序集。这个功能我还写个文章来说明原理:https://www.52pojie.cn/thread-1604458-1-1.html
还有加载器Hook,可以在.NET程序启动时安装Hook,自动Dump所有用Assembly.Load(byte[])内存加载的程序集到磁盘
项目是开源的,GitHub地址:https://github.com/wwh1004/ExtremeDumper
# ExtremeDumper [!(https://ci.appveyor.com/api/projects/status/f6kyx4yv68lwain0?svg=true)](https://ci.appveyor.com/project/wwh1004/extremedumper)
.NET程序集Dump工具
## 特性
* 列举所有进程并且高亮.NET进程
* 列举进程中所有模块并且高亮.NET模块
* 通过遍历内存页以Dump进程中全部有效的.NET程序集
* 在模块视图中Dump指定的模块
* 注入.NET程序集到任意进程
* 增强的反反Dump模式
* .NET程序集加载器Hook
* 反标题关键词检测
* 单个可执行文件
## 介绍
### 查看进程
![](https://raw.githubusercontent.com/wwh1004/ExtremeDumper/master/Images/ProcessView.png)
默认页面是进程视图。你可以在此选择进程,右键打开菜单,Dump此进程中所有.NET模块或者查看进程中所有模块。你也可以点击"Inject Dll"以注入.NET程序集到任意进程。所有存在clr模块的进程会被高亮为绿色。
### 查看模块
![](https://raw.githubusercontent.com/wwh1004/ExtremeDumper/master/Images/ModuleView.png)
这个页面会显示选中进程中的所有模块,同时你可以通过点击"Only .NET Modules"选项仅查看.NET模块。所有.NET模块会被高亮为绿色。
### 查看导出函数
![](https://raw.githubusercontent.com/wwh1004/ExtremeDumper/master/Images/ExportFunctionView.png)
这个页面显示了非托管模块的导出函数。
### 注入.NET程序集
![](https://raw.githubusercontent.com/wwh1004/ExtremeDumper/master/Images/InjectManagedDll.png)
当前注入器仅支持任意架构下的.NET Framework的程序集。同时你可以在注入器中给Main方法传递字符串参数。计划未来支持.NET Core。
### 反反Dump
开启前:
![](https://raw.githubusercontent.com/wwh1004/ExtremeDumper/master/Images/AntiAntiDump1.png)
![](https://raw.githubusercontent.com/wwh1004/ExtremeDumper/master/Images/AntiAntiDump3.png)
开启后:
![](https://raw.githubusercontent.com/wwh1004/ExtremeDumper/master/Images/AntiAntiDump2.png)
![](https://raw.githubusercontent.com/wwh1004/ExtremeDumper/master/Images/AntiAntiDump4.png)
#### 用法
模块视图中打开右键菜单然后点击"Enable AntiAntiDump"。启用之后你可以很方便地直接Dump任何带有反Dump保护的.NET程序集。
#### 原理
ExtremeDumper会注入核心Dll到目标进程并且从CLR内部对象读取元数据信息。不同于V2版本中的反反Dump,当前版本拥有几乎完美的兼容性。
### .NET程序集加载器Hook
![](https://raw.githubusercontent.com/wwh1004/ExtremeDumper/master/Images/LoaderHook1.png)
![](https://raw.githubusercontent.com/wwh1004/ExtremeDumper/master/Images/LoaderHook2.png)
#### 用法
在主界面点击"Open Loader Hook"按钮,之后会弹出"Loader Hook"窗口。选择一个要Dump的程序,然后点击"Run With Hook"。
#### 高级用法
把"ExtremeDumper.LoaderHook.dll"重命名为"version.dll",然后把它放在目标程序的根目录下。它将以Dll劫持模式加载。
#### 原理
加载器Hook会在程序启动时挂钩"clr!AssemblyNative::LoadImage"函数。当.NET程序集被"Assembly.Load(byte[])"这些API加载,加载器Hook会将它的原始字节数组保存到磁盘中。
## 下载
GitHub: (https://github.com/wwh1004/ExtremeDumper/releases/latest/download/ExtremeDumper.zip)
AppVeyor: (https://ci.appveyor.com/api/buildjobs/ytfttpe2ev8kyheu/artifacts/bin%2FRelease%2FExtremeDumper.zip) Hmily 发表于 2022-3-16 14:51
爱盘已经同步更新https://down.52pojie.cn/Tools/NET/ExtremeDumper.zip
谢谢你的分享,太给力了,快速下载完成。 jy04468108 发表于 2022-3-16 15:38
试了下,vmp都可以成功dump。
大侠,能不能教一下怎么使用?新手一枚 谢谢大佬的工具 爱盘已经同步更新https://down.52pojie.cn/Tools/NET/ExtremeDumper.zip 支持,挺好的一个工具 哎哟不错哟 下载看看,谢谢大佬的工具 试了下,vmp都可以成功dump。 这个是做什么的? 支持中,谢谢楼主