-
-
[原创] 某Android模拟器的广告植入分析
-
发表于:
2020-4-4 14:55
8804
-
这是一个做的还不错的模拟器,不过它的广告让人很烦,考虑先分析看看。
它是带反调试的,使用x64dbg启动,会直接带调试器一起退出,添加了两项后,可以继续:
启动去掉HTTP外部请求:
从请求数据可以发现它进行了很多远端操作,包括统计信息发送,版本检测等等,需要把这些全干掉;从API监控分析:
关键函数:InternetCrackURL,通过设置API断点,进行定位函数调用点。
定位到函数:sub_437090(utility::CHttpDownloader *this)
对上面的函数进行Patch可以解决一部分的请求,应该是有多处请求的位置,还剩下几个请求,其中比较可疑的是下面的请求:
像是一个强制APP列表信息:
直接就有调用函数栈信息,从这里就能定位到调用点:
sub_489100 -> sub_47EFB0()
但是Patch不太容易,dnutility.dll是一个模块,可以去看看这个HTTP函数处理:
分析可以看到,如果Patch掉上面的位置 ,可以Patch所有请求的发起。
Patch后,发现请求一个也没有,而且测试并不影响后面的APP网络使用(应该是走的虚拟机网络)。
去掉窗口下的固定广告:
猜测这个广告应该是一个窗口叠加产生的,它并不在启动的虚拟机内,但是如果点击就会调用命令进行对应的请求和安装???但是从模拟器内部看感觉不像,应该是对Android的功能设定的。
进入Android系统分析
3.1 使用虚拟机加载虚拟磁盘:
system.vmdk 963.4MB NTFS
data.vmdk 128GB NTFS
sdcard.vmdk 128GB NTFS
通过直接查找:
[root@localhost sdcard2]# grep "三国志" -r .
./data/com.android.launcher3/shared_prefs/ldmnq_preference.xml
./data/com.android.flysilkworm/files/__track_send_data_1585810935428
通过删除文件,重启后测试,发现并没有什么变化,而且自己备份的文件还被删除了,说明这个地方的配置应该是有程序在自动生成,并不是配置文件,而且这个目录有点像是APK的应用数据目录,那么这个目录对应的是:com.android.launcher3,应该是定制了这个APK。
[root@localhost sdcard2]# grep configCache -r .
Binary file ./dalvik-cache/x86/system@app@Launcher3@Launcher3.apk@classes.dex matches
进行文件分析:
考虑修改试试,先用APKIDE进行分析&打包:
上传APK,重启测试:
然后就发现已经成功去掉了内置广告:
sub_4C7C50(_DWORD *this)
+--->show_root_window_sub_4D1930(__m128i *this) ## 初始化函数,不能去掉
+--->sub_448D30()
+---> sub_449010()
utility::CHttpDownloader::download2mem
utility::CHttpDownloader::waitFor
utility::CHttpDownloader::start
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)
最后于 2020-4-4 15:01
被nevinhappy编辑
,原因: