吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

搜索
查看: 9001|回复: 27
上一主题 下一主题
收起左侧

[Android 原创] 闪送apk过签名校验

[复制链接]
跳转到指定楼层
楼主
yutao531315 发表于 2019-10-13 03:19 回帖奖励
最近,在学习安卓逆向方面的知识,学着学着,就懵逼了,突然想到很早之前一个软件“”闪送app的签名校验“” 拿来练手,毕竟太笨了,得靠多练手,才熟悉,发这个帖子的目的也是增强记忆,学习的目的!惯例,第一步,先用签名工具,把app重新签名一次。打开
提示,被非法篡改的app。 在过这个签名校验的时候,也走了很多弯路,打开软件看ddms信息,没有看到任何关键信息,搜索signature  关键词获取签名信息 ,搜索出来很多信息,但是没有定位到关键点,走了很多弯路,始终找不到突破点,哎,脑阔大。
经过一段时间思索,考虑,犹豫,想到,程序是打开信息马上就弹出,错误的对话框  可以从andorid程序的入口点,入口界面入手
第一步打开神器 androidkiller  观察程序的入口点,跟入口界面,能不能给我点信息!



第一步,先熟悉一下,androidManifest   package="com.ishansong"   第一行代码 ,为程序的包名

application  的name熟悉为程序入口点。我们第一步,就要从这里进行分析!

android:name="com.ishansong.RootApplication
在small代码里面找到   RootApplication  类,观察!  
查看java代码,找不到任何的关键点信息,接着我们查看入口界面,拿出工具继续看androidkiller

<activity android:label="@string/app_name_launcher" android:name="com.ishansong.LoadingActivity" android:screenOrientation="portrait" android:theme="@android:style/Theme.Light.NoTitleBar">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>  看MAIN  跟 LAUNCHER 两个在一起就是程序入口界面!
                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
        </activity>
com.ishansong.LoadingActivity   就是入口界面,找到对应的类



打开查看!java代码,看到一个native‘方法调用,



点进去看看代码代码。

看到里面加载了一个,sscorellib so文件! 这时候我们就要想,程序在入口界面,加载这个so文件搞么子,然后祭出神器ida 看看,这个so文件到底干了什么!

用360压缩,直接打开apk文件,到处里面 lib目录下面的  拖出来libssCoreLib.so   
打开ida  把libssCoreLib  拖进去


直接查看导出函数表,我是直接在这里 ,ctrl+f 搜索关键词 signature   ,也可以搜索字符串 然后查看交叉引用,同样也可以进入到关键位置



直接双击进入,

   LDR     R3, =(check_ptr - 0x18A4)
.text:0000189E                 PUSH    {R4-R7,LR}
.text:000018A0                 ADD     R3, PC ; check_ptr
.text:000018A2                 LDR     R3, [R3] ; check
.text:000018A4                 MOVS    R2, #0
.text:000018A6                 SUB     SP, SP, #0x34
.text:000018A8                 STR     R2, [R3]
.text:000018AA                 LDR     R3, =(aGetpackagename - 0x18B4)
.text:000018AC                 MOVS    R4, R0
.text:000018AE                 STR     R1, [SP,#0x48+var_30]
.text:000018B0                 ADD     R3, PC          ; "getPackageName"   这里看出来是获取包名
.text:000018B2                 STR     R3, [SP,#0x48+var_48]
.text:000018B4                 LDR     R3, =(aLjavaLangStrin - 0x18BE)
.text:000018B6                 ADD     R1, SP, #0x48+var_28


代码太多,我就截取关键位置

ADD     R3, PC          ; "getPackageManager"
.text:00001926                 STR     R3, [SP,#0x48+var_48]
.text:00001928                 LDR     R3, =(aLandroidConten - 0x1932)
.text:0000192A                 MOVS    R1, R4
.text:0000192C                 ADDS    R2, #0x2F
.text:0000192E                 ADD     R3, PC          ; "()Landroid/content/pm/PackageManager;    获取包名信息

     LDR     R3, =(aLandroidCont_0 - 0x19C2)
.text:000019BA                 ADD     R2, PC          ; "signatures"
.text:000019BC                 MOVS    R1, R6
.text:000019BE                 ADD     R3, PC          ; "[Landroid/content/pm/Signature;"
.text:000019C0                 MOVS    R0, R4
.text:000019C2                 BLX     R5
.text:000019C4                 LDR     R3, [R4]
.text:000019C6                 MOVS    R5, R0
.text:000019C8 ; 57:             (*(*v1 + offsetof(JNINativeInterface, DeleteLocalRef)))(v1, v8);
.text:000019C8                 MOVS    R1, R6
.text:000019CA                 LDR     R3, [R3,#JNINativeInterface.DeleteLocalRef]
.text:000019CC                 MOVS    R0, R4
.text:000019CE                 BLX     R3  //获取签名信息,

从上面这些关键词可以判断出,。此so文件就是签名校验的关键文件,!接着在java层,直接找到加载这个so的代码,直接删除代码



这两行,加载so库的位置,直接删除,编译打包,完美运行
,我也是新手,在学习过程中,写点帖子,主要是自己想增强学习,同时也想给与在这方面的朋友,少走些弯路,






















免费评分

参与人数 1吾爱币 +9 热心值 +1 收起 理由
qtfreet00 + 9 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

推荐
涛之雨 发表于 2019-10-14 22:33
。所以就这个so就是为了验证而载入的嘛。。。。
直接删掉不会出错?
推荐
Oops!Jeff 发表于 2019-10-15 11:43
头像被屏蔽
4#
sidcl 发表于 2019-10-14 17:14
5#
YAO21 发表于 2019-10-14 18:48
中文看的很流畅,英文就晕了
6#
Rolanju 发表于 2019-10-14 20:38
这个够详细,我喜欢
7#
Oops!Jeff 发表于 2019-10-14 21:51
源apk提供一个,练练手
8#
蹲蹲 发表于 2019-10-15 10:54
感谢分享 学习中
9#
 楼主| yutao531315 发表于 2019-10-15 11:26 |楼主
涛之雨 发表于 2019-10-14 22:33
。所以就这个so就是为了验证而载入的嘛。。。。
直接删掉不会出错?

对,专门为了验证的
10#
 楼主| yutao531315 发表于 2019-10-15 11:27 |楼主
Oops!Jeff 发表于 2019-10-14 21:51
源apk提供一个,练练手

直接百度搜索下载一个
11#
 楼主| yutao531315 发表于 2019-10-15 11:29 |楼主
Rolanju 发表于 2019-10-14 20:38
这个够详细,我喜欢

一起学习,
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2021-7-31 15:11

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表