1

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

就像这里提到的一样在 APK 上反编译 .smali 文件

或者它没有任何效果,因为这些反编译器允许人们阅读类中的每一行混淆代码。

如何在类和方法上使用 final 以避免类被扩展和方法被覆盖,当我读到反编译器无法生成反编译的工作代码时,它们是否有帮助。或者它是否无关紧要,因为删除反编译类中的最终属性很简单。

使用许多小的模块化类是否会使人们更难反编译和破解代码,或者使用具有长方法的大类会使阅读混淆代码变得更加困难。

如果这些问题被视为菜鸟问题,我很抱歉。

4

2 回答 2

1

或者它没有任何效果,因为这些反编译器允许人们阅读类中的每一行混淆代码。

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

如何在类和方法上使用 final 以避免类被扩展和方法被覆盖,当我读到反编译器无法生成反编译的工作代码时,它们是否有帮助。

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

使用许多小的模块化类是否会使人们更难反编译和破解代码,或者使用具有长方法的大类会使阅读混淆代码变得更加困难。

不是物质上的,恕我直言。

FWIW,我完全同意西蒙的评论。

于 2013-03-15T20:53:59.973 回答
0

没有。混淆可以提供帮助,但它真正做的只是为攻击者增加了额外的障碍。不存在通过默默无闻的安全性。Arxan、Via Forensics 等公司创建了一些昂贵的工具。

于 2013-03-15T20:51:47.673 回答