南京邮电大学 linux实验报告,【字符串Linux面试题】面试问题:南京邮电大学 … - 看准网...

主要收获:

这题对我来说,算是第一次在Linux上调试。中间光是环境,方法之类的都花了我很多时间。

尝试了IDA远程调试,尝试了EDB,和GDB。最后还是觉得EDB好用一些。但静态调试还是使用IDA

很像OD的界面。

我用的Ubuntu下EDB,github上上能找到安装步骤,ubuntu版本大于15.0安装方法如下,对应着输入指令。

# install dependencies

sudo apt-get install \

cmake \

build-essential \

libboost-dev \

libqt5xmlpatterns5-dev \

qtbase5-dev \

qt5-default \

libqt5svg5-dev \

libgraphviz-dev \

libcapstone-dev

# build and run edb

git clone --recursive https://github.com/eteran/edb-debugger.git

cd edb-debugger

mkdir build

cd build

cmake ..

make

./edb

解题过程:

既然调试好了linux环境,先在Linux下运行文件看看。注意要64位环境,否则运行不了。

965eaa0fc0a8e1c75c947551b259f995.png

字面理解说是加密后的数据,但是也不太明白。

然后在IDA里有一个名为

bf9e0da2abad321c64bc7fba0b487164.png的静态函数

,好像是用来加密数据的。

使用edb将程序断在

de872981c646d573e6f1b97c1370345d.png

再观察堆栈知道这就是输出来的数据

124519455213c5ff864c33cc1577d3cc.png

在IDA里观察函数

de2a0806fc5c80c5ab155eed4ebbf0d7.png

将rdi修改为这串字符串的起始地址,esi修改为数量。

然后修改rip使程序来跑这个函数,之后将所有的加密函数运行完后观察堆栈可以得到

a042d856c87ae0e3f0ff00b6136efd91.png

能感觉到这题还有很多点自己还没弄明白,参看了很多其他人的wp,感觉很少看到说全的。

带着疑惑继续学习吧

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值