zoukankan      html  css  js  c++  java
  • AliCTF2014题目解析之<reverse-200>

    reverse-200

    2.jpg


    工具:procmon、immunity dbg、idapro


    首先通过procmon观察ch2.exe



    发现ch2.exe需要读取flag.txt,可以分析出ch2.exe是要读取flag.txt内容,加密后写到flag.crpyt
    目录下创建一个flag.txt,写入aaaaaaaaaaaa,再次使用procmon观察



    根据ch2.exe的api调用过程,开始动态调试
    首先
    bp ReadFile
    直接断在读取flag.txt的过程,继续执行到用户代码



    用IDA pro打开ch2.exe,到地址0x4022B8



    IDA自动识别出了所处的函数_read



    显然只是个读文件内容的函数,有可能是C语言的标准库。结合动态调试往外退,依次是如下函数
    _filbuf
    fread
    最后跟踪到0x40121E,这里IDA pro没能识别出指令,还有很多标红的地方,根据一些书中所说,应该是使用了反汇编机制了



    按《恶意代码分析实战》一书中所说的,写一段IDA python脚本,从0x401000开始将干扰码都改为NOP指令,改完后发现0x40121E下面指令序列变为



    随后调用了函数 sub_401000,查看函数sub_401000



    这里简单分析一下,可以看出就是加密函数了,逻辑很简单,限于篇幅,就不继续分析了。
    另:看了wuyun上一篇帖子的解法是不通过逆向分析,直接构造可见字符集交给程序加密,得到映射表,阿里大牛原意可能是让同学们用这种方法,不过使用逆向方法也不失为一次很好的锻炼机会。





  • 相关阅读:
    MYSQL常用命令集合(转载)
    Spring(七)持久层
    Spring(六)AOP切入方式
    面试题目
    11 集合
    10 常用类
    9 异常机制
    8 面向对象之抽象类+接口+内部类
    7 面向对象的三大特征
    6 面向对象之类和对象
  • 原文地址:https://www.cnblogs.com/Wrong-Side/p/4330843.html
Copyright © 2011-2022 走看看