From 32f037f1110bd6b0d694e3df3be2d51de821c398 Mon Sep 17 00:00:00 2001 From: chnmig Date: Mon, 6 Nov 2023 20:09:45 +0800 Subject: [PATCH 1/6] =?UTF-8?q?=F0=9F=8D=BB=20=E6=9A=82=E5=AD=98=E4=BB=A3?= =?UTF-8?q?=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- helper/routers/adb/command.py | 70 ++++++++++++++ helper/routers/adb/command/base.py | 39 ++++++++ helper/routers/adb/init.py | 147 ++--------------------------- 3 files changed, 118 insertions(+), 138 deletions(-) create mode 100644 helper/routers/adb/command.py create mode 100644 helper/routers/adb/command/base.py diff --git a/helper/routers/adb/command.py b/helper/routers/adb/command.py new file mode 100644 index 0000000..efbd3a9 --- /dev/null +++ b/helper/routers/adb/command.py @@ -0,0 +1,70 @@ +import os +import platform + +class Command: + def __init__(self, Architecture: str, IsRemoteDevices: bool, RemoteDevicesIP: str, RemoteDevicesPort: int, IsNeedSU: bool): + # 用户手动配置 + self._devices_architecture = Architecture + self._is_remote_devices = IsRemoteDevices + self._remote_devices_ip = RemoteDevicesIP + self._remote_devices_port = RemoteDevicesPort + self._is_need_su = IsNeedSU + + # 对外暴露的command + self.stop_adb_cmd = "" + self.start_adb_cmd = "" + self.devices_cmd = "" + self.colse_SELinux_cmd = "" + self.close_usap_cmd = "" + self.kill_cmd = "" + self.clean_cmd = "" + self.push_cmd = "" + self.mv_cmd = "" + self.chmod_cmd = "" + self.run_cmd = "" + + # 根据配置生成合适的cmd命令 + def detecting(self): + # 根据本机os生成adb路径 + adb_path = "" + if platform.system().lower() == "darwin": + # mac 环境 + adb_path = ( + os.path.abspath(os.path.join(os.path.dirname(__file__), "../..")) + + os.sep + + "static" + + os.sep + + "darwin" + + os.sep + + "adb" + ) + else: + adb_path = ( + os.path.abspath(os.path.join(os.path.dirname(__file__), "../..")) + + os.sep + + "static" + + os.sep + + "windows" + + os.sep + + "adb.exe" + ) + # 目前可以确定的命令 + self.stop_adb_cmd = [adb_path, "kill-server"] + self.start_adb_cmd = [adb_path, "start-server"] + # 根据设备架构生成frida_server路径 + frida_server = "" + if self._devices_architecture == "x86": + frida_server = "hluda-server-x86" + elif self._devices_architecture == "arm": + frida_server = "hluda-server-arm64" + # 生成frida_server路径 + frida_path = ( + os.path.abspath(os.path.join(os.path.dirname(__file__), "../..")) + + os.sep + + "static" + + os.sep + + frida_server + ) + + + diff --git a/helper/routers/adb/command/base.py b/helper/routers/adb/command/base.py new file mode 100644 index 0000000..f79fffe --- /dev/null +++ b/helper/routers/adb/command/base.py @@ -0,0 +1,39 @@ +import os +import platform + + +frida_server_arm = "hluda-server-arm64" +frida_server_x86 = "hluda-server-x86" +# 探测系统和版本 +detecting_phone_architecture_cmd = [adb_path, "shell", "su -c 'getprop ro.product.cpu.abi'"] +frida_server = frida_server_arm +frida_path = ( + os.path.abspath(os.path.join(os.path.dirname(__file__), "../..")) + + os.sep + + "static" + + os.sep + + frida_server +) +colse_SELinux_cmd = [adb_path, "shell", "su -c 'setenforce 0'"] +kill_cmd = [adb_path, "shell", "su -c 'pkill -9 hluda'"] +clean_cmd = [adb_path, "shell", "su -c 'rm -rf /data/local/tmp/*'"] +push_cmd = [adb_path, "push", frida_path, "/storage/emulated/0/{}".format(frida_server)] +mv_cmd = [ + adb_path, + "shell", + "su -c 'mv /storage/emulated/0/{} /data/local/tmp/'".format(frida_server), +] +chmod_cmd = [ + adb_path, + "shell", + "su -c 'chmod 777 /data/local/tmp/{}'".format(frida_server), +] +run_cmd = [adb_path, "shell", "su -c 'nohup /data/local/tmp/{} &'".format(frida_server)] +devices_cmd = [adb_path, "devices"] +root_cmd = [adb_path, "shell", "su -c 'exit'"] +# https://github.com/frida/frida/issues/1788 +close_usap_cmd = [ + adb_path, + "shell", + "su -c 'setprop persist.device_config.runtime_native.usap_pool_enabled false'", +] \ No newline at end of file diff --git a/helper/routers/adb/init.py b/helper/routers/adb/init.py index ece6dc1..1989891 100644 --- a/helper/routers/adb/init.py +++ b/helper/routers/adb/init.py @@ -4,6 +4,7 @@ import subprocess from copy import deepcopy from fastapi import APIRouter +from pydantic import BaseModel from internal.response.model import ( ApiBaseResponse, @@ -16,143 +17,6 @@ router = APIRouter(prefix="/adb/init") -adb_path = ( - os.path.abspath(os.path.join(os.path.dirname(__file__), "../..")) - + os.sep - + "static" - + os.sep - + "windows" - + os.sep - + "adb.exe" -) # default windows -if platform.system().lower() == "darwin": - # mac 环境 - adb_path = ( - os.path.abspath(os.path.join(os.path.dirname(__file__), "../..")) - + os.sep - + "static" - + os.sep - + "darwin" - + os.sep - + "adb" - ) # 默认mac环境 -frida_server_arm = "hluda-server-arm64" -frida_server_x86 = "hluda-server-x86" -# 根据手机架构选择 frida-server, arm和x86 -# 兼容模拟器 -detecting_phone_architecture_cmd = [adb_path, "shell", "su -c 'getprop ro.product.cpu.abi'"] -frida_server = "" -frida_path = ( - os.path.abspath(os.path.join(os.path.dirname(__file__), "../..")) - + os.sep - + "static" - + os.sep - + frida_server -) -colse_SELinux_cmd = [adb_path, "shell", "su -c 'setenforce 0'"] -kill_cmd = [adb_path, "shell", "su -c 'pkill -9 hluda'"] -clean_cmd = [adb_path, "shell", "su -c 'rm -rf /data/local/tmp/*'"] -push_cmd = [adb_path, "push", frida_path, "/storage/emulated/0/{}".format(frida_server)] -mv_cmd = [ - adb_path, - "shell", - "su -c 'mv /storage/emulated/0/{} /data/local/tmp/'".format(frida_server), -] -chmod_cmd = [ - adb_path, - "shell", - "su -c 'chmod 777 /data/local/tmp/{}'".format(frida_server), -] -run_cmd = [adb_path, "shell", "su -c 'nohup /data/local/tmp/{} &'".format(frida_server)] -devices_cmd = [adb_path, "devices"] -root_cmd = [adb_path, "shell", "su -c 'exit'"] -stop_adb_cmd = [adb_path, "kill-server"] -start_adb_cmd = [adb_path, "start-server"] -# https://github.com/frida/frida/issues/1788 -close_usap_cmd = [ - adb_path, - "shell", - "su -c 'setprop persist.device_config.runtime_native.usap_pool_enabled false'", -] - -def generation_cmd(): - # 重新生成cmd - global adb_path - global frida_server - global frida_path - global colse_SELinux_cmd - global kill_cmd - global clean_cmd - global push_cmd - global mv_cmd - global chmod_cmd - global run_cmd - global devices_cmd - global root_cmd - global stop_adb_cmd - global start_adb_cmd - global close_usap_cmd - global detecting_phone_architecture_cmd - global frida_server_arm - global frida_server_x86 - adb_path = ( - os.path.abspath(os.path.join(os.path.dirname(__file__), "../..")) - + os.sep - + "static" - + os.sep - + "windows" - + os.sep - + "adb.exe" - ) # default windows - if platform.system().lower() == "darwin": - # mac 环境 - adb_path = ( - os.path.abspath(os.path.join(os.path.dirname(__file__), "../..")) - + os.sep - + "static" - + os.sep - + "darwin" - + os.sep - + "adb" - ) # 默认mac环境 - frida_server_arm = "hluda-server-arm64" - frida_server_x86 = "hluda-server-x86" - # 根据手机架构选择 frida-server, arm和x86 - # 兼容模拟器 - detecting_phone_architecture_cmd = [adb_path, "shell", "su -c 'getprop ro.product.cpu.abi'"] - frida_path = ( - os.path.abspath(os.path.join(os.path.dirname(__file__), "../..")) - + os.sep - + "static" - + os.sep - + frida_server - ) - colse_SELinux_cmd = [adb_path, "shell", "su -c 'setenforce 0'"] - kill_cmd = [adb_path, "shell", "su -c 'pkill -9 hluda'"] - clean_cmd = [adb_path, "shell", "su -c 'rm -rf /data/local/tmp/*'"] - push_cmd = [adb_path, "push", frida_path, "/storage/emulated/0/{}".format(frida_server)] - mv_cmd = [ - adb_path, - "shell", - "su -c 'mv /storage/emulated/0/{} /data/local/tmp/'".format(frida_server), - ] - chmod_cmd = [ - adb_path, - "shell", - "su -c 'chmod 777 /data/local/tmp/{}'".format(frida_server), - ] - run_cmd = [adb_path, "shell", "su -c 'nohup /data/local/tmp/{} &'".format(frida_server)] - devices_cmd = [adb_path, "devices"] - root_cmd = [adb_path, "shell", "su -c 'exit'"] - stop_adb_cmd = [adb_path, "kill-server"] - start_adb_cmd = [adb_path, "start-server"] - # https://github.com/frida/frida/issues/1788 - close_usap_cmd = [ - adb_path, - "shell", - "su -c 'setprop persist.device_config.runtime_native.usap_pool_enabled false'", - ] - def detecting_phone_architecture(): # 检测手机架构 global frida_server @@ -166,8 +30,15 @@ def detecting_phone_architecture(): raise Exception("手机架构不支持", outdata) return frida_server +class InitItem(BaseModel): + DevicesArchitecture: str = "" # arm/x86 + IsRemoteDevices: bool = False # 是否是远程设备 + RemoteDevicesIP: str = "" # 远程设备IP + RemoteDevicesPort: int = "" # 远程设备端口 + IsNeedSU: bool = True # 是否需要su才能申请root权限(正常需要, 特殊rom不需要) + @router.post("", response_model=ApiBaseResponse, response_model_exclude_unset=False) -async def init(): +async def init(item: InitItem): res = deepcopy(OK) try: # https://github.com/zhengjim/camille/pull/32/commits/1be9236d7b0d8d4369ba0e0e84df5c660dc35c87 From 580cdd531c821ff962abc0c6dc8b512602569786 Mon Sep 17 00:00:00 2001 From: chnmig Date: Tue, 7 Nov 2023 19:23:36 +0800 Subject: [PATCH 2/6] =?UTF-8?q?=F0=9F=A4=94=20=E5=BC=95=E5=85=A5=E5=8A=A8?= =?UTF-8?q?=E6=80=81cmd?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- helper/routers/adb/command.py | 78 +++++++++++++++++++++++------ helper/routers/adb/command/base.py | 39 --------------- helper/routers/adb/init.py | 80 ++++++++++++++++++------------ 3 files changed, 111 insertions(+), 86 deletions(-) delete mode 100644 helper/routers/adb/command/base.py diff --git a/helper/routers/adb/command.py b/helper/routers/adb/command.py index efbd3a9..a03c6e7 100644 --- a/helper/routers/adb/command.py +++ b/helper/routers/adb/command.py @@ -11,17 +11,18 @@ def __init__(self, Architecture: str, IsRemoteDevices: bool, RemoteDevicesIP: st self._is_need_su = IsNeedSU # 对外暴露的command - self.stop_adb_cmd = "" - self.start_adb_cmd = "" - self.devices_cmd = "" - self.colse_SELinux_cmd = "" - self.close_usap_cmd = "" - self.kill_cmd = "" - self.clean_cmd = "" - self.push_cmd = "" - self.mv_cmd = "" - self.chmod_cmd = "" - self.run_cmd = "" + self.connect_remote_cmd = [] + self.stop_adb_cmd = [] + self.start_adb_cmd = [] + self.devices_cmd = [] + self.colse_SELinux_cmd = [] + self.close_usap_cmd = [] + self.kill_cmd = [] + self.clean_cmd = [] + self.push_cmd = [] + self.mv_cmd = [] + self.chmod_cmd = [] + self.run_cmd = [] # 根据配置生成合适的cmd命令 def detecting(self): @@ -48,6 +49,11 @@ def detecting(self): + os.sep + "adb.exe" ) + # 远程remote连接 + if self._is_remote_devices: + self.connect_remote_cmd = [adb_path, "connect", "{}:{}".format(self._remote_devices_ip, self._remote_devices_port)] + else: + self.connect_remote_cmd = [] # 目前可以确定的命令 self.stop_adb_cmd = [adb_path, "kill-server"] self.start_adb_cmd = [adb_path, "start-server"] @@ -65,6 +71,50 @@ def detecting(self): + os.sep + frida_server ) - - - + if self._is_need_su: + self.colse_SELinux_cmd = [adb_path, "shell", "su -c 'setenforce 0'"] + self.kill_cmd = [adb_path, "shell", "su -c 'pkill -9 hluda'"] + self.clean_cmd = [adb_path, "shell", "su -c 'rm -rf /data/local/tmp/*'"] + self.mv_cmd = [ + adb_path, + "shell", + "su -c 'mv /storage/emulated/0/{} /data/local/tmp/'".format(frida_server), + ] + self.chmod_cmd = [ + adb_path, + "shell", + "su -c 'chmod 777 /data/local/tmp/{}'".format(frida_server), + ] + self.run_cmd = [adb_path, "shell", "su -c 'nohup /data/local/tmp/{} &'".format(frida_server)] + self.devices_cmd = [adb_path, "devices"] + self.root_cmd = [adb_path, "shell", "su -c 'exit'"] + # https://github.com/frida/frida/issues/1788 + self.close_usap_cmd = [ + adb_path, + "shell", + "su -c 'setprop persist.device_config.runtime_native.usap_pool_enabled false'", + ] + else: + self.colse_SELinux_cmd = [adb_path, "shell", "-c 'setenforce 0'"] + self.kill_cmd = [adb_path, "shell", "-c 'pkill -9 hluda'"] + self.clean_cmd = [adb_path, "shell", "-c 'rm -rf /data/local/tmp/*'"] + self.mv_cmd = [ + adb_path, + "shell", + "-c 'mv /storage/emulated/0/{} /data/local/tmp/'".format(frida_server), + ] + self.chmod_cmd = [ + adb_path, + "shell", + "-c 'chmod 777 /data/local/tmp/{}'".format(frida_server), + ] + self.run_cmd = [adb_path, "shell", "-c 'nohup /data/local/tmp/{} &'".format(frida_server)] + self.devices_cmd = [adb_path, "devices"] + self.root_cmd = [adb_path, "shell", "-c 'exit'"] + # https://github.com/frida/frida/issues/1788 + self.close_usap_cmd = [ + adb_path, + "shell", + "-c 'setprop persist.device_config.runtime_native.usap_pool_enabled false'", + ] + self.push_cmd = [adb_path, "push", frida_path, "/storage/emulated/0/{}".format(frida_server)] diff --git a/helper/routers/adb/command/base.py b/helper/routers/adb/command/base.py deleted file mode 100644 index f79fffe..0000000 --- a/helper/routers/adb/command/base.py +++ /dev/null @@ -1,39 +0,0 @@ -import os -import platform - - -frida_server_arm = "hluda-server-arm64" -frida_server_x86 = "hluda-server-x86" -# 探测系统和版本 -detecting_phone_architecture_cmd = [adb_path, "shell", "su -c 'getprop ro.product.cpu.abi'"] -frida_server = frida_server_arm -frida_path = ( - os.path.abspath(os.path.join(os.path.dirname(__file__), "../..")) - + os.sep - + "static" - + os.sep - + frida_server -) -colse_SELinux_cmd = [adb_path, "shell", "su -c 'setenforce 0'"] -kill_cmd = [adb_path, "shell", "su -c 'pkill -9 hluda'"] -clean_cmd = [adb_path, "shell", "su -c 'rm -rf /data/local/tmp/*'"] -push_cmd = [adb_path, "push", frida_path, "/storage/emulated/0/{}".format(frida_server)] -mv_cmd = [ - adb_path, - "shell", - "su -c 'mv /storage/emulated/0/{} /data/local/tmp/'".format(frida_server), -] -chmod_cmd = [ - adb_path, - "shell", - "su -c 'chmod 777 /data/local/tmp/{}'".format(frida_server), -] -run_cmd = [adb_path, "shell", "su -c 'nohup /data/local/tmp/{} &'".format(frida_server)] -devices_cmd = [adb_path, "devices"] -root_cmd = [adb_path, "shell", "su -c 'exit'"] -# https://github.com/frida/frida/issues/1788 -close_usap_cmd = [ - adb_path, - "shell", - "su -c 'setprop persist.device_config.runtime_native.usap_pool_enabled false'", -] \ No newline at end of file diff --git a/helper/routers/adb/init.py b/helper/routers/adb/init.py index 1989891..acd8e5f 100644 --- a/helper/routers/adb/init.py +++ b/helper/routers/adb/init.py @@ -5,6 +5,7 @@ from copy import deepcopy from fastapi import APIRouter from pydantic import BaseModel +from .command import Command from internal.response.model import ( ApiBaseResponse, @@ -17,20 +18,7 @@ router = APIRouter(prefix="/adb/init") -def detecting_phone_architecture(): - # 检测手机架构 - global frida_server - result = subprocess.Popen(detecting_phone_architecture_cmd, stdout=subprocess.PIPE).communicate() - outdata = result[0].decode("utf-8") - if "arm" in outdata: - frida_server = frida_server_arm - elif "x86" in outdata: - frida_server = frida_server_x86 - else: - raise Exception("手机架构不支持", outdata) - return frida_server - -class InitItem(BaseModel): +class DevicesOptionItem(BaseModel): DevicesArchitecture: str = "" # arm/x86 IsRemoteDevices: bool = False # 是否是远程设备 RemoteDevicesIP: str = "" # 远程设备IP @@ -38,39 +26,47 @@ class InitItem(BaseModel): IsNeedSU: bool = True # 是否需要su才能申请root权限(正常需要, 特殊rom不需要) @router.post("", response_model=ApiBaseResponse, response_model_exclude_unset=False) -async def init(item: InitItem): +async def init(item: DevicesOptionItem): res = deepcopy(OK) try: + cmd = Command( + item.DevicesArchitecture, + item.IsRemoteDevices, + item.RemoteDevicesIP, + item.RemoteDevicesPort, + item.IsNeedSU + ) + cmd.detecting() # https://github.com/zhengjim/camille/pull/32/commits/1be9236d7b0d8d4369ba0e0e84df5c660dc35c87 # 重启一下 adb, 防止 adb 偶尔抽风 # 停止 adb - subprocess.call(stop_adb_cmd) + subprocess.call(cmd.stop_adb_cmd) # 启动adb - subprocess.call(start_adb_cmd) - time.sleep(5) + subprocess.call(cmd.start_adb_cmd) + time.sleep(3) + if item.IsRemoteDevices: + subprocess.call(cmd.connect_remote_cmd) + time.sleep(3) # https://github.com/zhengjim/camille/pull/32/commits/e3084d92ba0db4206409246d5e8145c9b5820640 - subprocess.call(devices_cmd) + subprocess.call(cmd.devices_cmd) # 关闭SELinux - subprocess.call(colse_SELinux_cmd) + subprocess.call(cmd.colse_SELinux_cmd) # https://github.com/frida/frida/issues/1788 适配ROM - subprocess.call(close_usap_cmd) + subprocess.call(cmd.close_usap_cmd) # kill 可能残留的进程 - subprocess.call(kill_cmd) + subprocess.call(cmd.kill_cmd) time.sleep(2) - # 获取手机架构 - detecting_phone_architecture() - generation_cmd() # 清理数据 - subprocess.call(clean_cmd) + subprocess.call(cmd.clean_cmd) # 推送 frida-server 到设备 - subprocess.call(push_cmd) + subprocess.call(cmd.push_cmd) time.sleep(3) # 移动文件 - subprocess.call(mv_cmd) + subprocess.call(cmd.mv_cmd) # 设置权限 - subprocess.call(chmod_cmd) + subprocess.call(cmd.chmod_cmd) # 启动 - pid = subprocess.Popen(run_cmd) + pid = subprocess.Popen(cmd.run_cmd) time.sleep(5) pid.kill() except Exception as e: @@ -83,11 +79,29 @@ async def init(item: InitItem): @router.get( "/verify", response_model=ApiBaseResponse, response_model_exclude_unset=False ) -async def verify(): +async def verify(item: DevicesOptionItem): res = deepcopy(OK) try: + cmd = Command( + item.DevicesArchitecture, + item.IsRemoteDevices, + item.RemoteDevicesIP, + item.RemoteDevicesPort, + item.IsNeedSU + ) + cmd.detecting() + # https://github.com/zhengjim/camille/pull/32/commits/1be9236d7b0d8d4369ba0e0e84df5c660dc35c87 + # 重启一下 adb, 防止 adb 偶尔抽风 + # 停止 adb + subprocess.call(cmd.stop_adb_cmd) + # 启动adb + subprocess.call(cmd.start_adb_cmd) + time.sleep(3) + if item.IsRemoteDevices: + subprocess.call(cmd.connect_remote_cmd) + time.sleep(3) # 确认是否打开了 usb 调试 - result = subprocess.Popen(devices_cmd, stdout=subprocess.PIPE).communicate() + result = subprocess.Popen(cmd.devices_cmd, stdout=subprocess.PIPE).communicate() if ( result[0].decode("utf-8").split("\n")[1] == "" or result[0].decode("utf-8").split("\n")[1] == "\r" @@ -102,7 +116,7 @@ async def verify(): res = deepcopy(USB_UNAUTHORIZED) return res if result[0].decode("utf-8").split("\n")[1].split()[1] == "device": - root_check = subprocess.call(root_cmd) + root_check = subprocess.call(cmd.root_cmd) if root_check != 0: res = deepcopy(ROOT_CLOSED) return res From 5c12c3a60cc8b20f6cb10839ca4a9880b9b82442 Mon Sep 17 00:00:00 2001 From: chnmig Date: Tue, 7 Nov 2023 19:37:01 +0800 Subject: [PATCH 3/6] =?UTF-8?q?=F0=9F=90=9B=20=E8=AE=BE=E7=BD=AE=E6=96=87?= =?UTF-8?q?=E6=A1=A3=E5=9C=B0=E5=9D=80=E4=B8=BAgithub?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- view/src-electron/electron-preload.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/view/src-electron/electron-preload.js b/view/src-electron/electron-preload.js index e26ba70..f967c91 100644 --- a/view/src-electron/electron-preload.js +++ b/view/src-electron/electron-preload.js @@ -31,7 +31,7 @@ contextBridge.exposeInMainWorld("systemApi", { return await ipcRenderer.send("checkForUpdate", bySelf); }, //打开文档 - openDocs: () => ipcRenderer.send("open-url", "https://appscan.ly.com"), + openDocs: () => ipcRenderer.send("open-url", "https://github.com/TongchengOpenSource/AppScan/wiki"), //打开issues openIssues: () => ipcRenderer.send( From 92f1c9b428270d4e95514dcab6abd533998b05ea Mon Sep 17 00:00:00 2001 From: chnmig Date: Tue, 7 Nov 2023 20:02:54 +0800 Subject: [PATCH 4/6] =?UTF-8?q?=F0=9F=A5=9A=20=E5=AE=9E=E9=AA=8C=E7=A7=BB?= =?UTF-8?q?=E5=8A=A8=E8=AE=BE=E7=BD=AE=E5=BC=B9=E7=AA=97=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- view/src/components/AboutUsDialog.vue | 34 ------------ view/src/components/SettingModal.vue | 65 +++++++++++++++++------ view/src/layouts/MainLayout.vue | 74 ++------------------------- 3 files changed, 52 insertions(+), 121 deletions(-) diff --git a/view/src/components/AboutUsDialog.vue b/view/src/components/AboutUsDialog.vue index 695b196..009ae3d 100644 --- a/view/src/components/AboutUsDialog.vue +++ b/view/src/components/AboutUsDialog.vue @@ -39,28 +39,6 @@ - - @@ -92,22 +70,10 @@ export default defineComponent({ // 获取版本数据 synopsis.version = getVersion(); - // //获取历史数据; - // getHistory() - // .then((res) => { - // if (res.code == 200) { - // history.data = res.result; - // } - // }) - // .catch((rej) => { - // console.log("请求版本信息失败:" + rej); - // }); - // getHistory(); return { alert, synopsis, history, - // getHistory, openIssues, }; }, diff --git a/view/src/components/SettingModal.vue b/view/src/components/SettingModal.vue index 3a13df7..a133566 100644 --- a/view/src/components/SettingModal.vue +++ b/view/src/components/SettingModal.vue @@ -1,4 +1,46 @@ @@ -282,6 +214,8 @@ import { useAppInfoStore } from "stores/app-info"; import AboutUsDialog from "src/components/AboutUsDialog.vue"; // 错误提交组件 import errorSubmitDialog from "../components/errorSubmitDialog.vue"; +// 设置组件 +import SettingModal from "../components/SettingModal.vue"; let activeMenu = ref("privacy"); let updating = ref(false); @@ -373,7 +307,7 @@ export default defineComponent({ } // 设置弹窗 function openSetting() { - settingDialog.value = true; + setting.value.visible = true; } // 保存设置(存储mode、waitTime) function saveSetting() { From 7fa600a586e87f79a32aa4cfab0c62f15c8051b3 Mon Sep 17 00:00:00 2001 From: ChnMig Date: Sat, 25 Nov 2023 13:59:18 +0800 Subject: [PATCH 5/6] =?UTF-8?q?docs:=20=F0=9F=93=9D=20=E6=9B=B4=E6=96=B0Re?= =?UTF-8?q?adme?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 54f381a..a10066b 100644 --- a/README.md +++ b/README.md @@ -26,6 +26,9 @@ AppScan 这款隐私合规检测工具, 它是一款基于动态分析, 可以 + 高效性:  可帮助APP开发公司及开发者快速对APP进行日常合规检测,深度挖掘隐私合规风险点、快速处理大批量App,替代人工翻查代码,降低时间与人力成本,显著提升检测效率。 + 易用性:  无需环境搭配、开箱即用。 +## 关于暂时停止发布MacOs官方安装包的公告 +https://github.com/TongchengOpenSource/AppScan/discussions/51 + ## 安装指南 ⬇️[下载地址](https://github.com/tongcheng-security-team/AppScan/releases) @@ -42,16 +45,21 @@ AppScan 这款隐私合规检测工具, 它是一款基于动态分析, 可以 - 雷神模拟器9(需要在 设置-其他设置 中开启root权限, 设置ADB调试为'开启本地连接') 目前暂不支持的模拟器 -- MuMu模拟器12(未找到ADB开关, 导致ADB无法识别到设备) +- MuMu模拟器12(通过remote adb链接, 功能正在开发中) ## 使用文档 > 使用者查看此文档即可 +希望您可以提交公司/组织信息, 帮助AppScan更好的成长, 谢谢 + 🏠[使用文档](https://github.com/TongchengOpenSource/AppScan/wiki) ## 开发文档 > 开发者需要额外查看文档 +AppScan持续吸纳开发者加入, 一起完善AppScan, 为开源做贡献 +https://github.com/TongchengOpenSource/AppScan/discussions/52 + ### 架构 👽[架构说明](./doc/architecture.md) From 27f0f5edf992d302a4ccc63fc00462ecc724b279 Mon Sep 17 00:00:00 2001 From: ChnMig Date: Sat, 25 Nov 2023 14:22:20 +0800 Subject: [PATCH 6/6] =?UTF-8?q?build:=20=F0=9F=9B=A0=EF=B8=8F=202.1.2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- view/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/view/package.json b/view/package.json index 1b8c2d8..b94087a 100644 --- a/view/package.json +++ b/view/package.json @@ -1,6 +1,6 @@ { "name": "app-scan", - "version": "2.1.1", + "version": "2.1.2", "description": "自动化隐私检测工具", "productName": "app-scan", "author": "TongchengSecurityTeam ",