4ra1n / code-encryptor

该项目已集成到 https://github.com/jar-analyzer/jar-obfuscator 使用JNI加密字节码,通过JVMTI解密字节码以保护代码,支持自定义包名和密钥,使用魔法禁止黑客dump字节码
https://github.com/jar-analyzer/jar-obfuscator
MIT License
163 stars 15 forks source link

请问war包可用吗? #9

Open lunxian8 opened 1 year ago

lunxian8 commented 1 year ago

请问war包可用吗?

lunxian8 commented 1 year ago

关于spring boot 启动扫描的问题是否参考这里支持一下:https://gitee.com/-/ide/project/fenquen/sourceguard/edit/master/-/sourceguard-repack/src/main/java/com/fenquen/sourceguard/repack/BootstrapRepack.java

4ra1n commented 11 months ago

由于解密需要加入特殊 java 启动参数(agentpath)等,如果是 war 包可能会麻烦一些,假设能够支持 war 包,生成了加密后的 war 文件,启动需要给 tomcat 等容器加参数,可能会有意外的行为,没有具体测试过

SpringBoot 启动的问题在于它会扫描所有类,它这个扫描类不是内存扫描,是文件级别的从 classpath 扫描,然后做初始化。如果字节码完全加密了,这个地方会出问题,具体的解决我有空研究下

lunxian8 commented 11 months ago

由于解密需要加入特殊 java 启动参数(agentpath)等,如果是 war 包可能会麻烦一些,假设能够支持 war 包,生成了加密后的 war 文件,启动需要给 tomcat 等容器加参数,可能会有意外的行为,没有具体测试过

SpringBoot 启动的问题在于它会扫描所有类,它这个扫描类不是内存扫描,是文件级别的从 classpath 扫描,然后做初始化。如果字节码完全加密了,这个地方会出问题,具体的解决我有空研究下

新版本spring boot 获取可以解决扫描的问题:https://github.com/spring-projects/spring-framework/issues/27691#issuecomment-1848612344

lunxian8 commented 10 months ago

补充一个问题 关于禁用hsdb jdi :

引用java编写重置代码 :https://github.com/apangin/helfy/blob/master/test/one/helfy/DisableStructs.java

异常问题:https://github.com/apangin/helfy/issues/6

您这边也有禁用,mac系统有遇到这个问题吗?

4ra1n commented 10 months ago

helfy 使用 Java 的 Unsafe 实现,我是用 C 代码做的,原理看起来类似

测试方面,我当时仅测试了 Windows (10) 和 Linux (Ubuntu 22)

lunxian8 commented 10 months ago

helfy 使用 Java 的 Unsafe 实现,我是用 C 代码做的,原理看起来类似

测试方面,我当时仅测试了 Windows (10) 和 Linux (Ubuntu 22)

好吧!搜了一些片段和issues发现mac 好像不行,获取不到

有些作者直接这样写了。 21a12526c079923b5a99e21dd7becd2a