|
100鱼币
本帖最后由 ioio_jy 于 2016-9-25 15:27 编辑
我在日常的工作中,总会遇到经过加密混淆的脚本文件,现在我希望通过Python程序对这些经过加密的文件实现解密的操作,主要实现以下两个功能:
1、逗号表达式的转换
原始字符串:("Ifasd ", "Gef.H.", "Ru" + ("fudfk", "n"))
目标字符串:("Ru" + "n")
可以发现,原始字符串实际上就是隐藏了“Run”这个单词,因此我希望程序可以完成逗号运算,得出“Run”的结果。(引号加号可以不去掉)
需要特别说明的是,在一个文件中,会有非常多的逗号运算,因此我希望程序可以将文件中所有的逗号运算进行转换。
2、ASCII码字符的转换
原始字符串:("G\x45T", "http://growseo.co.uk/bhdjls", false);
目标字符串:("GET", "http://growseo.co.uk/bhdjls", false);
文件中可能会有大量的ASCII码,因此我希望程序可以将文件中所有的ASCII转换为对应的字符(尽管上述例子中只出现了一次)
我目前采用的方法是利用正则表达式加上字典,字典中列举出ASCII所有可用字符
现在我希望在不采用这种“穷举”方法的前提下,实现字符的转换。
希望大家能够提出好的方法 |
最佳答案
查看完整内容
大概这样差不多吧,不用字典,用正则匹配后直接替换。
大文件就用for一行行读取替换。
xy为什么一定要转换'G\\x45T',
可能是python在打开文件时\x就会读取为\\x.
除了手动输入,我暂时还不知道怎么在读取文件时就创建一个只包含一个反斜线的字符串。
如果知道请指教~。
|