找回密码
 立即注册
搜索
查看: 401|回复: 0

全面的 APP 测试模拟器搭建指南:工具介绍与详细步骤

[复制链接]

9420

主题

0

回帖

2万

积分

管理员

积分
28470
发表于 2024-9-25 16:45:16 | 显示全部楼层 |阅读模式
这只是原文的抄袭,本文主要讲解如何搭建一个综合的APP测试模拟器,这篇文章比较基础,请大家略过,本次介绍的工具如下:

雷电模拟器

-debug.apk 模拟器专用掩码版本

-v1.8.3-6552--.zip 不是最新版本

-proxy-4.2.5-win64 用作上游代理

对于下游代理

MT .15.2.apk 可选

.1.2.apk/.8.-v8a.apk 可以安装

-v0.5.2-120-.zip用于隐藏root,这里使用的版本太低

HMA-V3.2.apk黑名单和白名单

frida--16.2.1--arm64 测试必备

.apk 寄生虫

.apk 基本上没用

算法助手 2.1.2.apk 逆向工程必备

开发者助手.apk是后期逆向的必备工具

核心破解版.apk

开发助手.apk

.9.9.9.apk 用处不大,大家有自己的看法

-v1.9.zip解决证书无法导入系统信任目录的问题

这里有些工具在测试中用不到,但如果涉及到逆向工程,这些工具还是有用的。这次讲解主要体现在应用层,比如最常见的一些app加固和抓包问题解决方法,应用层加密问题及常见问题

有人可能会疑惑,模拟器本身就有root了,为什么还需要单独安装mask呢?其实安装mask的目的是为了使用一些需要mask才能使用的插件,而且使用mask也能更好的控制root权限

说的太多了,关于逆向工程,大家可以去看专栏,我表哥正吉的《逆向工程》很有名。

首先安装模拟器,不建议装在虚拟机里,直接新建一个 9的模拟器就行,为什么是 9呢?因为低版本模拟器很多插件都不能用,而且 9以上对data目录的插件也有很多特殊的权限限制,导致很多很好的框架在申请data目录权限的时候经常会出问题,所以建议大家直接使用 9

保存之后重启就行了,接下来安装mask,直接拖进去也可以,也可以用adb,安装完成后直接授予root权限然后修复就可以了。

重启后再次打开掩码会提示检测到其他su文件,直接删除就行了。

点击右上角的设置按钮,进行一些设置

可以先修改一下掩码的包名,有些app基础检测可能会检测系统安装包名(不修改也是可以的,后期可以隐藏在黑白名单里)



然后软件会自动关闭,只需等待即可。接下来,回到主页-设置,打开按钮

重启之后就生效了,接下来安装lsp框架,这个lsp框架是压缩包的形式,安装在掩码里,所以我们可以先adb push到模拟器的目录下,也可以使用迅雷模拟器的共享文件功能,把文件存进去,存的目录就是模拟器目录里

只需将您需要安装的所有文件一次性拖入其中即可。此文件位于模拟器目录中。打开掩码并选择本地安装。

重启后就好了,如果重启失败,请从头开始

直接安装.apk,安装的目的是为了lsp框架安装后,有些模拟器会出现一些玄学问题,比如任务栏找不到框架,无法创建快捷方式等,不过安装这个寄生虫会影响检测,这个后面会卸载,所以这里就简单介绍一下

毫无疑问,所有apk都可以直接安装。一般来说,框架的模块都可以直接安装。有些框架有GUI,会有单独的入口。有些框架只能在lsp中查看框架模块。zip压缩包中的模块一般在掩码中。这种情况下就不一一演示安装步骤了,只展示部署后的样子。

与核心破解模块类似,用于绕过部分APP签名认证,需经过系统框架检查

简单介绍一下安装的apk和插件的作用

MT  是一款史诗级的文件管理器,安装后可以赋予 root 权限,会员只需要 200+ 即可获得永久会员,MT  项目已经顺利运行了 N 年(我记得我高中做开发者的时候就用过这个),所以也建议大家付费获取知识,支持开发者。这款工具可以说是逆向神器了,可以打开常规软件的 dual,绕过签名,逆向 dex,记录等等,非常好用。

.1.2.apk/.8.-v8a.apk,相信大家都用过科学上网手机版,这两个工具的原理和科学上网差不多,很多都加固了HTTP代理检测,当遇到难以绕过的情况时,我们就可以使用这两个工具来绕过代理。由于工具支持协议包监控,所以还可以设置下游代理,只需要设置下游代理为burp就可以完成代理抓包,因此三者结合使用往往能起到意想不到的效果(京东APP就可以用此方法抓包);不过需要注意的是.1.2已经停止维护多年了,我的 13手机不支持安装,所以只能使用v2ary

