脑残法破解DirectAdmin Extended插件

这次破解纯粹是因为我脑残,其实全部解开不是更好,但是因为上传麻烦下载麻烦(natvpscc家的免费解码服务,先是懒得写脚本后发现用脚本上传下载解码单线程每个40秒以上要好久),所以还是动动脑子,自己手动排查一下吧......就当提升自己的调试能力emmmm

The file /home/whmcs/modules/servers/directadminExtended/directadminExtended.php is invalid. Please upload the file once again or contact ModulesGarden support. (4f3d265a897ded2594841da2273914212c2c2196 != 694ea2b670b5b27c863c2792b6b9086d75a49c98)
然后我就逐个断点(die函数)排查
先是在bootstrap.php断点,发现new ModulesGarden\Servers\DirectAdminExtended\Core\DependencyInjection\Builder();这行出问题,排查Core\DependencyInjection\Builder.php,然后是core/SL/Data/DataSL.php
!!发现Core\DependencyInjection\Register.php这个文件出问题,解密一看,哈哈,是我要的文件啦,删掉开头检查段后,刷新一下,发现还是有验证。。我又陷入深深的沉思。。
重新到bootstrap进行断点,发现还是那行的问题,然后我又进入Core\DependencyInjection\Builder.php断点排查,发现loadInstances这个函数有问题,修改

        foreach ($this->data->getConfigurations() as $config) {
            $className = $config["name"];
            $method = $config["method"];
            $arguments = $config["args"];

其后加入

            print($className."::".$method."<br>");

显示foreach中加载的class,然后停在了ModulesGarden\Servers\DirectAdminExtended\Core\HandlerError\Logger::get这里
然后又发现Core\HandlerError\Logger这个文件又引入Core\Interfaces\LoggerInterface.php,解密之后发现,哈哈第二个有检测代码的文件被我kill啦~
再次刷新发现还是有效验失败的提示,这次停在了ModulesGarden\Servers\DirectAdminExtended\Core\RegisterManager\Register::getInstace,这个文件好像没问题,回到Core\DependencyInjection\Builder.php,这里的加载排查完了。
至此,似乎线索又断了,但是还是没有绕过检测。
一切回到起点bootstrap.php,断点检测一下,发现new ModulesGarden\Servers\DirectAdminExtended\Core\DependencyInjection\Builder();这行没有再出现效验提示了。
到下一行new ModulesGarden\Servers\DirectAdminExtended\Core\DependencyInjection\Services();出现效验提示了,解码该文件,又一个效验被发现了,哈哈,现在添加服务器页面可以正常显示啦!
等等还是有坑,产品编辑页面选服务器还是会卡在效验,对directadminExtended.php进行断点,发现core/ServiceLocator.php有问题,解码又发现了一个效验点,去掉之后,却发现还是载不出来
这次发现是App\Http\Admin\ProductConfiguration.php,可是解码去除之后发现代码加载失败,我怕不是遇上了解码问题吧gg,一看日志还真是,不过幸亏我学过一点PHP(菜鸡水平),看出来了错误
ModulesGarden\Servers\DirectAdminExtended\Core\Helper\view()改成\ModulesGarden\Servers\DirectAdminExtended\Core\Helper\view()
这下App\Http\Admin\ProductConfiguration.php就OK了,又...又...出现了!
按着套路摸索directadminExtended.php,这边没问题了,线索好像又断了?
问题出在App\HelpersProductConfiguration.php这里,解码修复后,似乎找不到下一个入手点了?
\ModulesGarden\Servers\DirectAdminExtended\Core\Helper\sl("adminProductPage")这个东东对应的函数貌似找不到文件,functions.php无法解码,奇怪难道就此止步了么
陷入了沉思之际,搜索了一下php追踪工具,发现360开发的trace工具,编译安装之后,终于找到需要的答案,运用phptrace,一下就能搜索到哪个php文件调用了CURL,也就是效验代码(智商-1)
修改数个文件之后,终于成功破解了!

标签: none

添加新评论