在某锦课堂上看到有这个,拿来学习一下,却遇到一些问题...
1、根据启动流程
: 91fK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6%4N6%4N6Q4x3X3g2T1K9h3I4A6j5X3W2D9K9g2)9J5k6h3y4G2L8g2)9J5c8Y4k6A6k6r3g2G2i4K6u0r3b7W2j5I4N6V1f1@1x3e0q4U0y4#2A6B7i4K6y4r3M7q4)9K6c8o6j5J5i4@1f1J5i4K6R3H3i4K6S2n7i4@1f1J5i4K6R3H3i4K6S2n7
2、签名三兄弟
( log 插桩方法 分析方法调用流程 ): 5f3K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6%4N6%4N6Q4x3X3g2T1K9h3I4A6j5X3W2D9K9g2)9J5k6h3y4G2L8g2)9J5c8Y4k6A6k6r3g2G2i4K6u0r3b7W2j5I4N6V1f1@1x3e0q4U0y4#2A6B7i4K6y4r3M7q4)9K6c8o6j5K6i4@1f1J5i4K6R3H3i4K6S2n7i4@1f1J5i4K6R3H3i4K6S2n7
签名三兄弟:getPackageManager、getPackageInfo、getPackageName、( signature )
context.getPackageManager().getPackageinfo(context.getPackageName(), 64).signatures[0].hashCode()
视频中是通过搜索签名三兄弟,定位到 smali,然后 log 插桩,ddms 看 log 输出,分析流程。。。
3、根据 ddms 中 log 信息判断
把书旗小说.apk( 下载地址: c64K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6%4N6%4N6Q4x3X3g2%4j5h3&6V1L8%4g2B7K9h3q4Q4x3X3g2U0L8$3#2Q4x3V1k6S2M7s2m8K6i4K6u0r3x3U0R3^5x3U0l9K6i4K6u0r3K9r3W2K6N6r3!0J5P5g2)9#2k6Y4j5I4y4K6g2Q4c8e0u0Q4z5o6m8Q4z5p5u0Q4c8e0u0Q4z5o6m8Q4z5p5t1`. )通过 AndroidKiller 重新签名,然后安装,安装发现闪退。
打开 ddms 看看有什么信息 发现了一个 killProcess 方法
( 滑动到最后,从下往上看!!!
- 打开 jadx-gui 分析代码,搜索 "KillProcess" 根据 ddms 信息 发现它调用了 com.shuqi.app.ShuqiApplication 包里面的方法 我们跳转到里面去
- 他这个逻辑就很清晰了
- 让这个 handleToken 方法返回 true 即可 我们打开 Androidkiller 修改 smali
加这两行代码
6 .apk 完美运行
有些没有图,详情看log 地址:log地址:9b5K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6T1L8r3!0Y4i4K6u0W2y4e0q4U0N6r3!0Q4x3X3g2U0L8$3#2Q4x3V1k6U0M7$3&6V1i4K6u0r3y4e0V1^5x3K6V1^5y4H3`.`.
但我发现,修改了handleToken 方法返回 true 并没有生效,依旧会发生闪退.
然后我又询问了一些朋友,说搜索这个9aefda46e4b99363bda360ca44c975b6,是原比对签名的值.
在

这2个文件中,改成签名后的md5,就过了签名检验.
但我在Android 找到了这个地方,想打印输出下log日志,看下修改的签名后的md5是什么,发现什么也没有打印,好像没走到这.
我修改的位置如下:

请教下朋友们,这到底咋搞呀?
原apk文件太大我放不下了
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课