摘要:
这款app是无数宅男宅女的挚爱,也被称为“约炮神器”,它的注册用户已经达到8千万,但是听说他们对这款app进行了非常严密的保护,防止用户进行二次打包。现在我们就来分析下这款app的安全性到底如何。首先,我们来分析下二次打包防护,我们先去网上找到这款app的安装包,解包-->打包-->安装-->运行。发现当我们登录的时候就会提示,签名信息不一致,导致不能登录。经过分析发现,他是将apk的签名信息上传到服务器然后进行验证,然后我们需要找到他获取签名信息的地方,如下图:Ok,获取签名信息的方法已经拿到,现在我们要做的是把他这个签名信息换做我们从原包里边获取的签名字符串,如下图:到这 阅读全文
摘要:
很多开发者对apk的安全并不上心,觉得自己的加密技术已经很不错了,接下来我通过对FlappyBird的安全分析来向大家展示下apk的安全还有哪些需要注意,并为大家介绍一个比较好用的andriodapk加壳方法这款让无数人疯狂和欢喜的移动游戏,是近期大伙热议的焦点!这款游戏风靡全球,这款游戏的开发者也是日进斗金,日收入约5w美元,下面我们就分析下这款游戏的安全性:首先是二次打包验证,经过破解apk包,然后再打包,安装,运行,发现游戏还能正常运行,说明这款游戏并没有进行二次打包防护。其次,就是大家最反感的广告,大家在玩游戏的同时可以发现,每当小鸟挂掉一次,顶部的广告就会弹出一次,经过破解发现,用的 阅读全文
摘要:
传统apk加密方法已然失效 需要更专业的加密技巧 阅读全文
摘要:
爱加密与eoe论坛共同发起《爱加密应用保护体验有奖征文活动》,活动时间截止到12月26号为期一个月的时间。本次活动的主题是“APP安全”讨论,大 家可以从不同的角度发表自己的观点和看法,并且爱加密为参与者准备了丰厚的奖品。欢迎广大应用开发者和相关人士共同交流APP安全问题! 本次活动不仅是为了“APP安全”问题交流,同时也希望能增加开发者的安全加密意识。近几年移动应用开发行业发展迅速,特别是安卓技 术的普及让更多人加入开发者的行列,并且这一技术在国内迅蔓延开来。但是随着Android技术普及的同时,破解和反编译技术也被广泛传开。这便导致很多 有创意的APP上市之后,很快就出现盗版或是经过二.. 阅读全文
摘要:
Androidapp的安全越来越受人重视,大部分市场上存放的apk已经经过各种加密来防止反编译。现在我们就来浅谈一下市面上已经过加密防止反编译的apk和它是如何防止反编译的方法和这些方法的可靠性吧。捕鱼达人2 各大市场游戏下载排行都名列前茅、下载实数不下百万的捕鱼达人2是怎么做的安全保护来防止二次打包呢? 在手机内部获取data/app下的apk文件对象通过java的方式来获取签名MD5值。然后再本地对这个签名MD5值进行验证。因为此验证是在so库里面来进行并且在非主线程里面进行验证,没有卡主线程很难让破解的人发现它加密的主要方法具体在哪,但对下的验证的方法带有apk的路径的参数让它也有一.. 阅读全文
摘要:
上一节我们介绍了一种利用无效字节码指令引发逆向工具崩溃的方法。可惜的是大部分反编译工具已经修复了该bug。但是如果我们插入有效的字节码指令,但是后跟无效的数据引用,结果会是怎么样呢? 使用C32asm,以十六进制的方式打开dex文件。按快捷键“Ctrl+G”,定位到“0003A2A4”把“620002041A018E076E2019101000”改为“1201380103001A00FFFF00000000”(不清楚的可以看上一篇文章)Opcodes解释:1201 //const/4v1,0 //v1=038010300 //if-eqzv1,loc_3A2AC //if(v1==0)跳转到. 阅读全文
摘要:
由于大部分逆向工具都是线性读取字节码并解析,当遇到无效字节码时,就会引起反编译工具字节码解析失败。 我们可以插入无效字节码到DEX文件,但要保证该无效字节码永远不会被执行(否则您的程序就会崩溃了!)。首先我们新建一个测试类。为了绕过Dalvik运行时代码验证,BadCode.java要保证不被调用。(否则运行app,会出现java.lang.verifyerror异常)然后生成apk,用ida打开classes.dex。并找到BadCode类的aaa方法。选中的三行代码对应”System.out.println("aaaa");”切换到HexView-a视图,记录下指令码“ 阅读全文
摘要:
Android内存修改器有很多。拿其中的比较出名的八门神器来说,该应用通过修改正在运行的游戏的内存数据,可以非常方便地修改游戏的HP、MP、生命数等等参数。辛辛苦苦开发的游戏或应用被修改器一修改就悲催了。下面就通过一个demo来讲下,怎么通过多数据关联来保护应用的重要数据不被修改。 这个demo很简单,只有一个TextView和一个Button。点击Button,TextView加一。运行八门神器,锁定gold内存地址,把值改为999。然后点击Button,click方法中,代码从内存中读取了被修改的gold值,并把它+1显示到TextView。TextView显示1000,数据修改成功。下. 阅读全文
摘要:
使用jd-gui查看class文件的时候,经常会发现有一些方法或类,无法正常的显示出来。 我们可以利用这个bug,来阻止jd-gui反编译我们的class文件。首先反编译一个有源码的项目,用jd-gui查看,找到无法显示的类或方法。对比源码找到是哪些代码引起的bug。然后把代码提取出来。这里拿我找的一段代码为例。这段switch代码由于条件不成立永远不会被执行。所以我们把这段代码加到要保护的方法中,也不会影响程序的正常运行。下面拿一个简单的apk测试下,Eclipse新建一个test工程。假设要保护的是MainActivity中的onCreate()方法。我们把引起bug的代码加入到onCre 阅读全文
摘要:
众所周知,银行类app是对安全要求非常高的,它关系到用户的个人信息安全,财产安全等等。近日,想看看银行类软件在app安全上都是如何实现的。以下已某银行的app为例进行分析。1、按照常规思路,搜索页面中出现的关键字进行定位查找,发现没有查到任何信息。如下这并不是想要的密码输入框的hint使用的转化成Unicode进行搜索是没有任何地方使用。所以判断其页面文件时从远程获取的。2、换种方式分析。通过入口文件分析。发现其是使用加载自定义控件的方式实现了界面。并且所以的页面其实都是使用了一个activity。通过javascript和dom进行页面的跳转填充等,而且,关键点全部存储在so库中。这样。就让 阅读全文