使用对类成员和模块化代码的严格访问使得逆向工程APK变得更加困难

时间:2013-03-15 19:25:17

标签: android security coding-style decompiler

使用私有方法和私有字段会使某些人更难以使用常见的反编译器对代码进行反向工程。

就像这里提到的那些 Decompile .smali files on an APK

或者它没有效果,因为这些反编译器允许此人读取类中每行混淆代码。

如果使用final类和方法来避免扩展类和重写方法,那么当我读到反编译器无法生成反编译的工作代码时,它们会有用吗?或者它是无关紧要的,因为删除反编译类中的最终属性很简单。

使用许多小型模块化类会使某些人更难以反编译和破解代码,或者使用长方法使用大类会使得更难以阅读混淆代码。

如果这些都是noob问题,我很抱歉。

2 个答案:

答案 0 :(得分:1)

  

或者它没有效果,因为这些反编译器允许此人读取类中每行混淆代码。

反编译器反编译所有代码,包括私有方法。

  

如果在类和方法上使用final来避免扩展类和重写方法,那么当我读到反编译器无法生成反编译的工作代码时,它们会有用吗。

更改它需要按五次Delete键(每final)。对大多数人来说,这不是一个重大挑战。

  

使用许多小型模块化类会使某些人更难以反编译和破解代码,或者使用长方法使用大类会使得更难以阅读混淆代码。

并非物质上,恕我直言。

FWIW,我完全同意Simon的评论。

答案 1 :(得分:0)

不。混淆可能会有所帮助,但它真正做的就是为攻击者增加额外的障碍。通过默默无闻的安全不存在。 Arxan,Via Forensics等公司创建了昂贵的工具。