OFRAK:一款功能强大的源代码分析和修改平台
关于OFRAK
OFRAK全称为Open Firmware Reverse Analysis Konsole,该工具是一款功能强大的源代码分析和修改平台,并由下列功能组成:
1、识别和解包各种源代码格式; 2、使用逆向工程工具分析解包后的源代码; 3、使用强大的代码修补策略修改和重新打包源代码文件;
OFRAK支持下列嵌入式固件文件格式:
1、压缩文件系统; 2、压缩&校验和固件; 3、引导加载程序; 4、RTOS/OS内核;
功能介绍
OFRAK能够给广大用户提供下列功能:
1、一个图形化的用户接口,支持以交互式和可视化的方式查看源代码; 2、一个Python API,可以用来读取和复制源代码; 3、递归识别、解压缩和重新打包许多文件格式,包含从ELF可执行文件到文件系统存档,再到压缩和校验和固件格式; 4、集成了强大的分析后端(angr、Binary Ninja、Ghidra、IDA Pro); 5、通用接口设计实现的可扩展性,可轻松编写额外的OFRAK组件,并添加对新文件格式或源码操作的支持;
环境搭建
我们推荐广大研究人员在Docker镜像中运行OFRAK,OFRAK的某些功能也可以在macOS上本地运行。
Docker配置:
python3 -m pip install PyYAML
python3 build_image.py --config ofrak-ghidra.yml --base --finish
OFRAK使用了GitLFS,因此我们需要在克隆项目代码前安装并配置好GitLFS:
git lfs pull
工具下载
git clone https://github.com/redballoonsecurity/ofrak.git
工具使用
OFRAK最好的使用方法就是通过交互式教程来使用,我们可以直接运行下列命令:
make tutorial-image # create the Docker image for the tutorial
make tutorial-run
几分钟之后项目便可以部署完成,运行之后,我们就可以在浏览器中访问localhost:8888来使用OFRAK了。
GUI前端
该工具提供了一个基于Web的GUI图形化用户接口,我们可以在这个GUI中查看到一个带有导航功能的资源树。对于所选的资源,还提供了:元数据、十六进制或文本导航,以及用于按熵、字节类或大小快速导航的迷你地图侧边栏。
除此之外,GUI还允许常见的Python API执行的操作,如注释、解包、分析、修改和打包资源:
工具使用演示
视频地址:https://ofrak.com/assets/demo.mp4
许可证协议
本项目的开发与发布遵循OFRAK社区开源协议。
项目地址
OFRAK:https://github.com/redballoonsecurity/ofrak
参考资料
https://ofrak.com/ https://git-lfs.github.com/
相关文章
- 使用 Amazon DynamoDB 构建可扩展的梦幻足球数据库模型
- Python01_Python初识
- 在 AWS 上设计带事件流式传输功能的数据网格用于提供实时推荐
- 使用 AWS CloudFormation 和 AWS CLI 自动管理 Amazon Redshift Serverless 数据仓库
- 借助 GPU 和容器支持,在 AWS RoboMaker 中运行任何高保真模拟
- 在 AWS Cloud9 中构建和模拟机器人应用程序
- 快速java_Java快速教程
- 为 AWS RoboMaker 准备 ROS 应用程序和模拟容器
- 使用 AWS IoT Greengrass 2.0 和 Docker 部署和管理 ROS 机器人
- 无需管理任何基础设施即可在云端构建和模拟 Mini Pupper 机器人
- 基于 Amazon OpenSearch 的 Apache Solr 的迁移方案设计及实现
- DirectConnect 与 VPN 主备高可用组网
- 基于Amazon DeepRacer Opensource实现自定义车道线识别任务
- 如何进行威胁模型分析
- 使用Amazon SNS & SQS 实现 Amazon CloudWatch 持续报警
- 基于Amazon IoT TwinMaker的工厂数字孪生解决方案
- 快速迁移自建Kubernetes资源上云及EKS资源备份恢复–基础篇
- 从Amazon Connect全球云呼叫中心服务SSO构建流程
- 针对常见物联网安全事件的持续检测和监控解决方案
- Kabbage 如何通过 Amazon Textract 改善 PPP 贷款体验