当前位置: 首页 > news >正文

Shellcode分析工具PyAna

Shellcode分析非常重要。然而,静态分析效果不佳,并且很容易失败。另外,静态分析工具通常不是免费的。而动态分析需要在适当的环境中,将shellcode加载到另一个进程中,通常是一个虚拟机。

Shellcode分析工具PyAna

  PyAna原理

本文中我们将介绍一款新工具PyAna,该工具旨在使得分析shellcode更容易。PyAna使用Unicorn框架来模拟CPU,并创建一个虚拟的Windows进程,shellcode就是注入到该进程中来分析的。这使得它能够做到自动化分析,并能够提供一个灵活的轻量级环境,而不需要一个虚拟机。

在未来,PyAna将可以应用于其他领域的安全研究,如fuzzing或漏洞利用检测。

使用方法

命令行类型:PyAna.py [shellcode]

例如:PyAna.py Samples/UrlDownloadToFile.sc

显示结果报告:

Shellcode分析工具PyAna

  依赖环境

PyAna依赖于以下环境:

1、Nguyen Anh Quynh开发的Unicorn框架和Capstone

2、Ero Carrera开发的pefile

目前功能

1、使用Unicorn绑定并以Python语言实现

2、模拟一个简单的shellcode:calc、UrlDownloadToFile

3、Windows系统结构模拟器目前还不完整

4、一些Win32 API hook

5、仅仅支持32位

后续工作

1、支持Windows上的PE文件

2、支持拆包

3、应用到fuzzing、漏洞利用检测方面

下载地址:

https://github.com/PyAna/PyAna


本文转自d1net(转载)

相关文章:

  • Maven 搭建spring boot多模块项目
  • 职场小说推荐
  • 福禄克重磅推出模块化压力控制器6270A
  • IE和Firefox(火狐)在JavaScript方面的不兼容及统一方法总结
  • 违章查询免费api接口代码
  • 名词解释 内存镜像
  • 整顿互联网医院, 更好的完善医疗服务!
  • 关机前清除电脑垃圾
  • 库存分配
  • 【comparator, comparable】小总结
  • 用C#改写Head First Design Patterns--Command 命令(原创)
  • 海康威视复赛题 ---- 碰撞避免方案(1)
  • C# 中的常用正则表达式总结
  • Node 即学即用 笔记 思维导图
  • 程序员的十层楼:大家都来测测你的技术层级
  • AHK 中 = 和 == 等比较运算符的用法
  • git 常用命令
  • iOS高仿微信项目、阴影圆角渐变色效果、卡片动画、波浪动画、路由框架等源码...
  • Java IO学习笔记一
  • Linux Process Manage
  • Node + FFmpeg 实现Canvas动画导出视频
  • react 代码优化(一) ——事件处理
  • React+TypeScript入门
  • react-core-image-upload 一款轻量级图片上传裁剪插件
  • SegmentFault 社区上线小程序开发频道,助力小程序开发者生态
  • Vue实战(四)登录/注册页的实现
  • 高程读书笔记 第六章 面向对象程序设计
  • 简单数学运算程序(不定期更新)
  • 设计模式走一遍---观察者模式
  • 学习HTTP相关知识笔记
  • TPG领衔财团投资轻奢珠宝品牌APM Monaco
  • # .NET Framework中使用命名管道进行进程间通信
  • ###C语言程序设计-----C语言学习(3)#
  • (1综述)从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练
  • (Redis使用系列) SpirngBoot中关于Redis的值的各种方式的存储与取出 三
  • (办公)springboot配置aop处理请求.
  • (接口自动化)Python3操作MySQL数据库
  • (三)elasticsearch 源码之启动流程分析
  • (三分钟了解debug)SLAM研究方向-Debug总结
  • (转)VC++中ondraw在什么时候调用的
  • (转)微软牛津计划介绍——屌爆了的自然数据处理解决方案(人脸/语音识别,计算机视觉与语言理解)...
  • .net CHARTING图表控件下载地址
  • .Net IE10 _doPostBack 未定义
  • .NET/C# 在代码中测量代码执行耗时的建议(比较系统性能计数器和系统时间)...
  • .pub是什么文件_Rust 模块和文件 - 「译」
  • [Asp.net MVC]Bundle合并,压缩js、css文件
  • [BZOJ3757] 苹果树
  • [C++基础]-入门知识
  • [CentOs7]图形界面
  • [C语言][PTA基础C基础题目集] strtok 函数的理解与应用
  • [echarts] y轴不显示0
  • [Flutter]WindowsPlatform上运行遇到的问题总结
  • [Kubernetes]9. K8s ingress讲解借助ingress配置http,https访问k8s集群应用
  • [loj6039]「雅礼集训 2017 Day5」珠宝 dp+决策单调性+分治
  • [LWC小知识] 标准lightning-input-field怎么取得变更值(onchange)