一、查看文件类型ELF64 无壳二、IDA静态分析1.main程序逻辑比较简单,只有两个调用函数2.sub_400D00read()读取目标文件内容,fflush(stdoout)清除输出缓冲区。sub_400D00是个读取输入的函数。3.sub_400700(关键函数)逆序分析程序逻辑:(1)第112-118行将s与拼接后的字符串“D9cS9N9iHjMLTdA8YSMRMp”对比,相等则输出提示“correct!”由此可知密文为:D9cS9N9iHjMLTdA8YSMRMp(2)s来自v11,跟进第107行中对v11进行处理的循环中的数组发现为base58编码表,下一行的数组为base64编码表(3)继续往上读计算中出现关键数字58确认为base58加密三、解题密文为:D9cS9N9iHjMLTdA8YSMRMp(1)python脚本def b58encode(tmp: str) -> str: tmp = list(map(ord, tmp)) temp = tmp[0] base58 = "123456789ABCDEFGHJ
Norman1z