首页
社区
课程
招聘
[原创] apk破解之“异常”破解
发表于: 2013-5-13 11:21 87881

[原创] apk破解之“异常”破解

2013-5-13 11:21
87881

这次拿到一个新的apk,作者在上一次破解之后已经重写的代码,破解的关键也换了位置了,这次作者主要用到了异常,当在服务器上验证无该用户的数据时就会返回0,然后在调用parseInt方法时就会发生NumberFormatException异常,进而调用处理异常的代码,也就是提示“不成功”

注意:该文章用于技术交流,请不要用于非法破解,本人概不负责,错误疏漏之处还望海涵
  apk下载地址:
  377K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4m8S2L8W2)9J5k6h3u0S2K9h3c8#2i4K6u0W2j5$3!0E0i4K6u0r3M7$3S2S2M7X3g2Q4x3V1k6D9K9h3&6C8i4K6y4r3M7$3S2S2M7X3g2A6k6q4)9K6c8o6f1I4x3U0t1J5x3g2)9J5y4Y4g2C8i4K6y4p5x3U0l9I4y4K6x3^5z5e0V1^5
  破解工具:这个是一个IDE 集成了反编译,回编,adb等等工具,非常不错 可以玩玩
  标 题: 【下载】APK可视化修改工具:APK改之理(APK IDE)
  作 者: 青椒
  时 间: 2013-04-10,11:03:12
   链 接: http://bbs.pediy.com/showthread.php?t=168001

  视频地址:
7ebK9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4m8S2L8W2)9J5k6h3u0S2K9h3c8#2i4K6u0W2j5$3!0E0i4K6u0r3M7$3S2S2M7X3g2Q4x3V1k6D9K9h3&6C8i4K6y4r3M7$3S2S2M7X3g2A6k6q4)9K6c8o6f1I4y4o6f1K6y4q4)9J5y4Y4g2C8i4K6y4p5x3U0l9I4y4K6x3^5z5e0V1^5

  apk描述:apk正常安装后,需要注册,点击注册软件后,会有两个按钮,点击找回注册,正常情况下会显示“不成功”
  如图:
  
   
   apk破解过程:
   (1)该apk的文字提示将成为我们的利用对象,注册成功会提示"成功",当然你也可以找不成功,因为代码就在附近

  (2)在apk改之理右上角的"替换和搜索"窗口中输入字符串"成功", 然后在"替换和搜索"窗口的下拉菜单中选择"转换为Uncode"
    点击“搜索全部”按钮

(3)点击搜索之后,在搜索结果窗口中会出现全部出现“成功”的文件,如图,其中选中的文件就是注册模块,也就是
  BqimenDateInputActivity.smali。其中还有一个文件是BqimenDateInputActivityW.smali,这个文件是繁体版的注册模块,我们无需理会(如果你问 为什么这个就是注册的文件,你可以观察该文件中的字符串,以及文件名就可以了解,他就是注册模块)
  
 (4)双击BqimenDateInputActivity.smali将会自动打开该文件,并且定位到该字符出现的位置,定位到该方法的开始位置,详细请看代码的注释
  

 
  @可以看到注册的方法名称为s,参数为Lcom/forace/Bqimen/BqimenActivity/BqimenDa
  @teInputActivity,背后的V为无返回值
 @另外值得注意的是字段synthetic ,该字段是编译器合成的,非作者添加的,也就是如果
 @你使用java DeCompiler进程查看
 @Java级别的源码时,这些代码是看不到的,这也就是之前我搜索“成功”之类的字符串搜索不到的原因
  .method static synthetic s(Lcom/forace/Bqimen/BqimenActivity/BqimenDateInputActivity;)V
   

[培训]科锐逆向工程师培训第53期2025年7月8日开班!

上传的附件:
收藏
免费 6
支持
分享
最新回复 (37)
雪    币: 42
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
顶一个啊  支持
2013-5-13 11:44
0
雪    币: 244
活跃值: (40)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
3
哎...又砸了一个饭碗.
2013-5-13 13:52
0
雪    币: 298
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
哈哈。前几天发现个不能反编译只能IDA的,可能是定义字符超长,smali不识别。
2013-5-13 18:27
0
雪    币: 18
活跃值: (430)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
5
不能反编译? 用啥工具? 啥提示?
2013-5-13 19:23
0
雪    币: 298
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
直接smali啊~~~IDA跑得起来。换批处理apktool和改之理这种调用的都不行~~

