我有一个解密公式,它链接到包含文件密码的文件,以及加密文件本身,但我仍然不明白如何逆转这个过程。
问题:我是否需要更多信息才能解密文件(如果是,是什么?)+ 如果我能够解密文件,最好的方法是什么?
公式中的步骤是(来自代码中的注释):
判断文件是否为声音文件
if [ ${FILE##*.} != mp3 ] && [ ${FILE##*.} != wav ] && [ ${FILE##*.} != mov ] ; then基于单独文件 (.out) 的带有密码的 XOR 非声音文件
echo "encrypt ${FILE}" mv "$FILE" "${FILE}_" ../tools/pass.out "${FILE}_" "$FILE" rm "${FILE}_"将文件名更改为哈希值或仅更改文件扩展名
MP3_FILENAME=`basename ${FILE}` DIR_NAME=${FILE%/*.*}/ if [ ${DIR_NAME} != ./tmp/cc/ ] && [ ${DIR_NAME} != ./tmp/dd/ ] ; then SHA1=`get_random_mp3_filename ${MP3_FILENAME}` mv "${FILE}" "${DIR_NAME}${SHA1#SHA1(${FILE})= }.png" echo "${MP3_FILENAME}: ${SHA1}" else mv "${FILE}" "${FILE%.*}.png"
pass.out 文件 (CF FA ED FE) 反汇编没有问题。我不知道它是如何工作的,也不知道如何反向使用它。我附上了下面的文件。
如果我做出了任何错误的假设或使用了错误的术语,请提前道歉。任何帮助、解释或学习资源的指针将不胜感激!
编辑:抱歉造成混乱!这些文件来自 Android 应用程序的 .apk。我的目标是将它们解密为常见的文件格式,例如 .png 和 .mp3。通过检查 .apk,我相信文件的处理方式如下: 1) 特定文件夹中的声音文件(.wav、.mp3、.mov)将其扩展名更改为 .png。我可以通过将扩展名改回原始来播放它们。2) 所有其他文件都通过 pass.out 文件进行 XOR 加密。我想知道如何扭转这个过程。