• 去除控制流平坦化的工具deflat.py安装及使用


    去除控制流平坦化的工具deflat.py安装及使用

    仅作记录,貌似已经失效了。。。。。。太难了

    安装相关配件

    安装virtualenvwrapper

    • 首先要安装virtualenvvirtualenvwrapper

      #安装virtualenv
      pip install virtualenv
      
      #安装virtualenvwrapper
      pip install virtualenvwrapper
      
    • 安装好后,配置环境变量

      export WORKON_HOME=$HOME/Python-workhome
      

      其中的$HOME/Python-workhome就是接下来准备存放虚拟环境的地址

    • 启动脚本

      source /usr/local/bin/virtualenvwrapper.sh
      
    • virtualenvwrapper相关操作命令

      # 创建环境
      mkvirtualenv NewEnvName
      
      # 显示当前已有环境
      workon
      
      # 切换环境
      workon EnvName
      
      # 退出环境
      deactivate
      
      # 删除环境
      rmvirtualenv EnvName
      

      举例来说(图中是在mac上安装的演示,但angr死活安装不上,弄了很久,最后改成了在ubuntu16.04中安装):)

    • 在这里,我们使用命令创建名为angrenv的虚拟环境来完成剩下的操作

      mkvirtualenv deflatEnv
      

    在deflatEnv中安装angr

    • 在macOS上安装,会疯狂报错,主要就是什么unicorn的问题,折腾了好久,最后转战Ubuntu,一下子就安装成功了。。。。。。

    • 安装angr

      pip install angr
      

      十分流畅:)

    在deflatEnv中安装BARF

    • BARF在github的仓库中,找到了安装教程,使用如下命令进行安装

      mkdir barf
      cd ./barf
      git clone https://github.com/programa-stic/barf-project
      cd ./barf-project
      sudo python setup.py install
      
    • README.md中提到了,需要安装Z3和CVC4,但没安装也顺利把BARF安装完了。。有问题再说

    安装deflat

    • 使用如下命令,安装deflat

      mkdir deflat
      cd ./deflat
      git clone https://github.com/SnowGirls/deflat.git
      cd ./deflat
      

    使用deflat

    • 根据deflat的github中的内容,可以使用如下命令来执行去除控制流平坦化的工作

      python deflat.py check_passwd_flat 0x400530
      

      其中,0x400530是IDA中相关函数的地址

    • 但是,我执行以后却会报错,再次查找,根据修复去除控制流平坦化工具deflat.py中的描述,进行了修改

    • 再次执行,还是报错,后来看到了issue中的内容,应该是因为版本不匹配导致的问题,最后一下午无果。。。(本来是做逆向,发现找不到main函数,随便翻翻,看到了控制流平坦化,网上都是同一种解决办法——使用deflat,先在mac上折腾,又在ubuntu上折腾,最后一下午无果,我太难了)

    参考

  • 相关阅读:
    linux 下ip命令对比ifconfig命令
    Redis使用详细教程
    shell中eval命令
    在Ubuntu 14.04 上安装 FTP 服务
    这本将shell的书应该不错
    linux sh 脚本调用外部命令
    c语言char 和int的问题
    ubuntu网卡ip的配置
    js中获取时间new date()的用法
    react 组件之间的通信
  • 原文地址:https://www.cnblogs.com/xrblog/p/11832409.html
Copyright © 2020-2023  润新知