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

Posted xrblog

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了去除控制流平坦化的工具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上折腾,最后一下午无果,我太难了)

参考

以上是关于去除控制流平坦化的工具deflat.py安装及使用的主要内容,如果未能解决你的问题,请参考以下文章

ansible安装及模块的管理

小试牛刀-利用AST平坦化一段瑞数代码

小试牛刀-利用AST平坦化一段瑞数代码

reverse虚假控制流入门:Ubuntu20.04安装ollvm4.0踩坑记+用IDApython去除BCF

reverse虚假控制流入门:Ubuntu20.04安装ollvm4.0踩坑记+用IDApython去除BCF

reverse虚假控制流入门:Ubuntu20.04安装ollvm4.0踩坑记+用IDApython去除BCF