程序安装后文件:
首先分析bin文件夹:
其中ChromeCacheView是一个小工具,读取谷歌Chrome Web浏览器的缓存文件夹,并显示当前存储在缓存中的所有文件的列表。对于每个缓存文件,将显示以下信息:URL、内容类型、文件大小、最后一次访问时间、过期时间、服务器名称、服务器响应等等。您可以轻松地从缓存列表中选择一个或多个项目,然后将文件解压缩到另一个文件夹,或将url列表复制到剪贴板。
converter应该跟转换相关,都是一些dll文件,其中avcodec-58.dll是电脑系统中一个非常重要的dll文件,许多的游戏或者软件运行都需要它的支持,如果没有这个文件可能会造成一些游戏或者软件运行不了;
data里面是两个数据库文件ios.db,numberhome.db
document、Essential不知道功能
ffmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。
html网站类
jieba
库是一款优秀的 Python 第三方中文分词库,jieba
支持三种分词模式:精确模式、全模式和搜索引擎模式,一些网站就是利用jieba库的中文分词搜索关键词进行工作。
preview是插件类
profiles分linux和mac,
是一些 启动项。
2. dokan
什么是Dokan库
=====================================================================
当你想要在Windows下创建一个新的文件系统的时候,比如,改进FAT或者NTFS,你需要开发一个文件系统驱动。在内核模式开发一个设备驱动是一个非常棘手的问题。通过使用Dokan库,你可以很轻松地创建一个属于你自己的文件系统,而不需要写一个设备驱动。Dokan库源于?FUSE(Linux用户下的文件系统),但是工作在Windows环境下。http://dokan-dev/en/about/
可以虚拟映射盘。
Dokan Library 帮助程序员在windows系统下轻松建立用户级文件系统,不需要写设备驱动,其与FUSE(Linux user mode file system)类似。
3.example文件夹是python文件
# 单机版该脚本测试数据路径:安装目录\example\python\exmaple.zip
import frame
import model
import sqlitehelper
from datetime import datetime
from model import File
from gedata import GEModel,GECharField,GEIntField,GETimeField
# 所有自定义Model类型必须继承GEModel
class TestData(GEModel):
CharData = GECharField("文本数据")
IntData = GEIntField("数字数据")
# 注意GETimeField字段只能以datetime类型赋值
TimeData = GETimeField("时间数据")
def commit_data_example(frm:frame.Frame):
"""
提交数据三步走:创建节点,为节点添加数据,保存。
"""
root = frm.create_root_node("示例-根节点")
subnode = root.create_node("示例-子节点")
subnode.add_data_item(TestData("第一条数据",0,datetime.now()))
subnode.add_data_item(TestData("第二条数据",1,datetime(2019,1,2,13,45,0)))
root.save()
def get_files_examples(frm:frame.Frame):
""" 无论是框架内置model类还是用户自定义的model类,都会有get_data方法。
最经常使用的是File类用于获得证据中文件信息。
get_data返回值支持迭代,切片,len等常用操作
"""
print("文件总数:",len(File.get_data(File.Type==model.FILE_TYPE_REG)))
db_files = File.get_data(File.Ext=="db")
print("db文件总数量:",len(db_files))
for f in db_files:
# 这里f是一个字典类型数据,数据结构与File一致
abs_path = frm.get_abs_path(f["FullPath"])
print(f["Name"],f["FullPath"],abs_path)
a_files = File.get_data(File.Ext.in_(["xml","db"]))
print("xml和db文件总数:",len(a_files))
b_files = File.get_data(File.Ext=="xml",
File.Name.in_("preferences"))
print("文件名中包含preferences的xml文件数:",len(b_files))
for f in b_files:
print(File(**f).FullPath) # 我们可以通过File(**f)操作将其转换成File对象
def get_info_example(frm:frame.Frame):
""" 获取案件,证据相关信息
"""
print("当前案件路径:", frm.get_case_path())
print("当前证据路径:", frm.get_evidence_path())
print("程序安装目录:", frm.get_app_install_dir())
print("证据挂载点:", frm.get_mount_point())
print("程序版本:", frm.get_app_version())
def GEMain(frm:frame.Frame):
"""
在用户编写的火眼脚本中,一定要包含GEMain函数。
GEMain函数有一个frame.Frame类型的参数,用于与火眼框架交互
"""
get_info_example(frm)
get_files_examples(frm)
commit_data_example(frm)
"""
单机版该脚本测试数据路径:安装目录\example\python\appexample\example.zip
在这个示例中,我们将解析android蓝牙传输数据,
并使用内置的BluetoothTransmission提交。
"""
import frame
import sqlitehelper
from datetime import datetime
from configobj import ConfigObj
from model import File,BluetoothTransmission
from gedata import GEModel,GECharField,GEIntField,GETimeField
class MyBluetoothTransmission1(GEModel):
SenderMac = GECharField('发送方蓝牙地址')
SenderName = GECharField('发送方设备名称')
ReceiverMac = GECharField('接收方蓝牙地址')
ReceiverName = GECharField('接收方设备名称')
FileName = GECharField('传输文件名')
Size = GEIntField('大小')
FilePath = GECharField('文件路径')
FileType = GECharField('文件类型')
StartTime = GETimeField('开始传输时间')
EndTime = GETimeField('完成传输时间')
Status = GECharField('传输状态')
def parse_android_bluetooth(frm, device_info):
if "Adapter" in device_info:
self_name = device_info["Adapter"].get("Name","")
self_mac = device_info["Adapter"].get("Address","")
else:
self_mac = ""
self_name = ""
root_node = frm.create_root_node("蓝牙文件传输-py", "baseinfo", "bluetooth")
trans_node = root_node.create_node("传输记录", "baseinfo", "bluetoothtransmission")
bt_files = File.get_data(File.Name == "btopp.db")
for file in bt_files:
abs_path = frm.get_abs_path(file["FullPath"])
helper = sqlitehelper.SqliteHelper(abs_path)
if "btopp" not in helper:
continue
for record in helper["btopp"].dict_datas(): # 依次遍历表btopp每一行数据
item = MyBluetoothTransmission1()
if record.get("direction") == "0": # 本机为发送方
item.SenderMac = self_mac
item.SenderName = self_name
item.ReceiverMac = record.get("destination","")
if item.ReceiverMac in device_info:
item.ReceiverName = device_info[item.ReceiverMac].get("Name","")
else:
item.ReceiverName = ""
else:
item.SenderMac = record.get("destination","").lower()
if item.SenderMac in device_info:
item.SenderName = device_info[item.SenderMac].get("Name","")
else:
item.SenderName = ""
item.ReceiverMac = self_mac
item.ReceiverName = self_name
item.FilePath = record.get("_data","")
item.FileName = record.get("hint","")
item.Size = int(record.get("total_bytes","0"))
item.FileType = record.get("mimetype","")
timestamp = record.get("timestamp")/1000
item.StartTime = datetime.fromtimestamp(timestamp)
if record.get("status") == 200:
item.Status = "success"
else:
item.Status = "failed"
item.SrcFilePath = file["FullPath"]
trans_node.add_data_item(item)
if len(trans_node.data_items)!=0:
root_node.save()
def parse_device(frm):
"""
使用ConfigObj解析bt_config.conf文件并对文件有效性做基础校验
bt_config.conf文件中记录了当前蓝牙MAC地址与曾经配对过蓝牙的设备信息
返回 dict类型
"""
config_files = File.get_data(File.Name == "bt_config.conf")
for file in config_files:
abs_path = frm.get_abs_path(file.get("FullPath"))
config = ConfigObj(abs_path)
if "Adapter" in config and "Address" in config["Adapter"]:
return config
return {}
def GEMain(frm):
device_info = parse_device(frm)
parse_android_bluetooth(frm, device_info)
hotfix文件是补丁,其中有Windows6.1-KB3033929-x64.msu
jre不分析
locales是语言包:en-US.pak和zh-CN.pak
plugin有很多gex文件,不知道是用来干啥的
pyplugin中有一些python库不能打开了,
py是源文件,
pyc是源文件编译后的文件
pyo是源文件优化编译后的文件
pyd是其他语言写的python库
pyforensic,应该是鉴定相关的,id,服务器,使用记录等很多的分析,可以有空再看看
Python36不分析
resources中:
TheCyberSwissArmyKnife用于加密编码压缩和数据分析Web应用程序
SwiftShader 是一款用于在 CPU 上进行高性能图形渲染的软件库。Google 已经在很多产品中使用该内容库,包括 Chrome、Android 开发工具和云服务。Swiftshader 从今天开始完全开放源码,扩展了其应用范围。https://wwwblogs/micro-chen/p/9115430.html
Volatility这个开源的取证框架,这个框架能够对导出的内存镜像镜像分析,能过通过获取内核的数据结构,使用插件获取内存的详细情况和运行状态,同时可以直接dump系统文件,屏幕截图,查看进程等等等等~~~
WeChat好像跟微信安装文件差不多,不知道有没有没看出来的微信分析工具
app.json文件是这个
{
"python": "Python36/python.exe",
"java": "jre/bin/java.exe",
"pyplugindir": "pyplugin",
"pypipsource": "https://pypi.tuna.tsinghua.edu/simple/"
}
其他的不太会分析,
该软件主要功能有: 支持常见文件系统的自动识别和解析,如 NTFS 、 FAT32 等。 支持磁盘和镜像内容的十六进制查看和预览。 支持操作系统版本、启动项、已安装软件的自动解析。 支持 Windows 注册表的分析,如系统服务、最近打开的文档等。 支持 Windows 事件日志的记录分析。 支持 Android 、 iOS 平台的移动设备数据分析。 支持常见浏览器的历史记录和书签的解析,如 IE 、 Chrome 、 Firefox 等。 支持常见即时通讯软件的聊天记录、账号信息等的解析,如腾讯 QQ 、 微信等。 支持常见安全软件的下载记录、上传记录的解析,如 360 安全卫士、 腾讯电脑管家。 支持常见邮件软件的账号信息、邮件信息等解析,如网易邮件大师、 网易闪电邮等。 支持设备基本信息的解析,如厂商、型号、 MAC 地址、 IMEI 和操 作系统以及手机名臣等手机基本数据。 支持对手机通讯录、通话记录、短信、 WiFi 连接记录和账号信息的 采集分析。 支持手机应用列表以及手机内的图片、视频、音频、便签和手机 SIM 卡使用记录等数据的解析。 支持对手机蓝牙连接记录和数据传输记录的解析。 支持常见手机浏览器的历史记录和书签的解析,如 QQ 、 Chrome 、 UC 等。 支持常见即时通讯软件的聊天记录、浏览记录、收货地址和购物车 列表等解析,如美团、饿了么、大众点评等。 支持常见邮件软件的账号信息、邮件信息等解析,如 QQ 邮箱、网易 邮箱大师等。 支持常见旅行交通软件的账号信息、搜索历史、收藏记录等解析, 如高德地图等。 支持常见手机输入法用户词条、搜索历史等解析,如搜狗输入法、 讯飞输入法等。 支持手机上 WPS Office 的数据解析。 支持文件导出和生成报告功能。更多推荐
honglian证据分析软件程序学习分析
发布评论