关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭7年前。Improvethisquestion我很好奇,考虑不要晚上用Java编写某些代码,因为它很容易反编译。有没有一种方法可以让我用Java编写而不必担心反编译器?我知道只要有足够的时间,任何都可以进行逆向工程,所以我要问的是:Java类混淆器是否足够有效以阻止反编译?
遇到一些使用它的代码,这让我想知道。if(condition)foo=bar();condition&&(foo=bar());这两段代码是不是相当于一个编译器?如果不是,它们会有哪些不同? 最佳答案 由于运算符优先,后者被解释为:(condition&&foo)=bar();此外,&&有可能被重载,这可能会导致几乎任何事情。简而言之:它们根本不相等-至少在一般情况下是这样。 关于C++:作为条件语句的逻辑比较?,我们在StackOverflow上找到一个类似的问题:
我在这里看到了很多关于版权保护的讨论。我对防逆向和知识产权保护更感兴趣。有一些解决方案(例如Safenet和HASP)声称可以加密二进制文件,但是当使用有效key时,这些解决方案是否可以防止被逆转?可以使用哪些策略来混淆代码并甩掉逆向器?是否有任何像样的商业实现?我知道大多数保护方案都可以被破解,但这里的目标是延迟逆向有问题的软件的能力,并在另一家公司试图实现这些方法时更加明目张胆。 最佳答案 TherearesolutionssuchasSafenetandHASPthatclaimtoencryptthebinary,butar
如果我需要混淆硬编码的iPhone密码(Oauth客户端标识符和客户端密码),是否可以采用这种方法?NSString*a=@"a";NSString*b=@"b";NSString*c=@"c";NSString*d=@"d";NSString*e=@"e";NSString*f=@"f";NSString*g=@"g";NSString*h=@"h";NSString*i=@"i";/*hidden*/NSString*w=@"w";NSString*x=@"x";NSString*y=@"y";NSString*z=@"z";NSString*pwd=[NSStringstring
如果这是一个明显的问题或有任何错误,请原谅我。我是Objective-C的新手,有点陷入深渊。我正在研究Objective-C混淆。关于我发现的简单方法here是使用预处理器将方法名称更改为乱码。我的问题是反编译器是否可以识别预处理器语句,以便能够将源代码反编译回原始方法名称。上述问题的示例如下:#ifndefDEBUG#defineMyClassaqwe#definemyMethodoikl#endif@interfaceMyClass:NSObject{}-(void)myMethod;是否有可能,当没有为调试编译时,这段代码可以被反编译回除之外的任何东西@interfaceaqw
我有三个网站都托管在同一个网络服务器上。最近我在其中一个网站上工作,注意到大约一个月前,一堆文件被更改了。具体来说,index.html的所有实例都已重命名为index.html.bak.bak,并且index.php文件已放入他们的地方。index.php文件比较简单;它们包含一个隐藏在每个网站文件系统某处的文件(看似随机文件夹),该文件已使用JS十六进制编码进行混淆,然后回显原始index.html:这里包含的文件是/mnt/*snip*/www.website.com/web/content/wp-includes/js/swfupload/favicon_291372.ico在
在重大收入损失后过了一段时间才发现AndroidR8codeshrinker阻止亚马逊应用内购买(IAP)2.0工作。AndroidStudio现在默认使用R8。幸运的是,gradle.properties中的以下内容似乎能够停止R8:android.enableR8=false我担心R8将来会强制执行,这将是一场灾难。我正在尝试找到一种使它们兼容的方法。有人发了asimilarquestiononAmazon'sforum这应该是此类问题的最佳地点,但我感觉亚马逊已经停止支持该论坛,因为我最近在那里的两个问题没有收到亚马逊的回复。我在R8使用的proguard-project.txt
通常,使用-keep排除类可以防止类被混淆但是它也可以防止它被缩小。是否可以定义一个proguard-project.txt来缩小除使用-keep排除的类之外的所有类,但也仅混淆类的特定子集?目的是使用混淆器来保持低于android65k方法限制,同时也仅在APK中混淆第一方代码。谢谢 最佳答案 是的,您可以将修饰符allowshrinking添加到应该仅应用于混淆(和优化)步骤的-keep选项。例如:-keep,allowshrinkingclasscom.example.SomeClass如果指定的类在缩小步骤中未使用,则可能会
有-keepclasscom.actionbarsherlock.**{*;}在我的混淆器配置中。正如Actionbarsherlock的建议(参见http://actionbarsherlock.com/faq.html)。但只有在添加之后-keeppublicclass*extendscom.actionbarsherlock.app.SherlockFragment保留了扩展SherlockFragment的类,因此我能够使用Fragments。为什么? 最佳答案 假设您有以下fragment声明,用于xml布局:public
我需要保持所有模型类不被混淆,所以我在proguard规则中添加了这一行以保持所有模型类:-keepclassmy_package_name.model.**{*;}此命令保留了所有模型类,但它仍然混淆了模型类中的注释。我尝试添加以下行:-keepattributes*Annotation*-keepattributesEnclosingMethod但是,结果还是一样的。我的模型类包含这两个注释:@SerializedName("message")@ExposeprivateStringmessage;如何让这两个注解不被混淆? 最佳答案