这是我第一次尝试逆向工程,实际上,我不知道如何去做。我有一种程序性的思维方式,没有关于流行加密方法的知识基础。
但是,在我看来,如果我拥有正确格式的最小数据,并且知道某个单词或单词的数据中出现,并且该单词在数据的开头和结尾处出现 - 我可以以某种方式发现解密整个文件的方法。
----- ENCRYPTED -------------------------------------------
HEX 44 5E 12 47 55 5E 53 17 4C 5C 49 4F 4F
ACII D ^ ? G U ^ S ? L \ I O O
DEC 68 94 63 71 85 94 83 63 76 92 73 79 79
BIN 01000100 01011110 00111111 01000111 01010101 01011110 01010011 00111111 01001100 01011100 01001001 01001111 01001111
----- DECRYPTED -------------------------------------------
HEX 74 6F 20 74 61 6B 65 20 74 65 73 74 73
ASCII t o t a k e t e s t s
DEC 116 111 32 116 97 107 101 32 116 101 115 116 115
BIN 01110100 01101111 00100000 01110100 01100001 01101011 01100101 00100000 01110100 01100101 01110011 01110100 01110011
这只是一个数据样本。我知道标题信息的开始和结束位置,因为我检查了两个具有不同标题的文件 - 所以我知道这些文件转换为正确的单词 - 但是我从哪里开始识别加密过程?
* 我知道人们会问为什么:这是来自VCE(考试)文件格式,我想将其翻译成XML或JSON。这样我就可以轻松编写一个程序来比较多个考试文件中的问题和答案,追加,删除重复项并创建新的副本。 *
答案 0 :(得分:5)
尝试将两个字符串XOR一起。你得到的是
HEX 30 31 32 33 34 35 36 37 38 39 3A 3B 3C
ASCII 0 1 2 3 4 5 6 7 8 9 : ; <
看到一种模式了?
答案 1 :(得分:2)
问题字段XOR值以19开头,然后是每隔一个字符。
ENCRYPTED:
6D 1A 74 1C 3D 1E 6B 20 40 22 48 24 40 26 07 28 5D 2A 4E 2C 5E 2E 5B 30 42 32
XOR:
19 1A 1B 1C 1D 1E 1F 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32
DECRYPTED:
t?o? ?t?a?k?e? ?t?e?s?t?s?
答案 2 :(得分:1)
当你有一个hex文件并且你认为它是加密的时候,总是首先尝试XOR'ing(逐位操作)..
这有很多原因。