goto混淆解密

Goto混淆解密

为什么我这里叫goto加密喃?因为我也不知道什么加密方式看着文件开头有一个开头就这么叫了,那么官方称呼是什么?
image

是的微擎 2c,我们到国内还算有点名气一个在线解密网站可以看见要21.95云豆,我给大家换算成RMB那就是约等于22元。

image
这是解密网站官方的报价(我太难了),最近因为要开发一套程序遇到了这种混淆加密加上刚需根本没有时间研究就只有花钱去解密,想想是真的贵。我们看看混淆后的密文是什么样的
image
看着是不是非常的乱,说实话没有花钱之前我也是这么觉得,花了钱后我觉得这代码真不错外带一丝清新

image

内容被unescape编码了,我们转换一下

image

实际就是我们正常代码中的内容而这里的goto xxx什么的其实也只是为了看着像是在干嘛一样。我们为了清理这种,我们把代码格式化处理一下

image

将代码格式化后其实就很清晰了,基本就可以判断出goto混淆首先将换行符清除使得代码紧凑然后再将代码整体带乱但是会在打乱的代码上加上一段xxx:这样的内容,然后用goto xxx;去调用xxx:所以想要恢复这种混淆基本就清楚了。最后附上改文件的解密内容:
image

1 Like

这种代码少的话人工复原没问题。如果代码量大的话手工复原就看抗不住了。

自动化复原不是难度

goto 只能在一个函数域里面跳, 而且函数域里面这loop和switch也是不能跳的。如果要实现自动解混淆的时候,其实可以分一个一个函数处理,可能分支跳转相关的语句结构比如if,while,for,switch..要做特殊处理。

可以出个工具。搞一波。。。goto加密方式很多

研究过?

对php的词法和语法分析比较了解而已

加密混淆方式应该用的是 https://github.com/pk-fr/yakpro-po 这个项目,可以结合 原创干货 | 5W wordpress被黑事件调查报告 这篇文章样本看看,类似的。

1 Like