system monitor
WIN8的taskmgr风格
2013-5-13 19:52
0
雪    币: 18
活跃值: (430)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
7
求此APK  我观察观察下
2013-5-13 20:34
0
雪    币: 298
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
有关键词啊。。。system monitor,外链违法吧?
2013-5-13 21:03
0
雪    币: 18
活跃值: (430)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
9
好吧 我玩玩看
2013-5-14 06:27
0
雪    币: 507
活跃值: (420)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
10
比较详细的分析过程,非常好的思路~相当于去掉外围包裹的if判断类于语句,直接走if内的流程~楼主辛苦...
2013-5-14 09:09
0
雪    币: 62
活跃值: (25)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
11
学习了 很牛逼的教程
2013-5-14 14:56
0
雪    币: 84
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
可能是定义字符超长,smali不识别

1.为什么反编译会出现这个问题,而程序正常运行时不会报错?
2.指定的路径或文件名太长,是原作者的疏忽所致还是故意这样做的?
2013-5-14 16:25
0
雪    币: 0
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
楼主,您好,有一款APk需要反编译,是否可以帮忙。谢谢
2013-5-14 22:29
0
雪    币: 136
活跃值: (34)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
SPL
14
支持一个
2013-5-16 05:31
0
雪    币: 231
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
支持一个 好文章
2013-5-16 09:15
0
雪    币: 198
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
对Android不了解,但看了楼主的分析,感觉很到位,让我这个小白都看起来似乎明白了什么
2013-5-17 00:52
0
雪    币: 33
活跃值: (145)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
17
看来APK的保护形势很严峻啊,起码自加密、SO都得支持哈!另外一些让工具奔溃的trick也需要!
2013-5-18 21:28
0
雪    币: 21
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
好。我把本教程收为apk改之理的使用教程之一
3a5K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6i4S2A6j5h3!0E0K9i4u0W2L8W2)9J5k6h3&6W2N6q4)9J5c8X3q4H3K9$3#2G2k6r3W2X3K9h3g2J5i4K6u0V1K9h3&6V1k6i4S2Q4x3V1k6Q4x3U0y4V1L8%4N6F1
2013-5-20 16:59
0
雪    币: 18
活跃值: (430)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
19
多谢
2013-5-20 18:31
0
雪    币: 761
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
嗯,不错的思路。可否问问LZ是什么职业的呢?
2013-5-23 09:18
0
雪    币: 18
活跃值: (430)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
21
打杂的
2013-5-23 10:56
0
雪    币: 332
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
不错不错,受教了
2013-5-23 18:33
0
雪    币: 298
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
23
发现另一只~digical calendar~~~~
83eK9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8X3q4F1k6s2u0G2K9h3c8Q4x3X3g2V1i4K6u0W2j5$3&6Q4x3V1k6K6L8$3k6@1N6$3q4J5k6g2)9J5c8U0t1%4x3K6x3#2i4K6u0W2K9s2c8E0L8l9`.`.

目前这种方式smali还搞不定。
另外还见到过使用WIN系统保留名的,可能是混淆自动生成?
2013-5-26 10:41
0
雪    币: 18
活跃值: (430)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
24
我看了一下,这个apk被混淆了,编译出来的smail文件很多都变形了
ˮ̸$鷭.smali
ˮ̣$鷭.smali
等等 其中的文件名包含con开头之类的东西,所以回编的话,提示失败:FileStream 将不会打开 Win32 设备(如磁盘分区和磁带机)。请避免在路径中
我的解决方法是 把dex单独拿出来,然后单独编译,这个倒是可以成功编译以及回编
只是文件还是被混淆的,如果分析的话 比较麻烦
2013-5-26 14:57
0
雪    币: 298
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
25
我说的还不是proguard混淆问题,是和之前的那个apk一样的情况,unknown link section~

sorry,网友提供给我的文件,我给你的是我常去的下载站,应该是下面这个,并不是原版,是国外黑市场XX过的。
3a5K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6h3y4G2L8$3I4S2M7r3E0Q4x3X3g2U0L8$3#2Q4x3V1k6S2M7r3E0Q4x3V1k6U0L8$3#2Q4x3X3g2V1K9h3N6A6j5X3W2@1k6i4y4Q4x3X3g2U0j5h3I4W2L8X3c8S2M7R3`.`.

之前那个system monitor:
427K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6h3y4G2L8$3I4S2M7r3E0Q4x3X3g2U0L8$3#2Q4x3V1k6S2M7r3E0Q4x3V1k6U0L8$3#2Q4x3X3g2U0k6$3!0D9L8r3&6W2M7W2)9J5k6i4y4&6M7%4c8W2L8h3#2G2L8X3W2@1L8%4t1`.

我指的都是黑市场二次修改后的,是人为保护措施?还是IDA修改了proguard的成品后自然造成的?~~~
2013-5-26 16:19
0
游客
登录 | 注册 方可回帖
返回