绕过xx鲸选APP强制更新,及分析加密解密

365bet游戏 📅 2025-10-01 18:15:32 👤 admin 👁️ 6110 ❤️ 495
绕过xx鲸选APP强制更新,及分析加密解密

版本:v3.43.0

绕过更新

这个版本是要更新的,更新吗,更新是不可能更新的

app是有加固的,使用frida-dexdump脱壳,这里具体方法不展开了

脱完壳后,反编译,查看检测版本及更新的逻辑

在jadx中搜索“更新”关键词

发现可疑的点,追进去

经过梳理,是调用check()这个函数,然后请求接口: client/upgrade/check 来得到app的版本信息,不为空则更新。

那很明确了,只要把check()返回为空,则不会为空了,使用hook大法

hook代码:

Java.perform(function(){

var UpgradeViewModel = Java.use("com.hd123.update.vm.UpgradeViewModel");

UpgradeViewModel["check"].implementation = function (bApplicationCheckUpgradeRequest) {

console.log('check is called' + ', ' + 'bApplicationCheckUpgradeRequest: ' + bApplicationCheckUpgradeRequest);

console.log('hook show')

return '';

};

});

需要注意的点:

因为要在启动的时候就去改这个更新的状态,要在app启动的时候就插入hook代码,不能在启动完成才插入,所以用程序去启动app及插入hook代码

import time

import frida, sys

def on_message(message, data):

print("[%s] => %s" % (message, data))

app_package_name = 'APP包名'

device = frida.get_usb_device()

try:

process = device.attach(app_package_name)

print('App已经启动')

except frida.ProcessNotFoundError:

print('App未启动,开始启动App...')

pid = device.spawn([app_package_name])

device.resume(pid)

time.sleep(1)

process = frida.get_usb_device().attach(app_package_name)

js = """

"""

script = process.create_script(js)

script.on('message', on_message)

script.load()

sys.stdin.read()

然后就进来了!!

这个app的绕过相对来说会简单一些

分析加密解密

进来后,发现请求参数和结果都是加密的,真的是困难重重啊,

但是即使困难重重,我们也绝不打退堂鼓。

经过漫长的分析,发现居然是加载js文件来完成加密解密的,在app-service.js文件,js文件的路径:

/data/user/0/包名/files/apps/__UNI__AC77004/www/app-service.js

搜索"encrypt"关键词,发现疑似是AES加密

扣出测试一下

奇怪了,解密不出来

再梳理了一遍源码,发现别的地方有一个DES加密解密

难道是DES加密,扣出来测试一下,还真的是DES加密。居然还真的是DES加密,目前DES已经是基本淘汰了

测试接口

没问题…

注意如果报错:UnicodeDecodeError: ‘gbk’ codec can’t decode byte 0x80 in position 460

解决方案:

在最前面导入

import subprocess

from functools import partial

subprocess.Popen = partial(subprocess.Popen, encoding=“utf-8”)

相关推荐

比亚迪 1.5t 发动机是什么型号?
365bet游戏

比亚迪 1.5t 发动机是什么型号?

📅 09-19 👁️ 5744
阿联曾自嘲:作为男篮领袖我很失败,那么多年没在世界大赛赢过
抖音里抖币怎么用?抖音上怎么充抖币
365bet体育在线365

抖音里抖币怎么用?抖音上怎么充抖币

📅 08-24 👁️ 6609