V2EX heguangyu5 的所有回复 第 1 页 / 共 6 页
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX    heguangyu5    全部回复第 1 页 / 共 6 页
回复总数  110
1  2  3  4  5  6  
@tangknox1 PHP 加密还是以下四种:

1. 玩障眼法的.

就是不改变源代码,对源代码做各种封装,运行时解密出来.这种最容易破解.

2. 在 PHP 源代码层面做混淆的.

Z5 加密就属于这一类.没有调研过,应该没有成熟的解密工具.

3. 基于 opcode 加密混淆的

本文的 AAA 和 BBB 就是. BBB 充分证明了 opcode 加密混淆根本就不顶用.

4. 第三方实现的转译器/编译器

前 3 种都是基于 PHP 解释器.加密和解密双方比的是斗智斗勇.

而第三方实现的转译器/编译器可以 100%保护源码,无需斗智斗勇.如果想省心,推荐这种,当然会有各种限制.

实现原理: PHP ---> 转译成另一种语言 ---> 编译成机器码.

当然机器码,比如汇编,也是可以反汇编的,但反汇编得到的源码和 PHP 源码就差的太远了.

目前有 3 个选择:

1) PeachPie (开源)

将 PHP 编译到.NET, 是.NET Foundation 支持的项目,如果有.NET 相关技术背景可考虑. 除加密外,还可提升性能,但和 PHP 兼容性待验证,看 issue 列表就知道了.

2) KPHP (开源)

将 PHP 转译成 C++.俄罗斯 vk.com 的项目.同样除加密外,可提升性能.但它只实现了**a limited subset of PHP**,可能需要大幅调整 PHP 源代码才能编译通过.

3) BPC (闭源,本人作品)

将 PHP 转译成 scheme,再转译成 C. 源码保护没问题,还有授权机制,但性能不高.与 PHP7.2 高度兼容,跑通了 PHP7.2 的 phpt 测试用例.通常 PHP 代码稍做调整就能编译成功.
@tangknox1 我并不是为了寻找加密工具而做的调研,只是为了了解下现状.Z5 的早在几年前就是一篇长文详述了逆向过程,你可以搜索下"PHP 解密:反汇编某虚拟机加密(不进行反编译)".当然 Z5 的加密强度也还是不错的.
@BeforeTooLate 一般来说,应该能提高性能.因为 php 代码已经预先编译成 opcode 了,省了一个步骤.

