题目信息:
题目信息:新购买了一套开源系统,但是说明书丢失了,我手上的系统没有办法运行它,你能找到他运行的方法吗?
下载后file查看
riskv_and_reward: ELF 64-bit LSB executable, UCB RISC-V, version 1 (SYSV), statically linked, stripped
看到是ELF 64-bit的文件,想着先运行一下
结果报错
-bash: ./riskv_and_reward: cannot execute binary file: Exec format error
百度了一下 最后也没解决。。。
心想着直接载入IDA看看吧
到这个界面了 (ps:点击OK的时候当时心里挺激动的 心想着马上就可以看清楚它的真正面目啦)
结果报错(ps:这时候心凉了一大截儿) 说是什么 Undefined or unknown machine type 243
翻译了一下 意思是未定义或未知机器类型243
那就搜索这个东西 看看咋解决
看到题目提示也是说能不能找到它的运行方法
结果忙活好久也不行
最后看到有一道题目和这道好像
http://fuzyll.com/2015/hitcon-2015-qualifiers-risky/
上边说是一种RISC-V的指令架构
想了解关于RISC-V更多的同学可以看https://blog.csdn.net/l919898756/article/details/81238266
就打算装好环境之后试试来着
结果学校破校园网 卡的要死 到第三步死活不成功
就先没管这道题
结果还真发现有玄机
很明显可以看出上边绿色框中共有64个字符 下边红框32个字符
发现没有大于64的
根据经验(ps:其实就是瞎搞一通) 将它们抠出来 匹配一下看看
就是将数组b中的元素当作a中的序号 输出即可
下边直接看py代码就能明白: