辛辛苦苦开发出来一个客户端。虽然没多少人用,但被打包党内嵌了恶意扣费等行为。该怎么办?怎么预防?修改
举报

添加评论 分享 • 邀请回答

按票数排序按时间排序

7 个回答

赞同20 反对,不会显示你的姓名

谷雅聪,不少Android应用、系统开发经验

杨培勇、John、乔升Joe 等人赞同

Android应用重打包的现状,推荐豌豆荚团队的相关回答:豌豆荚 2013 年清明节后执行的应用审查制度影响如何?

---------------------------------------正题----------------------------------------
暂时想到对付重打包的两个办法:

  1. 技术上预防
  2. 与应用商店、论坛等联系,要求其删除重打包应用

下面着重分析技术上的手段

  1. 运行时校验签名

App在启动时,检查应用签名是否正常。PackageManager提供此功能:

PackageManager.getPackageInfo(pkgName, PackageManager.GET_SINATURES)

签名信息较长,可以获取签名对象的hashCode进行比较。

2. 运行时校验可執行文件
App安装完成后,会在系统中保存apk文件,启动时校验该文件,并与正常值比较即可。
可以只对classes.dex文件进行校验,也可以对整个apk文件进行校验。前者保护了代码逻辑,后者 同时保护了布局和资源文件(很多去广告的重打包仅仅改变布局文件)。
需要注意的是,正常值不能写到代码里,这是由于每次编译代码后,校验值会发生改变。解决方法:

  • 只对classes.dex文件校验,可以将正常值保存到res文件中或网络上
  • 对整个apk文件进行校验,保存正常值到网络上

需要指出的是,以上方法均有克制手段,重打包问题很难通过单纯的App本身的技术方法解决。App分发审核机制、版权保护等也是非常重要的。

参考:
《Android软件安全与逆向分析》(丰生强)【摘要 书评 试读】

编辑于 2013-05-10 2 条评论         

赞同0 反对,不会显示你的姓名

刘立正,Android开发程序猿,web前端爱好者!

如果能做成在google play那样下载后不可保存apk文件也能稍微减少一些被重打包的情况吧!
不过这也不是一种解决的办法!

只有在编写完代码后使用混析代码,给他们反编译造成一定难度了!让他们反编译不了!

还有就是在首次运行程序的时候,提示用户从正规网站下载,非原作者提供的下载地址有可能被恶意修改,这样也能尽量避免一些的!

编辑于 2013-05-10 2 条评论         

赞同0 反对,不会显示你的姓名

谢然,没有抗争就没有自由

混淆。这样对手看不出你代码里写了什么,你升级时他永远只能比你晚,而且功能永远只能是你的子集。Android工程混淆很简单,改一下工程根目录下那个Properties文件就行了,里面有注释的
发布于 2013-05-10 添加评论         

赞同1 反对,不会显示你的姓名

余虹建,学会欣赏也是一种美德

t song 赞同

  • 舆论上声讨
  • 道德上谴责
  • 技术上封锁
发布于 2013-05-10 5 条评论         

赞同0 反对,不会显示你的姓名

邵杰,mark

技术方面混淆 ,市场方面积极联系,要是市场把人家手机号信息也给你就自己联系他呗
发布于 2013-05-11 添加评论         

赞同0 反对,不会显示你的姓名

王晓丹,五谷不分

1、通知应用商店、论坛删除盗版包
2、通过技术手段加密加固APK包
3、现在有第三方APK加密平台,楼主可以了解下
发布于 2014-04-03 添加评论         

赞同0 反对,不会显示你的姓名

彼岸,快乐渡过每一天~~

转战谷歌官方商店

from:http://www.zhihu.com/question/21041948

