我应该担心在获得付款之前将Apk发送给客户吗?

时间:2012-11-21 22:48:21

标签: android

我正在为客户端开发Android应用。该应用程序几乎已经完成,下周我将与客户会面以展示它。他会对所有内容进行测试,在批准后,他会付款,我会给他源代码并在Google Play上发布。

今天他打电话给我要求Apk,以便他可以开始测试它。我担心,如果我们不完成交易(出于某种原因)他可能会让某人对Apk进行逆向工程并获得我的源代码/应用程序,即使与ProGuard混淆(我从未尝试过,但根据this SO thread对Apk进行逆向工程并不困难。)

我的问题:我在这里偏执,应该只是向客户端发送Apk(因为ProGuard混淆也足以使源代码无用),或者我的担心是合理的,我应该在交付任何东西之前坚持得到报酬?

5 个答案:

答案 0 :(得分:3)

你有没有逆向设计过.apk?可能你做过,但你能重新创建整个应用程序吗?可能不是。按照你的逻辑,这意味着我可以“轻松”逆向工程任何流行的应用程序,并将它用于我。确实,你可以查看大多数代码,如果它没有被混淆,但技术并不完美。有时它仍然无法将Smali转换为真正的Java代码。您的应用程序越复杂越难。回答你的问题:不要不担心,但你仍然(总是)使用ProGuard。

答案 1 :(得分:1)

很好的答案..我和一位客户一起工作很多,这笔客户总是比我要求的还要少。

如果您要求答案意味着您对客户不信任,那么我的建议是与他一起测试第一个应用程序,以便下周。告诉他你发现了一个小虫子,你现在不能给他apk。

但我在意大利..客户给钱带来麻烦..我不知道你在哪里.. :)

答案 2 :(得分:1)

事实上,可以从apk反向设计代码,但如果你使用ProGuard对其进行模糊处理,那么对代码进行反向工程几乎是不可能的。

答案 3 :(得分:1)

我之前已经完成了这个并且结束了混淆和'时间轰炸'(在给定的评估期后禁用应用程序)就足够了。我会(a)使用您的MD5指纹签署应用程序,而不是调试签名者和(b)确保您的应用程序中有一个EULA值得它的盐。如果它涉及到那么你可以总是指出这个说你同意x,y& z安装 - 其中一个点肯定是逆向工程。谷歌在开发指南中有关“准备发布”的部分提供了一些关于形成你的EULA的建议......现在就把它写在我的手机上,这样就不会链接了。

拥有Google。我从我们行业的模板版本中获取了很多EULA。

答案 4 :(得分:1)

从头开始重新创建软件通常要比反向工程更便宜,更快,除非你使用某种非常昂贵/专利的算法,这可能是值得的。

对于通用UI应用程序(约99%的应用程序),逆向工程不值得。