泄密无花 发表于 2023-2-28 13:37

【原创】安卓逆向实例 - 逆向泛思路【VIP+免登录】

本帖最后由 泄密无花 于 2023-2-28 14:45 编辑

# 0x00 前言

本帖子是总结帖,总结一下逆向一些App的常规思路

1、快速搜索:关键词字典、resources.arsc资源搜索、语义化定位

2、泛搜索快速定位:关键词字典、语义化定位

3、关键方法快速定位和定位跳转

4、修改的要素:赋值、跳转

5、针对脱壳、签名绕过(不是本文重点,不深入讨论)

# 0x01 准备工作

1、目标App:(https://www.wandoujia.com/apps/8322379)

2、自行去签:修改之前可以编译一次,签名一次就能快速确定是否有签名校验(主要现象:无法联网、闪退)

# 0x02 逆向泛思路

## 1、快速搜索

**两个关键方法的搜索都是依靠语义、关键词(在不混淆和加密代码的情况下)**

1)、以VIP举例:快速搜索的定位的一般是vip这个关键字符串,判断VIP最常见的方法莫过于包含vip这个字符串的方法名;可以衍生出多个常见方法的关键字:isvip、getvip、get_vip、isreal_vip等等

!(data/attachment/forum/202302/28/134030fe1e14hevu5xix1s.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/300 "vip.png")

2)、以免登录举例:快速搜索的定位的一般是login这个关键字符串,判断登录最常见的方法莫过于包含login这个字符串的方法名;可以衍生出多个常见方法的关键字:islogin、isreal_login等等

!(data/attachment/forum/202302/28/134040j4a8b632kaxl68pu.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/300 "login.png")

3)、在DEX文件中搜索不到字符串的情况下,也会到resources.arsc中搜索一些相关的关键词的ID;例如App页面显示的:登录、会员等等

!(data/attachment/forum/202302/28/134116d39c5el3a2enp3pq.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/300 "asclogin.png")

## 2、泛搜索快速定位

**没有100%一次就能定位成功的方法,多观察多思考多看细节,才能减少定位的混乱;在对语义的观察之后,可以有针对性地去优先查看搜索方法所处的地方,这样就能减少重复性的工作了**

1)、以定位VIP来举例:观察编译的文件名、所处的类目、方法名等等;此App可以优先查看main、login类等等

!(data/attachment/forum/202302/28/134839n611vqv7vgdih6gv.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/300 "vip关注点.png")

2)、以定位login为例:观察编译的文件名、所处的类目、方法名等等;此App可以优先查看setting、login类等等

!(data/attachment/forum/202302/28/135017ft1gg4rtk7080tv4.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/300 "login关注点.png")

## 3、关键方法快速定位和定位跳转

**泛搜索定位之后,关键方法的定位就是软件自带的跳转功能;利用跳转功能能快速跳转到该方法,再转换成Java代码来阅读**

!(data/attachment/forum/202302/28/135721xumk1uubvjdbzvqb.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/300 "vip跳转.png")

!(data/attachment/forum/202302/28/135752k45t1alycydmcylt.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/300 "Java-VIP.png")

这里要提一个很实用的方法:每跳转一个地方都观察一下它的**代码导航,**有时候会有意想不到的效果和发现

![代码导航.png](data/attachment/forum/202302/28/140000b4ourwbkpbkqdqop.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/300 "代码导航.png")

这里就一次性找到了两个可疑的登录方法

![观察代码导航.png](data/attachment/forum/202302/28/140202j7hhfmm55hh357am.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/300 "观察代码导航.png")

转Java代码阅读,这样代码逻辑就很清晰了;有两个可疑方法怎么办?全都试试!

![登录代码.png](data/attachment/forum/202302/28/140254vy27nnx3w1nlg1nl.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/300 "登录代码.png")

## 4、修改的要素

**修改的要素多种多样,最简单就是赋值、反跳转**

以此App为例子,首先修改VIP只需要:跳转get_isvip()赋值;这里也可以看到一般关于App的配置的类的关键词:AppConfig、Setting等等

![免登录.png](data/attachment/forum/202302/28/140737q2oz8876kop8pi6b.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/300 "免登录.png")

修改免登录:留给你们自己试试;下面的图是成功免登录的截图

![成功.png](data/attachment/forum/202302/28/140828u10uvzsx0vv2zf73.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/300 "成功.png")

# 0x03 总结

多观察、多思考、多总结、多动手

让IP飘一会 发表于 2023-3-19 14:45

不错不错,继续安卓逆向发扬光大,嘻嘻{:5_193:}

一生逍遥 发表于 2023-3-25 15:13

谢谢,收藏一下,也许用的上

无敌寂寞 发表于 2023-4-10 11:33

不错,按照方法试试看

bnjzzheng 发表于 2023-4-28 14:15

感谢分享

PDWORD 发表于 2023-5-24 01:37

感谢分享
页: [1]
查看完整版本: 【原创】安卓逆向实例 - 逆向泛思路【VIP+免登录】