由keystone/capstone支持的用于组装/拆卸的cli。

chiasm-shell的Python项目详细描述


Latest Release
基于python的交互式汇编/反汇编程序cli,由 Keystone/Capstone.

你为什么做这个?

我想快速查看一些操作码 metasm-shell.rb, 但我手头没有一个metasploit安装程序。我真的不想 也和鲁比混在一起,所以我想写我自己的 替补是一个很好的借口,发挥与基石和顶点。

如何安装?

pip install chiasm-shell
# OR
mkvirtualenv chiasm-shell # optional
git clone https://github.com/0xbc/chiasm-shell
cd chiasm-shell
python setup.py install # assumes you have Capstone and Keystone
# build toolchains installed, which includes CMake.

如何运行它?

chiasm-shell
# or, from the repo base directory:
python -m chiasm_shell.chiasm_shell

我怎么用?

  • 当提示是asm>时,您使用的是交互式汇编程序 后端(keystone)。
  • 输入一个或多个由分号分隔的汇编语句。x86 目前只使用英特尔语法。
  • 当提示为disasm>时,您使用的是 反汇编后端(顶点)。
  • 输入由\xxx表示的一个或多个字节,其中xx是十六进制 价值。
  • 要切换后端,请使用switch asmswitch disasm
  • 要更改体系结构,请使用setarch <arch> <mode(s)>
  • 例如setarch x86 64
  • 可以使用多个由空格分隔的模式。
  • 使用lsarchlsmode查看支持的体系结构和 当前后端的模式
  • 目前,您需要知道哪些模式与每个模式相关 架构-如果不确定,请检查keystone/capstone源代码。
  • 键入help查看命令列表;help <cmd>查看 用于cmd的docstring。

示例用法

asm> inc eax; xor ebx, ebx
\x40\x31\xdb
disasm> \x40\x31\xdb
0x1000: inc     eax
0x1001: xor     ebx, ebx

坏了/我有个建议/等等。

请联系/提出问题/公关等!

已知问题

  • 目前没有。

待办事项

  • 程序集的语法突出显示和/或制表符完成
  • 智能模式选择
  • 支持不同的输入/输出格式
  • 测试套件

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
用setter将对象转换为java中的映射   java如何通过JQL直接找到多对多实体的交集?   java Android文本检查帮助   纸牌游戏中的java玩家顺序   java从活动A移动到活动B,再从活动B返回到活动A   java如何在GAE servlet中保存JSON文件以满足Android客户端的请求?   连接到本地主机上的SLiM服务器时发生java错误:8080   java是否可以使用setOnMarkerClickListener对for循环中创建的各种标记产生不同的结果?   检查数字是否为回文的java逻辑   java在两个独立的服务中是否存在数据同步模式?   java在组合框中选择ascendingorder时如何对元素列表进行排序   java如何在不更新旧表的情况下更新表中的字段并将其插入新表   javasos和return语句   java与示例安卓活动建立解析连接。错误:任务“:app:dexDebug”的执行失败   java Maven发布问题,带有代理授权的分叉部署过程,因为参数失败,需要407代理授权