逆向

逆向

脱壳小试

前言 关于IDA的中文教程确实少,没有实例甚至讲解,都是自己琢磨的 本文是我按照网上其他人写的用ollydbg脱壳思路,这里尝试使用ida pro进行脱壳,该crackme在其他地方并没有脱壳教程 crackMe 前面有一节的TBM crackMe 逆向 是直接跳过脱壳部分,这一节补一下 ESP定律 ESP定律就是利用堆栈平衡的原理,迅速找到OEP(真实的程序入口) 通常的壳会把一些真实程序运行的资源进行压缩,等到压缩程序运行起来的时候,先进行解压,再跳到OEP的继续运行真实程序 在解压之前需要把当前环境进行保存,例如寄存器esp,那么在此下硬件断点,当压缩程序尝试恢复该寄存器值时,必然会去访问该保存,此时就能被前面的断点断住 环境 win10 ida pro Version 6.8.150423 (64-bit) crackMe TBM scylla x64 v0.9.7c PEID V0.95.EXE(可选)

By chainhelen

逆向

crackme 一只老虎

环境 看雪论坛的附件,其中序列号的第二题 IDA PRO 破解版 Version 6.8.150423 (64-bit) 入口 首先输入任意字符串注册注册名 : qianhailong ; 注册码 : longlong 点击注册,显然因为输入有问题错误而没有任何弹窗 拖入IDA PRO,断点调试,首先需要找到入口 思路一,尝试寻找类似GetDlgItemTextA获取字符串的导入函数 ,并没有什么发现,只有可疑的GetWindowTextA、GetWindowTextW、GetKeyNameTextA 先此几处下断点,此时看到的现象是多种事件行为都会触发这几个函数,例如click、 focus等,难以调试 思路二,寻找关键字符串,view -> open subviews -> strings 或者 热键shift+F12,然而也没有什么线索,还有几处中文乱码不清楚是什么 思路三,点击事件,在Functions

By chainhelen
crackme TBM

逆向

crackme TBM

环境 看雪论坛的附件,其中序列号的第一题 IDA PRO 破解版 Version 6.8.150423 (64-bit) 含有下文注释的ida pro数据文件 过程 (跳过UPX脱壳过程) 首先在界面中输入Name,和Serial,发现错误的情况并不会有弹窗 拖入IDA,可见Functions View 导入表中含有GetDlgItemTextA,那么在此处DLL设下断点 输入Name: woshi; Serial : 1234567运行触发 触发点断后,返回上一层CR-F7 或者 Run until Return seg019:00401539 call GetDlgItemTextA seg019:0040153E mov ebx, eax seg019:00401540 or ebx, ebx ; 验证Name填入不可为空

By chainhelen

c语言

编译clang

环境 windows10 vs2015update3 community版 cmake3.7.2 Python 3.5.3 GnuWin32 tools llvm4.0源码 安装过程 首先安装vs2015updaate3 community版,双击iso镜像文件,win10系统自动挂载,在虚拟镜像里面双击vs_community.exe,选择默认安装即可 python、cmake安装过程比较简单,但是确保安装完成后都在环境变量PATH里面 唯一不一样的地方是我并没有安装GnuWin32,我装了codeblock(默认有mingw),然后把lib,include,bin目录都加在环境变量PATH里面,接在再添加了环境变量include,lib 下载llvm-4.0.0.src.tar.xz源码,改名llvm,解压作为源码根目录 下载cfe-4.0.0.src.tar.

By chainhelen
c语言内存分配

编译原理

c语言内存分配

背景 网上的关于c语言内存分配的文章满天飞,先随便荡一份事例,但是从不同的角度讲一下这个案例 对于下面的代码生成的程序,基本采用如下命令反编译 objdump -M intel -s -d -x main.o | objdump -s -x -d -M intel a.out | nl -ba -M intel 输出intel寄存格式,便于阅读 -s 输出section的信息 -d 反汇编.text的逻辑 -x 尽可能反编译信息 全局/静态初始化 首先看看全局初始化过的变量,它应该在反汇编哪个地方呢? 就是代码中变量 a 所对应的 100 #include <stdio.h> int a

By chainhelen

edb

edb 安装小记

发现神器 逆向工具ollydbg对于64位支持不好,而且只是windows下而已。发现神器edb,linux下qt编写而成。 github地址,我当前系统是xubuntu 15.04 64位系统。 安装 下载qt,qt官网地址,下载.run文件,然后./xxx.run,安装图形界面安装即可。或者 sudo apt-get install qt-sdk 下载edb源码 git clone git@github.com:eteran/edb-debugger.git 安装命令如下: $ mkdir build $ cd build $ cmake .. $ make $ ./edb 问题1 但是我在cmake ..的时候报错,如下:  没有boost头文件,安装boost完美解决

By chainhelen