首页
社区
课程
招聘
[原创]Linux 下的逆向分析-初探
2022-6-20 13:40 14337

[原创]Linux 下的逆向分析-初探

2022-6-20 13:40
14337

环境信息

系统信息:统信UOS 家庭版21.3

涉及工具:gcc、edb-debugger、ghidra、radare2

edb-debugger安装
# 安装构建所需依赖  //设置开发者模式可开启root权限
apt-get install git
apt-get install pkg-config
apt-get install cmake
apt-get install build-essential
apt-get install libboost-dev
apt-get install libqt5xmlpatterns5-dev
apt-get install qtbase5-dev
apt-get install qt5-default
apt-get install libgraphviz-dev
apt-get install libqt5svg5-dev
apt-get install libcapstone-dev

# 构建与运行 //只打算在构建目录中运行edb-debugger
git clone --recursive https://github.com/eteran/edb-debugger.git
cd edb-debugger
mkdir build
cd build
cmake ..
make
./edb
# 所有用户在系统中安装
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/ ..
make
make install
edb

测试代码 test.c

#include <stdio.h>
#include <stdlib.h>
#include <sys/ptrace.h>


void main() {
    puts("test");
}

基本信息

可使用r2  -A ./helllo 打开要分析的文件   命令解析:运行“aaa”命令以分析所有引用的代码

it   //命令解析:计算文件hash信息

iI   //命令解析:显示文件二进制信息

ii //命令解析:显示文件导入信息

iz    //命令解析:列出数据段中的字符串

iE   //命令解析:导出(全局符号)

afl   //命令解析:列出函数

s main //跳转到main函数地址    命令解析:要在我们正在检查的文件中移动,我们需要使用s命令更改偏移量。

px 16进制查看

pdf 反汇编

或使用pdf@main命令进行查看  //@指定函数名称

或使用agf查看基本的函数视图

查看关键地址的16进制信息

备注:若命令进不住可输入v命令进入图形化操作界面

调试

  • 载入后运行

    edb 打开生成的hello文件,检测到函数入口点自动暂停

    看到关键代码地址---0x402004

  • 跳转到对应地址

    反汇编区右键选择Goto Expression...  输入对应地址

右键编辑

看到此区域对应te

下一行对应st

二进制编辑字符串将te修改为fe

返回查看对应的数据已改变  //右键Goto Rip 可返回

输出验证

反编译查看

使用Ghidra加载hello文件,在Symbol Tree模块的Functios文件夹内找到main函数,点击进入

发现反编译后的伪代码与实际代码对比关键位置无错误,可读性也很不错

修改文件

备注:建议在修改前对涉及到的原文件进行备份

写入模式进行分析

关键代码数据对应地址信息:0x402004

查看地址引用情况

原始

修改

测试


初探部分内容到此告一段落,有缘再会



[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

最后于 2022-6-23 16:33 被梦幻的彼岸编辑 ,原因:
收藏
点赞6
打赏
分享
最新回复 (2)
雪    币: 26
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
mb_YLRCKecq 2022-7-22 21:50
2
0
APP逆向渗透拿权能不能行
雪    币: 2620
活跃值: (4329)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
zylrocket 2022-7-26 20:35
3
0
可以加个好友吗?
游客
登录 | 注册 方可回帖
返回