# Xor Hack Tool
# Background
在创造了 Xortear.cpp 之后,发现编译之后用 PE 文件或者 ELF 文件打 shellcode 题目写 EXP 的时候并不方便使用。因此,重新写成了 Python,这样直接 import 就行了。
༼ つ ◕_◕ ༽つ:手手,断断,救救... ...
༼ つ ◕_◕ ༽つ:哦,对了,我在之前的基础上增加了一些功能,并且优化了算法。估计可以在 O (n + C) 到 O (nlogn + C) 之间计算出结果(两个月之前写的了,具体实现细节忘得差不多了)
༼ つ ◕_◕ ༽つ:此外,python 版本为了使用方便,按照传入的函数参数的数据类型的判断,对结果的数据类型进行了转化,你可以做的不只是传入汇编代码进行异或分解,还有传入 n 个整数进行分解。对无解的判断更为精确。在传入汇编代码的情况下,可以明确指出哪一句汇编的哪一个字节无法分解,从而方便使用者进行更精确的修改。
༼ つ ◕_◕ ༽つ:目前考虑之后更新会用动态规划对算法进行进一步优化,使得得出的结果的异或次数最少,填入 padding 之后的长度最短,即实现最优解的求解。(挖个大坑)
# What's in this pack?
包含两个 sample 和实现功能的源码。
以及用于参考的 Intel® 64 and IA-32 Architectures Software Developer’s Manual 四分册的 PDF
# Sample-0
这个是第一版的 sample 修改之后的内容。
1 | from pwn import* |
# Sample-1
第二版新加入的样例,来自题目 Shellcode Revenge.
1 | #patchelf --set-interpreter /home/akyuu/glibc-all-in-one/libs/2.23-0ubuntu3_amd64/ld-2.23.so --replace-needed libc.so.6 /home/akyuu/glibc-all-in-one/libs/2.23-0ubuntu3_amd64/libc.so.6 pwn |