这个工具可以部署在mask模块中,当mask模块的隐藏功能开启后,会影响app的测试,但是这个插件完美的解决了这个问题,设置了xxx应用的隐藏后,我们不需要真的开启隐藏功能,它就会帮我们隐藏root,而且不会影响我们的测试(推特app就可以用这个方法绕过root检测)。这里笔者使用的mask版本有点低,建议使用高版本,不然会很不愉快

HMA-V3.2 这个工具是apk逆向的必备工具,为什么这么说呢?因为这个插件可以实现黑名单和白名单功能,顾名思义这个工具可以给app设置黑名单和白名单,比如设置黑名单,把一些app排除在外,比如屏蔽,lsp相关框架,root组件被隐藏,这样加固后的app就查询不到相关的包名或者文件名,从而实现root和检测绕过(比如银行app就可以通过这种方式绕过root/检测)

首先需要在lsp中启用模块,并勾选对应需要隐藏的应用

然后创建一个黑名单模板,黑名单就是选择哪些包要隐藏,隐藏的包名是所有mask相关的插件,LSP相关的插件,包括mask和LSP框架本身,都选中即可。



然后回到应用配置,重新选择你要应用的app,比如我的icu,这个app有和root的检测,我需要单独绕过,所以勾选这个,然后设置工作模式为黑名单,选择我们的,就可以了

在测试的时候发现我们单独安装的lsp.apk无论如何都隐藏不了,于是我们卸载了单独安装的lsp安装包(不是lsp框架,是寄生虫安装包),但是还是有点下图是黑白名单内置检测,完全通过

但 momo 测试发现了它们全部

以下为实物手机效果

从这里可以看出,如果真要做移动测试,还是得买手机,模拟器有太多玄学问题。

frida--16.2.1--arm64是测试必不可少的,无需多言

建议安装虚拟环境

<p><pre class="code-snippet__js" data-lang="properties">    <code><span class="code-snippet_outer"><span class="code-snippet__attr">pip3</span> <span class="code-snippet__string">install virtualenvwrapper-win -i https://pypi.tuna.tsinghua.edu.cn/simple</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">workon</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">mkvirtualenv</span> <span class="code-snippet__string">frida16</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">pip3</span> <span class="code-snippet__string">install frida-tools -i https://pypi.tuna.tsinghua.edu.cn/simple</span></span></code></pre></p>
将frida 版本复制到模拟器中,由于笔者开了多个环境,所以需要选择adb设备

<p><pre class="code-snippet__js" data-lang="nginx">    <code><span class="code-snippet_outer"><span class="code-snippet__attribute">adb</span> devices</span></code></pre></p>
<p><pre class="code-snippet__js" data-lang="perl">    <code><span class="code-snippet_outer">adb -<span class="code-snippet__keyword">s</span> emulator-<span class="code-snippet__number">5558</span>  <span class="code-snippet__keyword">push</span> frida-server-<span class="code-snippet__number">16.2</span>.<span class="code-snippet__number">1</span>-android-x86_64 /data/<span class="code-snippet__keyword">local</span>/tmp</span></code></pre></p>
哦,忘记说了,frida版本和系统架构需要一一对应,不然会出现下面的场景

如果你只有一台设备,那么直接使用adb shell即可;将frida复制到手机的tmp目录下,授予权限,就可以开心的玩了

其实我在这里的时候还遇到了另外一个问题,这里记录一下;之前我安装过 和 模块,但是这里的版本可能比较低,模块的版本也比较低,导致出现问题的时候在执行 adb shell 的时候,会提示没有权限。这是因为模块会把 ro.adb. 改成 1,也就是开启 adb 按键验证,所以会出现无法连接 adb 的问题,这种情况可以把 mask 改成 fox ,或者暂时关闭模块;其实在测试的时候,我的实体手机上并没有出现这个问题,这里只是作为提醒而已(也可能是这个小问题在 1 版本之后已经修复了)

框架最早的必备工具之一,现在是否已经太旧而无用了?

强烈推荐算法助手2.1.2,这个工具有很多神奇的功能,比如:算法自吐槽、监控、堆栈监控、root/代理检测绕过等诸多功能

开发者助手强烈推荐这款资源监控工具,可以监控资源调用情况,页面图片及文字识别等。

这个插件主要功能是将apk安装到手机端,如果原版apk经过修改打包两次,可能会因为签名原因导致无法直接安装,不过如果不想卸载原版apk又不想丢失数据的话,可以试试这个。

开发助手,与开发者助手相辅相成
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|【科创星域】 ( 京ICP备20013102号-15 )

GMT+8, 2025-5-5 06:52 , Processed in 0.158355 second(s), 19 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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