Tag: obfuscation

在使用Protocol Buffers的项目中使用Proguard有什么特点?

我有一个使用Google Protocol Buffers的项目。 一旦我尝试使用ProGuard对其进行模糊处理,似乎protobuf会导致问题。 我将自己的所有类打包到mybuildedclasses.jar 。 Google代码打包到protbuf.jar mybuildedclasses.jar protobuf.jar other external jars 之后我试图混淆mybuildedclasses.jar 。 配置文件与此类似。 最终所有的jar子都装在另一个胖jar子里面。 我运行程序,一旦尝试发送消息,就会打印出这种exception。 Caused by: java.lang.RuntimeException: Generated message class “org.mypackage.messages.Control$MessageControlHandCard$Builder” missing method “getCardId”. at com.google.protobuf.GeneratedMessage.getMethodOrDie(GeneratedMessage. java:1366) at com.google.protobuf.GeneratedMessage.access$1(GeneratedMessage.java:1 361) at com.google.protobuf.GeneratedMessage$FieldAccessorTable$SingularField Accessor.(GeneratedMessage.java:1502) at com.google.protobuf.GeneratedMessage$FieldAccessorTable.(Genera tedMessage.java:1441) at org.mypackage.Control$1.assignDescriptors(SourceFile:32 20) at com.google.protobuf.Descriptors$FileDescriptor.internalBuildGenerated FileFrom(Descriptors.java:300) at org.evogame.common.messages.Control.(SourceFile:3278) … 60 more Caused by: java.lang.NoSuchMethodException: org.evogame.common.messages.Control$ MessageControlHandCard$Builder.getCardId() […]

Proguard说它找不到任何课程

我正在使用带有spring mvc应用程序和maven的proguard。 我的pom.xml的构建部分如下所示: myapp com.pyx4me proguard-maven-plugin package proguard true <!—-> <!—keep public class–> <!—-> ${project.build.finalName} ${project.build.finalName} com.myapp.* 我也尝试过: ${project.build.finalName}.war 当我跑: mvn clean install 构建失败消息: [proguard] Reading program war [/Users/me/dev/git/myproject/myapp/target/myapp.war] (filtered) [proguard] Error: The input doesn’t contain any classes. Did you specify the proper ‘-injars’ options? ERROR] Failed to execute goal com.pyx4me:proguard-maven-plugin:2.0.4:proguard (default) on project myapp: […]

编码/混淆HTTP参数

我们目前正在开发一个非常简单的Web应用程序,我们希望“混淆” (什么是正确的术语?)或以某种方式编码请求参数,这样我们就可以减少空闲用户发送任意数据的机会。 例如,url看起来像/webapp?user=Oscar&count=3 我们想要像/webapp?data=EDZhjgzzkjhGZKJHGZIUYZT并在服务器中使用真实的请求信息解码该值。 在我自己实现这样的事情之前(并且可能做错了)我想知道是否有什么事情可以做到这一点? 我们在服务器上有Java,在客户端上有JavaScript。

除了混淆之外,还可以做些什么来保护jar文件?

我担心Java可执行文件的安全性。 它们几乎不提供反编译保护。 使用像Java Decompiler这样的工具,即使是小孩也可以反编译类文件以获取原始代码。 除了代码混淆,可以做些什么来保护类文件? 加密类加载器仍然是一个神话吗?