吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2997|回复: 2
收起左侧

[Python 转载] 【笔记】反汇编引擎-Capstone实用手册

[复制链接]
我已经蓝屏 发表于 2021-7-21 14:00

前言

本文就是写写Capstone咋用的
不涉及原理层面

地址

官方网站
http://www.capstone-engine.org/
Github
https://github.com/aquynh/capstone
我的博客(欢迎来踩)
https://kdajv.com/2021/07/21/capstoneengine/

介绍

Capstone 是一个轻量级的多平台多架构的反汇编框架。

我们的目标是使 Capstone 成为安全社区中二进制分析和逆向的终极反汇编引擎。

突出特点:

  • 支持多架构: Arm, Arm64 (Armv8), BPF, Ethereum Virtual Machine, M68K, M680X, Mips, MOS65XX, PowerPC, RISCV, Sparc, SystemZ, TMS320C64X, Web Assembly, XCore & X86 (包括 X86_64) 。

  • 干净/简单/轻量级/直观的API,同时不依赖任何架构。

  • 提供汇编指令的详细信息。

  • 提供反汇编指令的一些语义,例如读取和写入的隐式寄存器列表。

  • 以C/C++实现,可在众多语言里使用:D, Clojure, F#, Common Lisp, Visual Basic, PHP, PowerShell, Haskell, Perl, Python, Ruby, C#, NodeJS, Java, GO, C++, OCaml, Lua, Rust, Delphi, Free Pascal & Vala。

  • 原生支持Windows和*nix系统(以下系统已确认支持:Mac OSX, iOS, Android, Linux, *BSD & Solaris。

  • 线程安全的设计。

  • 特别支持嵌入固件或操作系统内核。

  • 高性能 & 适用于恶意软件分析(能够处理各种 X86 恶意软件技巧)。

  • 在开源 BSD 许可下分发。

使用

反编译ShellCode(X86)

Input

from capstone import *

CS = Cs(CS_ARCH_X86, CS_MODE_32)
a = CS.disasm(b'1\xc0Ph//shh/bin\x89\xe3PS\x89\xe1\xb0\x0b\xcd\x80', 0)

for i in a:
    print(f"{i.mnemonic} {i.op_str}")

Output

xor eax, eax
push eax
push 0x68732f2f
push 0x6e69622f
mov ebx, esp
push eax
push ebx
mov ecx, esp
mov al, 0xb
int 0x80

编译ShellCode(X86-64)

Input

from capstone import *

CS = Cs(CS_ARCH_X86, CS_MODE_64)
a = CS.disasm(b'H1\xd2H\xbb//bin/shH\xc1\xeb\x08SH\x89\xe7PWH\x89\xe6\xb0;\x0f\x05', 0)

for i in a:
    print(f"{i.mnemonic} {i.op_str}")

Output

xor rdx, rdx
movabs rbx, 0x68732f6e69622f2f
shr rbx, 8
push rbx
mov rdi, rsp
push rax
push rdi
mov rsi, rsp
mov al, 0x3b
syscall 

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

zxsbk 发表于 2021-7-21 16:16
来学习下,支持原创
78naegi 发表于 2021-11-14 23:16
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-29 04:19

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表