ssage[‘payload’] = message[‘payload’].replace(‘”packed_trust_id”: “xxxxxxxxxxx”‘, ‘”packed_trust_id”: “”‘)

message[‘payload’] = message[‘payload’].replace(‘”trust_id”: “”‘, ‘”trust_id”: “xxxxxxxxxxx”‘)

# 手機連接模擬器或真機

device = frida.get_device_manager().enumerate_devices()[-1]

# 打開應用

session = device.attach(“com.example.app”)

# 加載 JavaScript 腳本

with open(‘script.js’, ‘r’, encoding=’utf-8′) as f:

script = session.create_script(f.read())

# 監(jiān)聽消息

script.on(“message”, on_message)

# 加載 JavaScript 腳本

script.load()

“`

2. 攔截網(wǎng)絡請求

我們可以通過一些中間件來攔截應用內的網(wǎng)絡請求,從而實現(xiàn)去除應用內的廣告,這種方法通用性強,但實現(xiàn)起來比較復雜,需要了解一些網(wǎng)絡協(xié)議和相關技術,下面是 Python 中攔截 HTTP 請求的一個例子:

“`python

import mitmproxy.http

def request(flow: mitmproxy.http.HTTPFlow):

# 判斷該請求是否為廣告請求

if ‘https://ad.xx.com/api’ in flow.request.url:

# 如果是,則將響應體修改為 JSON 格式的字符串 {“code”: 0}

flow.response.text = ‘{“code”: 0}’

def response(flow: mitmproxy.http.HTTPFlow):

# 判斷該響應是否為廣告響應

if ‘https://ad.xx.com/api’ in flow.request.APPurl:

# 如果是,則將響應體修改為 JSON 格式的字符串 {“code”: 0}

flow.response.text = ‘{“code”: 0}’

“`

3. 修改系統(tǒng)文件

我們可以通過修改 Android 系統(tǒng)中的 hosts 文件來實現(xiàn)屏蔽廣告的效果,這種方法簡單易行,但需要獲取 ROOT 權限,下面是一個 Python 實現(xiàn) hosts 文件修改的腳本:

“`python

import os

# 添加廣告域名到 hosts 文件中

def append_hosts():

os.system(‘su’)

os.system(‘echo “127.0.0.1 ad.xx.com” >> /etc/hosts’)

# 刪除廣告域名記錄

def remove_hosts():

os.system(‘su’)

os.system(‘sed -i “/127\.0\.0\APP開發(fā).1 ad\.xx\.com$/d” /etc/hosts’)

“`

以上就是三種屏蔽啟動廣告的方法,不過這些方法都可能會影響到應用的運行,尤其是修改系統(tǒng)文件的方法,需要慎重使用。此外,對于一些付費應用,存在去除廣告的行為是不道德的,因為開發(fā)者只有通過廣告才能獲得收益,我們應該尊重其付出的勞動成果。

未經(jīng)允許不得轉載:智電網(wǎng)絡 NET » app 啟動廣告屏蔽開發(fā)者如何事項的?

相關推薦