繁体   English   中英

拖放应用程序构建器许可。 如何确保源代码不会被反编译和重用?

[英]Drag & Drop app builder licensing. How do I make sure the source code won't be decompiled and re-used?

我正在开发拖放应用程序构建器。 这个概念很简单:用户可以可视化地构建他们的应用程序,然后应用程序的设置变成一个配置文件,应用程序将使用它来决定如何构建自己(应该显示哪些视图,导航应该是什么样子等) .)

我主要担心的是,一旦用户下载了 apk(或 ipa)文件,他们就可以反编译它,更改配置文件中的内容并重新编译/重新签名以发布为全新的应用程序。

我正在考虑将部分逻辑放在服务器端,但这会给我带来以下问题:

  • 如果 1000 人使用我的软件构建并发布了一个应用程序,并且每个应用程序每天只向我的服务器发送 10,000 个请求,那么每天已经有 10,000,000 个请求,这将非常昂贵。

  • 如果我的服务器因任何原因停机,我将有很多愤怒的用户来找我。

有什么想法吗?

没有确切的方法可以停止android app 或 apk 的反编译/逆向工程过程

但是有一些机会在反编译/逆向工程过程后减少代码可见性的范围

以下是我分享的一些习惯

1) 将重要的代码放在服务器上:您可能依赖于对受保护良好的服务器的远程过程调用 这减少了您的代码被盗的机会,因为代码将始终保留在服务器上,只能看到结果。

2) 调试器检测技术:使用硬涂层值或字符串使用一些有助于隐藏实际值的公式或加密方法

3)用C/C++编写代码重要部分:您也可以用C/C++编写代码重要部分,并将它们作为编译库添加。 虽然它可以反汇编成汇编代码,但从汇编逆向工程一个大型库是非常耗时的。 与 C/C++ 相比,Java 更容易反编译。

这些是优秀开发人员应注意的一些关键习惯,您也应该查看这个答案

嗯,我知道不可能停止任何 Android 应用程序上的反编译/逆向工程过程。 但是,我想也许一切皆有可能! 就像,也许从那时起有些事情发生了变化,但没有。 基本上,我使用与 Nisarg Jani 描述的相同的步骤。 但是,您必须特别注意 C++ 代码。 任何错误都会摧毁你在那一刻建立的一切。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM