记一次应用破解——脱壳修改后重打包

样本是在某个群里下载的,当时是有人发出来找人帮忙修改下,我是想练练手就下载下来开始修改。
首先拿到应用先看了下是加壳了,腾讯的壳,然后安装看了下需要修改的地方。
需求就是改一下qq群:
在这里插入图片描述
在这里插入图片描述
开始动手:
一、脱壳拿到dex文件
我这里直接使用脱壳机脱壳拿到了dex文件,简单粗暴。
二、反编译apk
用apktool反编译apk,得到反编译后的工程的文件夹。
三、修改AndroidManifest.xml
application标签下的com.tencent.StubShell.TxAppEntry替换成应用原来的com.e4a.runtime.android.E4Aapplication。
然后这个meta-data标签就可以删掉了。
在这里插入图片描述
这个是e4a类的应用,这里的入口activity也可以改一下,把标签替换到下面来,e4a类主界面就是包名+主窗口这个activity。
在这里插入图片描述
四、修改代码
e4a类应用基本都比较简单,包结构底下就那么几个类,直接分析了不用找什么关键字了。
在这里插入图片描述
这还有个判断是不是盗版app,这里重打包的话估计还要过这个校验,然后还有个抓包检出可以不用管我们这里不需要抓包。
在这里插入图片描述在这里插入图片描述
这里直接就看到群号了,真的都不需要怎么找。。。
这里的群号是解析联网获取的数据,我们直接给它设定个值就行了,不用管它联网获取是啥。
在这里插入图片描述
打开主窗口.smali,直接加代码const-string/jumbo v1, "12345678"给群号设置成“12345678”(随便写个号),这样群号就改好了,很简单。
在这里插入图片描述
以为到这里重打包就完了么,没这么快,前面说到过还要过它的校验。就几个判断直接改下if的条件跳过就好了或者直接把这些代码全删了,想法还是优先简单粗暴解决,结果是最后能运行但是没有上面我们贴的动态的界面,说明这种简单粗暴的方法解决不了。。ok继续看问题出在哪
在这里插入图片描述
找到了问题的关键“文本”,这里必须要联网获取到数据才能运行到qq群那个界面,这个文本的值又是联网必须的参数,文本是前面几个判断里面的拿到的,跳过了那些判断的模块就拿不到正确的文本,也就是联网参数不对。
在这里插入图片描述
找到了问题就好办了,直接hook大法。找它的调用链直接hook拿数据。
这样一看就比较清晰了,就是取app信息这里拿到的参数,直接改这个方法的返回数据,获取该取指定文本2的数据也是一样的,再或者直接改联网参数,把代码里面的文本[0]文本[1]什么的直接改成它对应的值。
在这里插入图片描述
我这里是改的指定文本2,把它的返回值改成了上面hook到的数据。
在这里插入图片描述
五、重新编译,签名就完成了。

免责声明:
本文的意图只是通过分析app学习安卓逆向技术,如果有人利用本文知识和技术进行非法操作进行牟利,带来的任何法律责任都将由操作者本人承担,和本文作者无任何关系。

  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值