baitianbait 发表于 2021-3-26 10:22

hook eval解密混淆学习过程

看了吾爱大神一篇zym加密 带乱码调试过程的文章,对php混淆加密有了初步了解。
刚好再学习一个php支付类代码的时候使用了php混淆,于是就按照大神的方法记录一下学习过程;

案例:样本图片


刚看见还不太了解什么加密,在网上找了加密网站进行测试,提示为zym混淆加密。
看大神文章有eval劫持方法


网上开始学习原理:参考文章
PHP中的eval函数在Zend里需要调用zend_compile_string函数,写一个拓展hook这个函数。
参考在GitHub中的一个拓展库。


编译生成一个evalhook.so
centos php5.6+Nginx 环境配置
将 evalhook.so 拷贝到 php 的拓展目录下,并且向php.ini中添加extension=evalhook.so重新启动Nginx之后,可以通过web访问php文件,会直接打印出源码。运行看看结果:


到此,使用大神的eval劫持方法解密完成。

宅の士 发表于 2021-3-27 10:05

楼主这个还好源文件尚未编译因此拦截zend_compile_string可得源代码,
我遇到的是已经zend_compile_string编译为OpCache的PHP BIN没有源代码,
网上也没找到OpCache码还原源代码的小工具,只有一些OpCache码手动翻译指令含义的文献
哎。。😔

djxding 发表于 2021-3-26 11:55

baitianbait 发表于 2021-3-26 11:20
可以参考网上hook eval的文章先学习学习

好的,谢谢帖主激励。

大侠在路上 发表于 2021-3-26 10:43

具体操作没看懂,但是思路我是学习到了,感谢楼主。

djxding 发表于 2021-3-26 10:48

太难了,看不懂。
路过。

爱你小吉君 发表于 2021-3-26 11:19

路过,看不懂

baitianbait 发表于 2021-3-26 11:20

djxding 发表于 2021-3-26 10:48
太难了,看不懂。
路过。

可以参考网上hook eval的文章先学习学习

yks1985 发表于 2021-3-26 11:21

一头雾水,还是没看明白

baitianbait 发表于 2021-3-26 11:24

yks1985 发表于 2021-3-26 11:21
一头雾水,还是没看明白

需要了解下php扩展

BY丶显示 发表于 2021-3-26 11:25

不知道win平台行不行,我试一试。谢谢分享。

aonima 发表于 2021-3-26 11:33

路过,php基本忘了
页: [1] 2
查看完整版本: hook eval解密混淆学习过程