不过 php 的 opcache 扩展就是干这个的. 这类加密扩展比 opcache 多做了一些步骤,比不上 opcache.
@prodcd 试用了下 SG 16 Pro, 可以比较容易拿到 opcodes,并且没做太多混淆.几乎可以理解成把 php opcodes 用 sg_load() 封装了一下. 看官网的 Features 介绍确实也没说有混淆 opcodes 的特性.
@prodcd 这确实是没办法.如果是一次性部署的软件,组件又简单,那确实防不住.考虑一下商务手段吧.
@prodcd BBB 不是 SG,但我印象里 SG 还不如 BBB,所以就没看 SG.稍后我再看下.
@prodcddezender.xyz 上试一下看看?毕竟我用的是试用版,也许正式版本更强一些?
183 天前
回复了 joker622 创建的主题 程序员 寻 pst 处理方式
将 pst 转成 mbox 或者提取出一个个的 eml,然后用[gmime]( https://github.com/jstedfast/gmime)处理.
@ywisax license 已更新,可以用了.多谢!
2024-09-12 14:30:50 +08:00
回复了 heguangyu5 创建的主题 PHP PHP 编译器 BPC 7.3 发布,成功编译 ThinkPHP8
@sunchuo 这个也不好说,3 年前还不支持 namespace,closure,generators,traits 呢,现在都支持了.需求来了的时候,就跟上了.
2024-09-12 12:31:41 +08:00
回复了 heguangyu5 创建的主题 PHP PHP 编译器 BPC 7.3 发布,成功编译 ThinkPHP8
@sunchuo 目前 bpc 对 PHP 的支持足够我们自己用,所以没有跟进最新版 PHP 的计划.

另外 PHP 新版本的一些改进我并不觉得很好,所以不打算在 bpc 中支持.

ioncube 的话,从 easytoyou 上可以看到 ioncube11.x 是可以在线 decode 的,我自己并没有项目使用过,不确定其加密强度.
2024-08-16 09:07:43 +08:00
回复了 heguangyu5 创建的主题 PHP PHP 编译器 BPC 编译 ThinkPHP8 + PHPUnit 测试 的视频来了
不需要 zendvm.

转译后的 scm 代码和 C 代码你都可以看到, [How_BPC_works]( https://github.com/bob-php-compiler/bpc-release/wiki/03_How_BPC_works).

扩展可以自己加的,简单地对 C lib 的封装是很容易的.

1. 扩展模板 [bpc-ext-skeleton]( https://github.com/heguangyu5/bpc-ext-skeleton)
2. 扩展示例 [bpc-ext-raylib]( https://github.com/heguangyu5/bpc-ext-raylib) [bpc-ext-raygui]( https://github.com/heguangyu5/bpc-ext-raygui)

但像 swow 这种要想集成进 BPC,得重写了.

还有一点就是,BPC 目标在于源码保护和软件授权,性能不是第一位的,所以一般谈高性能的东西,就和 BPC 无缘了,现阶段应该是这样.
2024-08-13 08:53:43 +08:00
回复了 heguangyu5 创建的主题 PHP PHP 编译器 BPC 7.3 发布,成功编译 ThinkPHP8
@ModiKa2022 BPC 主要解决源码保护和软件授权这两个问题.

"PHP 代码加密已经比较成熟" 这个认知不清楚从哪儿来的.
我了解到的几乎所有的加密方案都有现成的或者可能的还原方法.
2024-08-06 10:08:54 +08:00
回复了 CallmeDredd 创建的主题 全球工单系统 公司服务器关机后仍被攻击,求大佬解惑
@hubaq 笑死,你想想 UDP 机制,封了 IP,IDC 的攻击就没了吗?
2024-08-06 09:59:43 +08:00
回复了 CallmeDredd 创建的主题 全球工单系统 公司服务器关机后仍被攻击,求大佬解惑
上周我们的一台放在 IDC 机房的服务器遭到了 UDP Flood 攻击,机房的处理方式一模一样,不管是不是你的问题,先把你的 IP 给封了.

感觉这些人就是自己能力不足,不能解决问题,只能解决遇到问题的机器.

遇到攻击,不是和客户一起防护,而是先杀掉客户,然后自己再承受攻击,害人不利己.
@a33291 非常感谢!
@skyworker 另外 php 和 BPC 不是二选一的问题,我们自己日常还是用 php 环境开发,只是在本地部署的项目上用 BPC 编译后发布出去.
@janus77 BPC 的测试就是随 PHP 源码发布的 phpt 测试, @see https://github.com/bob-php-compiler/bpc-release/wiki/04_phpt_tests
@skyworker

一段 php 程序,给定一个输入,得到一个或一些输出.
用 BPC 编译替换掉这段 php 程序,给定同样的输入,如果能得到同样的输出,那就够了.
此时外部已经无法分辨处理这处事情的程序是 php 还后 BPC 编译后的程序.

"底层可能有 bug"这种担心怎么说呢?我在开发 BPC 的过程中还发现了 php 的两个 bug,但是这并不影响我每天都用 php.

1. https://bugs.php.net/bug.php?id=81312
2. https://github.com/php/php-src/issues/12715

测试覆盖到你觉得你的程序没问题就够了.

比如 BPC 跑过了 php 的 phpt 测试后,我觉得 BPC 做到这里就够了.
BPC 跑通了云招 OurATS 的测试用例后,我觉得云招 OurATS 就够了.

如果你觉得无论多少测试都不能让你放心,那这就无解了,总要有个信任基础的.
@a33291 我是 java/.net 菜鸟. 经常看到 java 开发的 apk 被反编译, .net 程序去壳授权绕过.

自己写的.net 程序用 jetbrains dotPeek 一反编译, 好家伙, 一字不差.

所以能否推荐几个可靠的保护方案呢?
1  2  3  4  5  6  
关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1420 人在线   最高记录 6679       Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 22ms UTC 16:44 PVG 00:44 LAX 09:44 JFK 12:44
Do have faith in what you're doing.
ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86