首页
社区
课程
招聘
[原创]记一次APP脱壳重打包过程
2017-8-5 21:25 51353

[原创]记一次APP脱壳重打包过程

2017-8-5 21:25
51353

小伙伴分享了一个开车软件,但是有播放次数限制。对此小伙伴放言要制裁它,无奈APP加固了。

咳咳,本着学(wei)习(le)研(fu)究(li)的态度,尝试着脱壳并重打包。

为证清白,伸出双手,上操作。

右键直接解压APK,查看特征是360加固:

使用apktool工具反编译APK作为我们的工程目录(能成功运气还不错):

总结下大致思路:

脱壳拿到DEX --- 替换smali源码 --- 修复AndroidManifest.xml --- 重打包 --- 签名运行

 

  一、脱壳获取DEX文件

看特征是360加固,用我之前的方法脱之(http://bbs.pediy.com/thread-219227.htm),拿到两个dex,分别改名classes.dexclasses2.dex

使用baksmali反编译,由于是两个dex,分别修改下目录名,并替换:

classes.dex -> smali/

classes2.dex -> smali_classes2/

        

二、修复AndroidManifest.xml

  修复AndroidManifest.xml,修改内容包括还原application入口,主activity,删除无用的组件。

      1、  查看smali,结合APP包名,确定原application类为

2、修改” application”节点”android:name”

改为

删除属性“android:protect”

3、修改主activity “.DEFAULT”“.LAUNCHER”

4、删除所有“com.stub.stub*”的组件。

                   如:

 

三、重打包、并签名运行

修改替换后,我们得到以下目录:

使用apktool打包试试,打包成功了(哦也)。

 

签名完、安装启动APP看看情况。

果然,启动就闪退了。(果然考驾照没那么简单)

         现在,咱们要确定是什么原因造成了闪退,最直接的方法就是动态调试APP

 

四、调试APP

使用IDEA + smalidea调试APP(参考http://www.52pojie.cn/thread-502219-1-1.html)。

那么下段点-> F8->F7->下段点 …… 不断跟踪代码

最终确定退出的地方:

 

由于咱们删除了壳的相关代码,这里就找不到com.stub.StubApp类了,所以删除之。

 

重新打包安装,运行成功!

嘿嘿,学(xing)习(fu)到(sheng)此(huo)结(lai)束(le)。

 

 

 

总结:这次重打包还是挺简单的,没有遇到反编译工具对抗,签名校验,native onCreate等,算是运气不错。样本就不放了,怕(liu)被(zhe)河(si)蟹(yong)。



[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
点赞3
打赏
分享
打赏 + 1.00雪花
打赏次数 1 雪花 + 1.00
 
赞赏  CCkicker   +1.00 2017/08/25
最新回复 (25)
雪    币: 878
活跃值: (496)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
Rprop 2017-8-5 21:48
2
0
似乎漏了bypass播放次数限制这部分
雪    币: 37
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
北城飘雪 2017-8-5 21:48
3
0
感谢老铁的帮忙,学了不少东西,沙发占了
雪    币: 37
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
北城飘雪 2017-8-5 21:51
4
0
rrrfff 似乎漏了bypass播放次数限制这部分
播放限制都简单,随便改下就好了
雪    币: 214
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
诗函 2017-8-5 22:45
5
0

为什么没有native  onCreate呢,好奇怪,那个class2.dex有用吗,不是已经在xml中删除了吗

雪    币: 214
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
诗函 2017-8-5 23:20
6
0
感谢分享
雪    币: 1
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
Meteor丶 2017-8-6 08:50
7
0
6666,请叫我只会喊666的闲鱼
雪    币: 3712
活跃值: (1271)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
不知世事 1 2017-8-6 11:04
8
0
从原application类可以看出应该是360最新的免费  壳,但是360应该弥补了这个dex2oat的漏洞了,就算是脱了,新版对部分方法进行了虚拟,不修复,也不可能轻易二次打包成功,我凌乱了。。。。
雪    币: 5
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
飞刀a 2017-8-9 23:15
9
0
                                                               
雪    币: 3542
活跃值: (239)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
xunbu 2017-8-10 22:07
10
0
apk呢?
雪    币: 40
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
shylqy 2017-8-11 14:58
11
0
能上样本吗,谢谢
雪    币: 5
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
飞刀a 2017-8-12 13:30
12
0

大虾,完成了LZ的所有的删除修改(应该是同一个版本加固的)后,运行时还是闪退,难道还有某个细节没做到位?

雪    币: 17
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
小熊ppt 2017-8-13 16:36
13
0
小白弱弱的问一下,如果遇到签名校验的那种app,还想二次打包,一般的解决思路是什么?
雪    币: 18
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
wingsbupt 2017-8-14 18:52
14
0
小熊ppt 小白弱弱的问一下,如果遇到签名校验的那种app,还想二次打包,一般的解决思路是什么?
修改smali代码,把签名校验的代码nop掉。
雪    币: 5
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
飞刀a 2017-8-18 10:34
15
0
invoke-static  {v0,  v1},  Lcom/app/baseframework/util/PreferencesUtil;->getBoolean(Ljava/lang/String;Z)Z
这个位置出错,大虾提示下是什么意思?谢谢
雪    币: 5
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
飞刀a 2017-8-18 20:20
16
0

终于搞定了,原来是入口整错了,感谢大虾的教程,只是老是提示运行出错,还好只是提示不退出

雪    币: 264
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
现代味儿 2017-8-28 19:32
17
0
谢谢分享  留名收藏
雪    币: 5
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
飞刀a 2017-9-5 15:23
18
0
新版又改了,妹的,闪退
雪    币: 6818
活跃值: (153)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
聖blue 2017-9-5 21:19
19
0
不错!!!!!!
雪    币: 239
活跃值: (23)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
七岁 2017-9-7 15:28
20
0
java.lang.UnsatisfiedLinkError:  Native  method  not  found,SplashActivity.onCreate:(Landroid/os/Bundle;)V,  onCreate虚拟掉了。。。
雪    币: 46
活跃值: (55)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
小菜阿龙 2017-10-22 21:41
21
0
大神    能帮我破解一个脱so吗
雪    币: 1
活跃值: (127)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
吴思泉 2017-10-23 09:27
22
0
唉,瑟瑟发抖,不敢说话
雪    币: 3
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
wx_曾经_957486 2017-12-29 07:21
23
0
瑟瑟发抖  腾讯思路  拱手给我吧哈
雪    币: 37
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
aopicwf 2018-3-13 17:39
24
0
这个不加壳的一般都可以直接反编译重打包
雪    币: 123
活跃值: (405)
能力值: ( LV2,RANK:15 )
在线值:
发帖
回帖
粉丝
伤字号 2023-4-20 17:20
25
0
样本呢?
游客
登录 | 注册 方可回帖
返回