Linux 下的逆向分析-初探

admin 2022年6月30日02:09:10Linux 下的逆向分析-初探已关闭评论252 views字数 1250阅读4分10秒阅读模式

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

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

```
edb-debugger安装

安装构建所需依赖 //设置开发者模式可开启root权限

apt-get git
apt-get install
apt-get pkg-config
apt-get cmake
apt-get build-essential
apt-get libboost-dev
apt-get libqt5xmlpatterns5-dev
apt-get qtbase5-dev
apt-get qt5-default
apt-get libgraphviz-dev
apt-get libqt5svg5-dev
apt-get 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

include

include

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

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

Linux 下的逆向分析-初探

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

Linux 下的逆向分析-初探

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

Linux 下的逆向分析-初探

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

Linux 下的逆向分析-初探

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

Linux 下的逆向分析-初探

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

Linux 下的逆向分析-初探

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

Linux 下的逆向分析-初探

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

px 16进制查看

pdf 反汇编

Linux 下的逆向分析-初探

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

Linux 下的逆向分析-初探

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

Linux 下的逆向分析-初探

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

Linux 下的逆向分析-初探

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

调试
载入后运行
edb 打开生成的hello文件,检测到函数入口点自动暂停

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

Linux 下的逆向分析-初探

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

Linux 下的逆向分析-初探

右键编辑

Linux 下的逆向分析-初探

看到此区域对应te

Linux 下的逆向分析-初探

下一行对应st

Linux 下的逆向分析-初探

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

Linux 下的逆向分析-初探

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

Linux 下的逆向分析-初探

输出验证

Linux 下的逆向分析-初探

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

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

Linux 下的逆向分析-初探

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

写入模式进行分析

Linux 下的逆向分析-初探

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

Linux 下的逆向分析-初探

查看地址引用情况

Linux 下的逆向分析-初探

原始

Linux 下的逆向分析-初探

修改

Linux 下的逆向分析-初探

测试

Linux 下的逆向分析-初探

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

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年6月30日02:09:10
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Linux 下的逆向分析-初探https://cn-sec.com/archives/1148887.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.