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

访客4年前黑客资讯957

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.维持细胞外液的渗透压,...

英国博尔顿大学怎么样(博尔顿大学本科申请条件)

博尔顿大学(University of Bolton 曾经用过:波尔顿高校)是一所立足于英伦风格,朝向国际性的综合性学校。为1824年创立。该学校位于在美国的经济文化艺术区域中心城市墨尔本近郊区,具备...

光遇7月24日在霞谷重温先祖回忆怎么完成 光遇在霞谷重温回忆先祖位置

光遇7月24日在霞谷重温先祖回忆怎么完成 光遇在霞谷重温回忆先祖位置

sky光遇7月24日在霞谷重温先祖回忆的任务还不是很难哦,所以下面小编就和大家简单介绍一下在霞谷重温回忆先祖的位置吧。 24号先祖回忆位置 今天的先祖在霞谷。 我们先滑到下图这个位置,注意不...

小龙坎火锅是24小时营业吗(小龙坎火锅底料怎么样)

  一旦你进到火锅店,它如同海洋一样深。此后,它变成过路人.   太原市长风店早已打卡签到好几回了。有一次,我在盆友那边听闻有一家假店铺,但我也不知道它是真的吗。嘿嘿,可是美味可口是确实,因此 别理他...

黑客破解ID(黑客破解id锁)

黑客破解ID(黑客破解id锁)

本文导读目录: 1、苹果手机被黑客黑了id怎么办? 2、苹果id黑客解锁还可以远程锁吗 3、黑客攻击苹果ID后手机会出现什么? 4、黑客怎样解苹果id锁/黑客怎样解苹果id锁 5、黑客...

黑客帝国2度盘下载(黑客帝国2网盘链接)

黑客帝国2度盘下载(黑客帝国2网盘链接)

本文导读目录: 1、求黑客帝国系列百度云 高清 2、黑客帝国、机器人总动员的百度云有吗?谢谢 3、谁有下载黑客帝国2电影天堂]种子的网址有发必采纳 4、求 黑客帝国2:重装上阵 百度网盘免...