Carbon:互动式反汇编专用工具

访客4年前黑客资讯954

Cerbero Suite是为x86/x64设计方案的一款互动式反汇编专用工具。最开始的目地是为了更好地使我们的客户可以查验运行内存转储中的编码及其shellcode。现如今,目前市面上现有十分优秀的反汇编专用工具,如IDA和Ghidra,我认为试着效仿在其中的一种专用工具是没有意义的。这也就是我设计方案该反汇编专用工具的缘故,另外因为我考虑到了顾客怎么使用Cerbero Suite的难题。

Cerbero Suite被很多做为文件原始归类的专用工具应用。我依旧还记得应用W33Da *** 的快乐时光,并从这当中获得了非常大的设计灵感。自然,W33Da *** 已没法解决愈来愈繁杂的状况。这就是为啥Carbon的设计方案中,我尝试将W33Da *** 等专用工具的及时性与更高級专用工具的协调能力融合起來的缘故。

特点详细介绍

Flat 反汇编视图

Carbon含有一个表明文件中全部命令的Flat 反汇编视图。我不会清除未来很有可能会出现数据图表视图,但它并不是我优先选择考虑到的事儿。

递归反汇编

递归反汇编程序流程是处理编码被数据信息终断的状况所必不可少的。Carbon将尽量的在较短期内内进行disassemble,并另外开展基础的剖析工作中。

速率

Carbon是线程同步的,能够十分迅速地解决大中型的文件。这针对文件的原始归类十分有效。

之上是大概十分钟内对60 MB chrome DLL实行的剖析。它是在vm虚拟机中运作的。将来的挑戰将是维持速率,另外提升大量的剖析文章段落。

x86/x64 适用

Carbon另外适用x86和x64编码。未来会适用大量构架。

事实上,Carbon的设计方案容许在同样的反汇编视图中混和构架。

不受到限制的数据库

一个新项目在Carbon中能够包括无尽个Carbon数据库。这代表着假如你已经剖析包括10个可实行文件的Zip文件,那麼这种文件中的每一个都能够有着自身的数据库。

值得一提的是:单独文件还可以有好几个数据库,只需点击Carbon菜单栏按键或按“Ctrl Alt C”就可以加上新的Carbon数据库。

假如你对剖析不满意,那麼你能根据右键单击有关的引言内容或挑选它并按“Del”轻轻松松删掉它。

脚本 ***

你只需两行Python编码就可以加载和disassemble一个文件。

s=createContainerFromFile(a)

obj=PEObject()

obj.Load(s)

c=Carbon()

c.setObject(obj, True)

if c.createDB(dbname) !=CARBON_OK:

print("error: couldn't create DB")

return False

if c.load() !=CARBON_OK:

print("error: couldn't load file")

return False

c.resumeAnalysis()

# wait for the *** ysis to finish...

剖析进行后,我们可以改动和访问其內部数据库的每个一部分,或是我们可以建立一个视图并表明反汇编:

ctx=proContext()

v=ctx.createView(ProView.Type_Carbon, "test")

ctx.addView(v, True)

v.setCarbon(c)

內部数据库应用SQLite,即便 不应用SDK还可以轻轻松松访问和改动它。

Python 加载程序流程

在很早以前以前我也决策应用Python撰写全部的文件加载程序流程。尽管这很有可能会使文件的加载速率偏慢(虽然不显著),但它容许客户自定加载程序流程并加上作用,进而出示了巨大的协调能力。加上新的文件加载程序流程也比较简单。

PE文件的全部加载程序流程大概有350行编码。它是初始文件的加载程序流程:

from Pro.Carbon import *

class RawLoader(CarbonLoader):

def __init__(self):

super(RawLoader, self).__init__()

def load(self):

# get parameters

p=self.carbon().getParameters()

try:

arch=int(p.value("arch", str(CarbonType_I_x86)), 16)

except:

print("carbon error: invalid arch")

arch=CarbonType_I_x86

try:

base=int(p.value("base", "0"), 16)

except:

print("carbon error: invalid base address")

base=0

# load

db=self.carbon().getDB()

obj=self.carbon().getObject()

# add region

e=caRegion()

e.def_type_id=arch

e.flags=caRegion.READ | caRegion.WRITE | caRegion.EXEC

相关文章

黑客专业网站(专业接单黑客联系方式)-华为手机管家能防黑客吗

黑客专业网站(专业接单黑客联系方式)-华为手机管家能防黑客吗

黑客专业网站(专业接单黑客联系方式)(tiechemo.com)一直致力于黑客(HACK)技术、黑客QQ群、信息安全、web安全、渗透运维、黑客工具、找黑客、黑客联系方式、24小时在线网络黑客、黑客业...

吃不胖的人是怎么回事 吃不胖的体质怎么养成

吃不胖的人是怎么回事 吃不胖的体质怎么养成

每一个人都身旁都是有一群嘟囔着要减肥瘦身的人,自然也是有许多在任何时刻本来吃的许多缺沒有胖过多的瘦人。实际上根据后天性调整也可以变为吃不胖体质。那麼长不胖的人是什么原因 长不胖的身体素质如何培养。八...

寻找网络黑客高手「24小时黑客联系方式」

网络高手在线咨询黑客联系方式寻找网络黑客高手单黑客联系方式,一网络高手在线咨询黑客联系方式寻找网络黑客高手单黑客联系方式方法总结1怎么寻找网络黑客。 网络黑客高手微信群,盗取黑客联系方式,黑客根据姓名...

快手黑客作业怎么发(快手黑客软件)

快手黑客作业怎么发(快手黑客软件)

本文导读目录: 1、快对作业怎么发手抄报? 2、再快手上被黑客发到腾讯网上会怎么样? 3、QQ里作业发送给别人 怎么看到作业里的内容 4、qq群里怎么发布作业每个人都收到 5、我的快手...

个性生日礼物?最有创意的定制礼品

个性生日礼物?最有创意的定制礼品

随着岁月的流逝,为男朋友寻找礼物可能会逐渐变得困难。您不想重复礼物,但您也想给他一些特别的礼物。 1.个性化相框   将您最喜欢的回忆之一的图片添加到个性化相框中。他可以展示这个礼物 2....

什么是自主招生?自主招生适合哪些学生

什么是自主招生?自主招生适合哪些学生

教育部的解释是:自主招生是我国高校考试招生制度的有机组成部分,是对现行统一高考招生录取的一种补充,主要选拔具有学科特长和创新潜质的优秀学生,也就是所谓的“偏才怪才”。   自主招生是我国高校正...