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

访客4年前黑客资讯966

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

相关文章

黑客获取网络权限(黑客侵犯网络隐私权)

黑客获取网络权限(黑客侵犯网络隐私权)

本文导读目录: 1、入侵无线网络问题 2、网络黑客是怎么操作的 3、黑客是怎样通过网络入侵电脑的? 4、网络入侵和攻击的常用方法 5、黑客攻击的三个阶段是什么?黑客在这三个阶段分别完成...

九格子老火锅加盟费用低廉?助您开启圆梦之旅

九格子老火锅加盟费用低廉?助您开启圆梦之旅

创业者在创业之前一定要选择一个深受消费者喜爱的品牌,恰好九格子老火锅加盟就非常受消费者的欢迎,极具发展潜力。在市场中,九格子老火锅加盟的特色产品越来越受到人们的认可,更加具有发展前景,备受加盟商的青睐...

雄狮黑客软件(雄狮网络科技有限公司)

雄狮黑客软件(雄狮网络科技有限公司)

本文导读目录: 1、史上最厉害的雄狮 2、为什么电脑自动下载天将雄狮 电脑管家 软件管理 爱奇艺 3、加快智能化布局 雄狮科技南京研发中心投入运营 4、野战雄狮提示没有 xscript.d...

企业如何做好网络推广,提高网络推广的转化率?

企业如何做好网络推广,提高网络推广的转化率?

如今创业的门槛越来越低,各个行业的企业都面临着同行竞争。于是如何推广宣传自己的产品和服务显得至关重要!毕竟现在已经过了酒香不怕巷子深的时期了。据数据统计,2019年搜索引擎的使用率达到81.3%。所以...

黑客软件怎么找-怎么做一名合格的黑客(怎样做一名合格的黑客)

黑客软件怎么找-怎么做一名合格的黑客(怎样做一名合格的黑客)

黑客软件怎么找相关问题 黑客怎么查看别人手机相关问题 马云请不动的黑客叫什么 qq估价器在线查询(晒号网qq估价器)...

增塑剂作用(儿童玩具增塑剂超标)

增塑剂作用(儿童玩具增塑剂超标) 前段时间小学终于开学了,父母们大大松了一口气! 可紧接着,质检部门的一条消息让父母们担心起来,回家检查孩子的玩具。 这是怎么一回事? 半数儿童玩具不合格,检出...