|
|
发表于 2020-9-11 15:43:48
|
显示全部楼层
如果想拿赏金,需要跟踪分析,甚至逆向他的虚拟机壳,还要找指令替换表,绕过花指令之类的限制。
手工拿确实比较麻烦,但是丢到看雪,应该还是有人做过这件事情的,大胆推测一下,24小时内,奖金会被转走(楼主不诈骗,确实含有正确私钥的前提下)。
下面只说一下解题思路。
python解释器可以正常运行此pyc,于是猜测:,
1,修改了python解释器,增加了对自定义指令的支持,这种自定义很可能也就只是操作码替换。
2,通过对比混淆和未混淆的pyc的code对象co_flags标志多了什么,而且是python官方未定义的标志,就可以认为这个标志是加密标识。
于是有三种直观的思路:
1,修改code对象的代码,将其co_code属性改为可写的,co_code其实被存储为一个字符串故该操作最为简单,但是需要修改python库代码,,比较麻烦
2,分析pyc的结构,直接写C代码读取pyc并定点解析被加密的代码,这需要了解pyc的数据结构,使用010editor可以很容易的学习到,但是由于co_consts元组里的元素大小不一需要根据元素类型针对性解析,比较麻烦。
3,使用python api/c直接操作python的内存,绕过python对象的数据访问限制。
在逆向分析人员面前不存在无法破解的保护,只有时间成本问题。
end |
|