编程C以防止android中的逆向工程

编程C以防止android中的逆向工程,android,android-activity,reverse-engineering,Android,Android Activity,Reverse Engineering,我是一名android初学者,我想让反编译我的apk文件变得困难。 我使用ProGuard,但它只更改函数和值名称,而且人们仍然可以访问我的应用程序的完整代码,所以我正在寻找更强大的功能 我今天和昨天学习了如何在项目中组合C文件,并成功地构建了一个结合C和JAVA的应用程序。我用C而不是JAVA构建了几个函数,JAVA在应用程序中使用了它们 这种方法能在多大程度上防止人们对我的应用程序进行反编译?我知道反编译JAVA非常容易,但是C文件呢? 反编译.so和.o文件难吗? 这个方法好吗?反编译我的

我是一名android初学者,我想让反编译我的apk文件变得困难。 我使用ProGuard,但它只更改函数和值名称,而且人们仍然可以访问我的应用程序的完整代码,所以我正在寻找更强大的功能

我今天和昨天学习了如何在项目中组合C文件,并成功地构建了一个结合C和JAVA的应用程序。我用C而不是JAVA构建了几个函数,JAVA在应用程序中使用了它们

这种方法能在多大程度上防止人们对我的应用程序进行反编译?我知道反编译JAVA非常容易,但是C文件呢? 反编译.so和.o文件难吗? 这个方法好吗?反编译我的应用程序会变得更困难吗


谢谢你的帮助:

这会让事情变得更困难,但并非不可能。任何有足够动力的人仍然能够反汇编你的二进制文件,看看你的程序是如何工作的——反汇编很简单,现代的C反编译器也非常好


软件安全的底线是,如果您有一个绝对必须保密的进程,它需要在一个安全的服务器上。你在别人的设备上运行的任何东西都应该被认为是不安全的。然而,实际上,人们这样做的动机并不多,因此即使是低门槛Java编译也足以让您的代码不被人看到。

不客气,但您的代码有什么有趣之处,以至于您担心人们会对其进行反编译?除非你有一些专有的算法在那里,几乎所有的东西都可以复制,只要看看它。对于一个相当优秀的程序员来说,不管怎样,自相矛盾的是,如果你试图隐藏一些值得隐藏的东西,这是毫无价值的。当然,C可以像Java一样进行反编译和逆向工程,但仍然非常可行。我很难相信,在任何情况下,任何模糊处理工作都是值得花费时间和金钱的。