遇上Android客户端打包党,该怎么办?相关推荐

  1. Android客户端打包方案分享

    基本介绍 Android应用的自动化打包是应用持续集成以及多渠道发布的基础.当前Android客户端自动化打包的主要有两种方式,Ant和Maven.两种方式本质上都是调用Android SDK里面提供 ...

  2. 机器人之旅:当Arduino遇上Android

    原文地址::http://blog.knownsec.com/2012/02/%E6%9C%BA%E5%99%A8%E4%BA%BA%E4%B9%8B%E6%97%85%EF%BC%9A%E5%BD% ...

  3. Android客户端上传文件,C#服务端接收文件

    Android客户端代码 public static String uploadImage(File file, String RequestURL) {String result = "e ...

  4. 用hook android 微信,【第一篇】【安卓微信】HOOK微信发消息,当HOOK遇上HOOK。

    前人栽树,后人吃桃. 准备入坑 安卓 xposed hook 微信(及时通信),好吧,第一步当然是论坛里面搜索啦,像掷骰子.计步器什么的都是小孩子过家家入门级别的,当然是要搞就搞(及时通信).微信 a ...

  5. Centos配置Jenkins实现Android自动打包并上传到蒲公英

    本篇文章来自 徐永红  的投稿,给大家讲解Centos配置Jenkins实现Android自动打包并上传到蒲公英,希望对大家有所帮助. 徐永红 的博客地址: https://xuyonghong.cn ...

  6. 基于mini2440嵌入式linux上整合一套Domoticz智能家居系统(八)使用domoticz+mosquitto+Android客户端实现控制mini2440上的LED(一)

    本篇将在上一篇交叉编译paho.mqtt.embedded-c官方的源代码例程基础上,稍作修改,尝试实现domoticz+mosquitto联合做服务器,使用Android客户端APP或浏览器对min ...

  7. maven快速入门番外篇——Eclipse下载GitHub上FastDFS-Client客户端源码并转化成maven工程以及打包到本地maven仓库

    由于fastdfs-client的jar包目前在中央仓库是没有坐标的,而在项目中要想实现文件的上传和下载就得使用到它,这不禁就让我们头疼,所以为了解决这个问题,我写下了这篇文章,希望对读者能有所帮助. ...

  8. 魅族15系统是android,【魅族15评测】系统与交互:当小圆圈遇上mBack_魅族 15 Plus_手机评测-中关村在线...

    系统与交互:当小圆圈遇上mBack的绝妙搭配 魅族15系列搭载的是全新的Flyme 7系统,依然基于Android 7.1开发,整体的设计风格也依然是一脉相承的清雅淡泊的风格,配色对比鲜明而不俗,果冻 ...

  9. android 相册权限_手机软件APP需要这么多权限?遇上流氓软件怎么办?

    手机作为生活的必需品,集众多功能于一身,给人们的生活带来了高效便捷的体验.但是随着手机功能的增多,越开越多的手机软件APP也开始有了更多的需求. iOS系统虽然是个闭环系统,但是相对可操作的空间也就被 ...

最新文章

  1. 为什么要低温保存_新酒为什么要贮存一段时间才能喝?瓶装白酒这样保存最好!...
  2. iOS使用WSDL2ObjC工具调用Webservice接口
  3. Arduino与NodeMCU——联网
  4. 机器视觉技术及应用_工业机器人视觉技术的应用前景
  5. [C/C++标准库]_[0基础]_[怎样实现std::string自己的Format(sprintf)函数]
  6. Oct.14 华为数通部算法岗面经
  7. STM32驱动LCD1602程序(调试已成功)
  8. 字节跳动岗位薪酬体系曝光,看完感叹:我酸了
  9. 计算机用户个人设置总是重启,联想电脑总是自动重启怎么回事
  10. Centos7之清理/var/tmp目录下内容
  11. linux鼠标切换窗口的快捷键设置,Xshell中如何设置鼠标快捷键
  12. 使用 Apache FOP 2.3 + docbook-xsl-ns-1.79.1 转换 Docbook 5.1 格式的 XML 文档成 PDF/RTF 文件
  13. 巴比特 | 元宇宙每日必读:广州南沙发布“元宇宙九条”措施,平台最高可获得2亿元资金支持...
  14. SQL常用的一些关键字
  15. 【SPSS】回归分析详细操作教程(附案例实战)
  16. Java中字符数组转换为字符串
  17. 英语中的商务电子邮件:5点实用技巧
  18. macbook pro下安装三系统
  19. 云知声AI开放平台之语音合成技术:让AI人工智能照亮智慧生活
  20. 贴几张Google Earth的图

热门文章

  1. 最全的Android源码目录结构详解
  2. 微信CRM系统对客户关系管理有什么好处?
  3. QPushButton QTableWidget QComBox属性设置
  4. bilibili 2021 技术对抗赛 算法与安全答题 答案
  5. C# Action 使用
  6. BPR的几种经典方法(转)
  7. 用树莓派搭建远程下载+私有云盘(中篇)
  8. 利用策略路由traffic-policy 实现路由的控制
  9. volumes-from 参数的一些试验
  10. 创业第一步:创业方程式