Net内存程序集通用脱壳机实现原理(一注入)

正如前面提到的DotNet 程序的脱壳和普通PE文件的脱壳是有密切关系的。
传统PE文件dump大部分都是进程外dump,这里我们介绍的DotNet程序集的脱壳
使用进程内dump。

所以第一步就是注入问题,如何让我们的程序在目标进程内运行?
传统的win32 注入dll,相信大家都熟悉了吧,
得益于C++/CLI的特性,我们能依靠传统的方式注入我们的程序到目标进程中。

用VS2005新建一个mfc dll,然后在工程属性里面开启 clr支持,这样在这个dll就能使用 CLR 了。
而这个dll又能像传统dll一样被注入到目标进程中。

注入实现原理请参考这里
http://bbs.pediy.com/showthread.php?s=&threadid=21123
ShellCode的另外一种玩法(远程线程注入ShellCode)

注入启动之后就会显示我们的dumper 对话框了。
这里我用反射枚举出当前进程中所有的程序,将其路径显示在列表中。

界面可以参考前一篇帖子的贴图。

时间: 2024-10-23 01:40:20

Net内存程序集通用脱壳机实现原理(一注入)的相关文章

Net内存程序集通用脱壳机实现原理(二、反射以及重建方法头)

在 .Net程序加密的原理及解密探讨三(实例解密)  一文中我们介绍了反射,主要提到三个函数 DumpAssembly,DumpType, DumpMethod. 这里我们将就 DumpMethod 这个函数讨论. 前一篇我们已经提到的dump的整体流程.先把PE整体dump出来,然后在文件后面增加一个段. 接下来就是这次要讲的反射和方法体重建.依靠上面的三个函数反射枚举所有方法. 取得 MethodBody 对象,重建 方法体,将方法体保存到 PE文件新建的段中,修改元数据中该方法对应的RVA

.Net 反射脱壳机代码核心代码详解

本文主要对 <.Net 反射脱壳机核心源代码 >一文代码的原理和使用进行详细介绍. 首先介绍一下代码主要流程: 入口函数 void DumpAssembly(Assembly ass,string path) 枚举所有type,调用 void DumpType(Type tp, BinaryWriter sw) 枚举所有方法,调用 void DumpMethod(MethodBase mb, BinaryWriter sw) { MethodBody mbd = mb.GetMethodBod

.Net 2.0 通用反射脱壳机完整版

之前发了一个实验品http://bbs.pediy.com/showthread.php?t=45184 功能还不完善,这个是完整的版本. 能脱压缩壳,整体加密壳,有反射漏洞的加密壳. 方法:采用的是注入方式,注入到目标进程.注入后会看到一个列表界面.在这个列表里面会显示出当前进程中的所有程序集. 首先在列表里面选择一个要脱壳的程序集. 然后选择保存路径.(注1) 在就脱壳. 程序使用的是 VS2005 C++/CLI 需要相关运行库 mfc80u.dll msvcr80.dll msvcm80

.Net Jit层脱壳机的实现原理

本文将在 .Net 反射脱壳机核心源代码 的基础上介绍,如何实现 Jit层脱壳 机. 首先我们选择使用 C++/CLI 来完成这个工作.反射部分需要用到 .Net的相关类库,jit 层 hook 需要使用native c++ 方面的功能.本文假设您已经完成了 hook jit的工作,并截获到了相关结构体. 首先介绍一下代码主要流程: 入口函数 void DumpAssembly(Assembly ass,string path) 枚举所有type,调用 void DumpType(Type tp

三星Note4全机型通用刷机教程

  三星Galaxy Note4是三星今年的旗舰机型,在保持优秀的性能的同时也带来了众多的特色功能,不过,作为Android手机,自然免不了要刷机,让手机更精简,特别是对于三星的手机,许多功能和应用对消费者来说其实并没有什么用处. 而三星的手机拥有众多的版本,所以刷机时需要多注意,不过通用版显然更适合大多数用户. 一.刷机注意 此刷机教程适用Samsung_Galaxy_Note4所有机型. 在刷机前需要做以下工作,防范于未然: 1.下载三星通用刷机工具Odin 3.09 2.下载安装三星通用U

成功后的通用翻译机将有何意义

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 日前,谷歌方面透露了一项关于通用翻译的项目计划,引起了众多媒体对未来的科技新生活的展望!按照谷歌透露的此份计划,如若通用翻译机功能趋于完善,人们将能够直接对着通用翻译设备说英文,让语音接收者收听到他能够听懂的语言. 语言障碍一直都在阻碍着社会生产的发展,成功后的通用翻译机必然会对传统的社会生产方式产生冲击,在带来新时代发展机会的同时,通用翻译

.Net程序集基于方法的保护原理(HookJIT篇)

引言 DOTNET程序集的保护由混淆.整体加密.基于方法保护到参与伪IL指令本地化,逐步由纯.NET领域走向传统WIN32加密领域.相应,解密的主体工作也由过去的 IL代码分析走向了ASM代码分析.我们留恋过去的"开源盛世",但不得不正视现实.基于方法的保护是这一过渡中关键的一环,可见的实例代码太少了,本文将通过手动实践学习它的基本原理. JIT及相关内容简介 JIT Compiler(Just-in-time Compiler) 即时编译..net中当一个方法第一次被调用时,虚拟机会

爱思助手通用刷机教程

  iPhone6P|6|5S|5C|5|4S|4通用的简明图文刷机教程,不论是4刷ios6还是刷入最新的ios8均可使用. 使用"爱思助手"刷机,而非官方的Itunes,刷机后可直接实现越狱. 工具/原料 ios设备 ios8系统(现在除4及以4下版本设备外其它设备刷机均只能输入最新的ios8) 电脑(爱思助手) 一.安装爱思助手 电脑百度搜索关键词"爱思助手",如图点击链接进行下载安装. ps:注意勾掉"安装XX"的默认选项. 下载完成之后根

Vbs脚本病毒生产机的原理介绍预防和解除

脚本 所谓病毒生产机就是指可以直接根据用户的选择产生病毒源代码的软件.在很多人看来这或许不可思议,其实对脚本病毒而言它的实现非常简单. 脚本语言是解释执行的.不需要编译,程序中不需要什么校验和定位,每条语句之间分隔得比较清楚.这样,先将病毒功能做成很多单独的模块,在用户做出病毒功能选择后,生产机只需要将相应的功能模块拼凑起来,最后再作相应的代码替换和优化即可.由于篇幅关系和其他原因,这里不作详细介绍. vbs脚本病毒的弱点 vbs脚本病毒由于其编写语言为脚本,因而它不会像PE文件那样方便灵活,它