zoukankan      html  css  js  c++  java
  • 自制反汇编逆向分析工具 迭代第二版本

    上一篇介绍了我的工具选用了bash和html5,以及基础的可视化分析功能。

    本篇则是基于上一版本,迭代功能的版本。先看一下效果图。

     

    再一张过滤寄存器rbx和mov数据传送指令,(当然还包括一个小虫,有一处rbx没有显示正确的颜色。)

    这个版本增加了汇编码与可视分析图关联对应的功能:1个代码显示区域,2个代码过滤功能按键(分别是指令操作和指令操作寄存器的过滤),1个放缩倍数功能按键。

    1.汇编码在最右则新增加的区域中显示,并且显示位置与指令在代码段中偏移位置对应。

    2.汇编代码区可以选择过滤某一寄存器相关的指令操作。以及可以过滤去立即数相关的指令操作。

    3.如果某一寄存器被选择作为过滤目标,寄存器对应的不同位的使用也作为过滤目标。例如rax,对应rax,eax,ax,ah和al。

    4.如果寄存器过滤选择了none,汇编代码区将完整显示全部代码。

    5.在寄存器过滤器选择了某一寄存器的情况下,指令操作过滤器作为二级过滤起作用。

    6.指令操作过滤器,目前版本只对数据传送指令和比较检测指令提供支持。

    7.对数据传送指令的过滤功能为,将指令分为四类,非数据传送指令的指令以灰色显示,数据传送指令由另外三类组成,红色目的操作寄存器被修改,蓝色目的操作寄存器寻址内存单元被修改,绿色为源操作寄存器读访问。

    8.对比较检测指令的过滤功能只将指令高亮。

    9.放缩功能,是因为显示代码是按指令在代码段的偏移位置作为排版的依据,放缩是提供垂直方向上的位移单位。

    本工具还在开发,还有其它用途的工具。

    最后谢谢路过的你观看。

    PS: html5 javascript编程用到算法数据结构都是以apple sdk的cf基础库和mach内核代码的queue.h为基础,就是将c的东西和算法思想移植过去,并不是说舍弃本业。

  • 相关阅读:
    [转]Spring的IOC原理[通俗解释一下]
    自我介绍
    什么是存储过程
    Linux 之 最常用的20条命令
    [转]sql语句中出现笛卡尔乘积 SQL查询入门篇
    mysql 多表连接
    正则表达式
    postman 测试API
    [转]mysql 视图
    数据库 修改统一显示时间
  • 原文地址:https://www.cnblogs.com/bbqzsl/p/5329427.html
Copyright © 2011-2022 走看看