ToB企服应用市场:ToB评测及商务社交产业平台

标题: [H&NCTF] maybe_xor题解 [打印本页]

作者: 小秦哥    时间: 2024-5-20 03:00
标题: [H&NCTF] maybe_xor题解
maybe_xor

感觉这道逆向题与其说是考逆向水平,倒不如说是考编写脚本的能力
起首题目给了个远程地址,nc连接会回显ELF: 接一串base64编码的东东,解码后发现是ELF文件。
用IDA打开发现是从数据段读取24个字节到栈上并举行异或,每个字节异或的值都差别,但异或后的结果不会写回栈
程序的目的是让你算出异或后的字节数组并发送过去,并且这个过程会重复多次

调试可知,虽然每次文件的数据差别,程序入口差别,但汇编代码都差不多。只是每次数据段的偏移和异或值有变革罢了,写一个文件处理脚本即可
具体思绪看下面脚本注释即可
[code]from base64 import *from pwn import *import struct# context.log_level = 'debug'image_base = 0x8048000def get_hex():    f = open('elf', 'rb')     f.seek(0x18)    # 获取程序入口地址并转为文件偏移地址    EP = u64(f.read(8)) - image_base    # 获取数据的偏移地址    f.seek(EP + 7)    rsi = struct.unpack("




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4