前言

样本分析过程思路来源:套娃式的FormBook家族样本对抗部分分析
本文仅扩充一些分析过程中省略的技术细节,适合分析小白食用

使用到的工具

dnspy-release-win32
de4dot
包括中间分析文件

分析

根据dnspy反编译的结果,可以看到具有大量的混淆:

将样本使用de4dot解混淆:

PE1

入口点和绝大数使用C#编写的PE Loader一样,为运行一个窗口,加载类0中的KeysOrderedAcrossPartitions string对象将该string对象进行url解码,该对象是保存在资源之中,将解码后的资源进行load,调用其Buta导出方法

编辑类方法获取程序集(记得保存后退出重新打开程序集,如果不这样的话,调试的箭头实际上是指向原来的代码的,代码实际上没有变化)

对应的C#代码:将URL解码的字节流输出到文件

public void method_1()
{try{Stream stream = new FileStream("C:\\Users\\ysnb\\Desktop\\test.dll", FileMode.OpenOrCreate, FileAccess.Write);byte[] array = HttpServerUtility.UrlTokenDecode(Class0.KeysOrderedAcrossPartitions);stream.Write(array, 0, array.Length);}catch{Thread.GetDomain().Load(HttpServerUtility.UrlTokenDecode(Class0.KeysOrderedAcrossPartitions)).GetTypes()[0].GetMethod("Buta").Invoke(null, this.qqqqqqqqqqqqqqqqqqqqqqqqqqqqq);}
}

PE2

同样使用de4dot解混淆,找到buta方法,可以看到是一个死循环,整体case的顺序为default、6、4;然后退出进程

为了能够跟踪dll调用,我们需要将dll程序集合并到PE1的程序集,右键域合并程序集选择de4dot处理过的PE2即可(记得保存文件后退出,在ns0中可以看到Jarico类),使用相同的参数调用Buta方法

Buta中有一个sleep,可以注释掉跳过

会将资源中的cXRsF进行读取后解密调用dll导出方法Kuchi解压缩,得到一个PE文件

还是同样的方法,编辑类将字节流输出到文件

之后会无参加载这个PE文件,第二阶段结束

PE3

使用de4dot去混淆。在main函数之前会先初始化一些环境、初始化一些静态类的静态变量。其中第二个类会解密获取一些配置字符串和解密资源得到一个PE文件,资源名叫做”UxllYqyI”。

解密函数1:先将“NAzjGQJblQU”转为unicode字符串数组bytes,后取出资源文件中最后一个字符亦或112赋值为num2,然后将资源文件中每个字符亦或上num2再亦或之前的bytes中的对应字符bytes[num],num<= bytes的长度

解密函数2:一个简单的循环亦或,解密函数2完成后才能得到真正的PE文件

右键保存至文件即可


process hollowing修改.text段,将刚刚解密的PE文件的Text段对重启的进程替换空间中的.text段

某个三层壳保护的FormBook样本提取相关推荐

  1. 如何解决恶意APK中常见的Native代码加壳保护

    导语:在分析恶意软件时偶然会发现受Native代码加壳保护的APK,本文将介绍如何解决恶意APK中常见的Native代码加壳保护. 在分析恶意软件时偶然会发现受Native代码加壳保护的APK,大多数 ...

  2. JAVA加壳保护之JarProtector的使用小记

    JAVA加壳保护之JarProtector的使用小记 一.关于JarProtector JarProtector 工具下载链接 二.使用过程小记 1.工具下载&工具搭建 2.工具使用 3.工具 ...

  3. 新发的日常小实验——使用.NET Reactor对.NET程序进行加壳保护(反编译、加壳、混淆)

    文章目录 一.前言 二.关于.Net Rector 三..Net Rector下载 四..Net Rector的简单使用 1.主界面 2.选择程序及(.exe) 3.Quick Settings(快速 ...

  4. 网易云加密--Android安卓移动应用程序加密加壳保护方案防破解防逆向分析防游戏外挂

    网易云加密--Android安卓移动应用程序加密加壳保护方案防破解防逆向分析防游戏外挂 一.服务简介 网易云加密为网易公司旗下产品,致力于为移动应用程序提供专业保护方案,让加固变得更简单,一键搞定.目 ...

  5. 逆向OD分享-过检测插件-可过VMP等壳保护检测

    很多新手在入门逆向的时候一般都是用的吾爱OD.吾爱OD现在已经很久没有更新了,新手使用此OD破解一般过不去VMP壳的保护,因此需要一个过检测OD来辅助破解,这里我分享一个我自己用的OD 希望能对你们有 ...

  6. 全国大学生信息安全竞赛三等奖virusTotal论文展示

                                                            基于API调用行为的二进制通用脱壳方法 注:本人去年参赛的作品,欢迎大家对不足之处提出宝 ...

  7. 木马病毒隐身穿墙术解密之修改特征码和加壳

    木马病毒隐身穿墙术解密之修改特征码和加壳 作者:比特网 | 比特网 本文关键词:安全 病毒 木马 现在,木马病毒在各种安全防范措施的拦截之下,依然没有任何减少的迹象,甚至还在向更多的方向发展.在防范木 ...

  8. 由浅至深,谈谈.NET混淆原理 -- 五(MaxtoCode原理),六(其它保护方法)

    新一代NET代码保护工具 MaxtoCode 的原理简介 MaxtoCode作为新一代保护工具,他有绝对优于目前所有NET代码保护工具的强度,是目前最保护强度最高的解决方案.但它也有缺点,最大的缺点即 ...

  9. 什么是壳 - 脱壳篇01

    什么是壳 - 脱壳篇01 让编程改变世界 Change the world by program 壳 在自然界中,植物用壳来保护种子,动物用壳来保护身体,我们人类没有壳,但我们有衣服,房子也起到了壳的 ...

最新文章

  1. 人工智能机器学习区别计算机应用,AI、人工智能和机器学习有什么区别
  2. .NET托管内存类应用的内存泄漏分析和诊断
  3. CTFshow php特性 web108
  4. 径向基函数(RBF)神经网络
  5. 自然语言12_Tokenizing Words and Sentences with NLTK
  6. IDEA中Maven项目使用Junit4单元测试的写法
  7. 提高软件开发、软件维护的效率和质量的利器
  8. 数据库只有mdf文件而没有ldf文件,如何恢复数据库
  9. Leetcode763. 划分字母区间(贪心)
  10. LVM逻辑卷磁盘管理
  11. MySQL移动数据目录出现权限问题
  12. 超详细的SFtp工具类及使用
  13. 网页版扫雷(HTML/CSS/JS实践)
  14. 联想新电脑桌面没有计算机,联想电脑没有wifi图标不见了怎么办
  15. 移动硬盘linux系统安装win7系统,超简单的移动硬盘安装系统win7教程
  16. 震惊!旷视首席科学家、知名AI学者孙剑博士去世
  17. 锚( Anchor Boxes)
  18. 如何组织可持续的团队内部分享
  19. 1.3 飞桨开源深度学习平台介绍
  20. mysql用update select批量处理数据

热门文章

  1. 蓝桥杯真题:字串排序
  2. link-group
  3. jmail(jmail)
  4. 全套医疗预约挂号小程序+管理后台Axure高保真原型
  5. 喝什么茶保肝又护肾?
  6. vant 下拉框样式_Vant DropdownMenu 下拉菜单
  7. 文件数据库sqlite3 C++ 线程安全和并发
  8. 我的第一个unity游戏FPS项目任务制作经历(以及个人感慨)
  9. 量子计算机编程pdf,量子计算与量子计算机.pdf
  10. Java,Scanner的nextLine读入空行问题