Dumpulator模拟执行解密tip

admin 2024年9月25日14:41:20评论3 views字数 1657阅读5分31秒阅读模式

https://github.com/mrexodia/dumpulator

Dumpulator模拟执行工具下载,该工具底层利用了Unicorn模拟执行实现。

安装步骤如下,直接pip是最简单的

Dumpulator模拟执行解密tip

下载官方给出的示例

https://github.com/mrexodia/dumpulator/releases/download/v0.0.1/StringEncryptionFun_x64.dmp

可以看到官方给出了一个非常简单的加解密代码

main.cpp

#include <cstdio>static char g_encrypted[256] = "x1Cx00x12x0ex0fx15x46x0fx15x46x07x08x46x03x08x05x14x1fx16x12x03x02x46x15x12x14x0fx08x01x66";void decrypt(char* decrypted, const char* encrypted);int main(){  char decrypted[256];  decrypt(decrypted, g_encrypted);  puts(decrypted);}

decryption.cpp

__declspec(noinline) void decrypt(char* decrypted, const char* encrypted){  auto size = *(unsigned short*)encrypted;  encrypted += 2;  for (unsigned short i = 0; i < size; i++)    *decrypted++ = *encrypted++ ^ 0x66;}

我们使用模拟执行的目的也变得清晰:

1、使用工具获取程序运行时的内存dump文件

2、定位解密函数在dump中的地址

3、使用模拟执行工具Dumpulator直接调用,这一步需要知道调用该解密函数时需要传入的参数

4、执行模拟执行工具,直接获取解密字符串

操作过程

1、获取dump文件

这个示例是一个带有解密功能的程序示例dump,获取它的方法也很简单,官方推荐使用minidump而且该工具在已经在最新版本的x64dbg中集成。打开x64dbg调试StringEncryptionFun.exe,让程序直接断在入口点

Dumpulator模拟执行解密tip

断在入口点后直接输入minidump

Dumpulator模拟执行解密tip

默认dump到x64调试器的同级目录下

Dumpulator模拟执行解密tip

2、确认解密函数地址,由于官方给的程序带有pdb,我们很轻松的定位了解密函数地址0x0000000140001000

Dumpulator模拟执行解密tip

3、确定传入参数

在0x0000000140001000下断点,查看寄存器rcx和rdx两个参数

Dumpulator模拟执行解密tip

我们从源码得知rcx是需要存放解密的数据地址需要我们自己分配,rdx是样本中被加密字符串的地址这个地址需要我们记住是0x0000000140017000

Dumpulator模拟执行解密tip

4、编写模拟执行脚本

将dump放在同级目录下

Dumpulator模拟执行解密tip

脚本如下

from dumpulator import Dumpulatordp = Dumpulator("StringEncryptionFun_x64.dmp")  #为dump创建模拟器temp_addr = dp.allocate(256)                    #模拟分配解密数据要存放的地址dp.call(0x140001000, [temp_addr, 0x140017000])  #模拟执行解密函数0x140001000,参数用[]传递decrypted = dp.read_str(temp_addr)              #解密输出print(f"decrypted: '{decrypted}'")

 点击执行,获取解密数据

Dumpulator模拟执行解密tip

其它相关课程

Dumpulator模拟执行解密tip

Dumpulator模拟执行解密tip

linux高级usb安全开发与源码分析视频教程

Dumpulator模拟执行解密tip

linux程序设计与安全开发

Dumpulator模拟执行解密tip

  • 恶意软件与免杀对抗视频教程

  • Dumpulator模拟执行解密tip

  • Dumpulator模拟执行解密tip

  • windows

  • Dumpulator模拟执行解密tip

  • windows()

  • Dumpulator模拟执行解密tip

  • USB()

  • Dumpulator模拟执行解密tip

  • ()

  • Dumpulator模拟执行解密tip

  • ios

  • Dumpulator模拟执行解密tip

  • windbg

  • Dumpulator模拟执行解密tip

  • ()

  • Dumpulator模拟执行解密tipDumpulator模拟执行解密tipDumpulator模拟执行解密tip

  • Dumpulator模拟执行解密tip

  • Dumpulator模拟执行解密tip

  • Dumpulator模拟执行解密tip

原文始发于微信公众号(安全狗的自我修养):Dumpulator模拟执行解密tip

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年9月25日14:41:20
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Dumpulator模拟执行解密tiphttps://cn-sec.com/archives/3126779.html

发表评论

匿名网友 填写信息