re-for-50-plz-50 攻防世界

本文介绍了如何在攻防世界挑战中处理MIPS架构的ELF文件。由于MIPS无法直接反编译,作者推荐使用retdec插件进行辅助,详细说明了插件的安装和使用过程。此外,还提供了硬核阅读MIPS指令集的方法,通过分析关键汇编代码来解决问题。虽然耗时,但对于提升MIPS理解有所帮助。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ELF for mips

  • 掌握点:mips
  • 掌握点:IDA插件使用

有两种解题方法。

先看比较简单无脑的·,
大家都知道这个mips是不能完成反编译的。

那么就有一种方法了,
安装插件完成,
插件官网:https://retdec.com/

(国外网站速度比较慢)
github下载插件,并解压到IDA插件目录(X:\IDA_Pro_v7.0\plugins)里。

接下来安装retdec本体:

在IDA中使用插件,并指定Retdec本体中的py文件。

自己百度,
安装好了就可以很无脑了。
比较麻烦,我也没去装,
毕竟代码还是蛮容易读懂的,hhhh
// 这个感觉蛮有用的,以后有时间好好弄弄这个环境

方法二:硬肝,直接读mips的指令集。

参考https://www.cnblogs.com/thoupin/p/4018455.html

直接读汇编代码。

PS:疑问:为什么可以直接找到那一段代码呢
因为有一段可以字符串,
也有几个关键跳转,
前面的那些也可以去分析一波,但先直接看关键的先。

_4013C8:
lui     $v0, 0x4A	##将0x4A放到寄存器$vo的高十六位
(真多废物指令)

addiu   $v1, $v0, (meow - 0x4A0000)  
# "cbtcqLUBChERV[[Nh@_X^D]X_YPV[CJ"

就是$v1=$v0+(meow-0x4A0000)
此时就是$v1=meow
(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值