iOS逆向 如何驗證簽名

2021-10-10 21:25:53 字數 2015 閱讀 6490

前沿

1 連線越獄裝置

2 找到目標程序

com.xtone.expressionkingdom
3 ida找到目標函式

3.1 追蹤trace

frida-trace -u 9124 -m "+[nsurl urlwithstring:]"
3.2 通過ida找到目標函式,進行追蹤
frida-trace -u 9124 -m "-[xtbaserequest getwithurlstring:parameters:success:failure:]"

frida-trace -u 9124 -m "-[xtbaserequest addmustparamstoparams:]"

注意:

追蹤多個函式的寫法

frida-trace -u 9124 -m "+[nsurl urlwithstring:]" -m "-[xtbaserequest getwithurlstring:parameters:success:failure:]"
執行完命令,會在根目錄生成乙個檔名為__handlers__ 的檔案

對應的js檔案,可以修改引數,列印log

再次終端執行追蹤

目前已經追蹤到關鍵函式,回到ida找到對應函式的彙編**,進行分析

彙編分析

sign演算法還原:

python版

# coding=utf-8

import time

import hashlib

class tes***5():

timestamp = int(round(time.time() * 1000))

print('當前時間戳 :' + timestamp)

# 待加密資訊

str = 'bqmsapiv2' + str(timestamp)

# 建立md5物件

hl = hashlib.md5()

# 此處必須宣告encode

# 若寫法為hl.update(str) 報錯為: unicode-objects must be encoded before hashing

hl.update(str.encode(encoding='utf-8'))

print('md5加密前為 :' + str)

oc版

- (nsstring *)getsigncode

//獲取當前時間戳

- (nsstring *)currenttimestr

- (nsstring *) md5withstring:(nsstring *) str

return result;

}

iOS逆向之安裝簽名工具ldid

1.安裝brew,並安裝ldid usr bin ruby e curl fssl brew install ldid 2.修改使用者的環境配置 vim bash profile 這個只是其中的一種方法 export theos theos export path theos bin path so...

APP逆向重簽名

第一步 先將ipa包進行解壓。第二步 替換 embedded.mobileprovision檔案,我們需要將自己打包中的embedded.mobileprovision檔案替換掉目標ipa中的embedded.mobileprovision。刪除 codesignature檔案。第三步 執行命令列生...

iOS逆向之旅(高階篇) 重簽名APP(一)

獲取給可執行檔案的加密資訊 otool l wechat grep crypt 因為cryptid的值為0,代表已經被解密了 砸殼是pp助手幫我們做的,後面我會在越獄篇介紹如何自己動手 4.開始手動去重簽名 一開始我強行簽名這些外掛程式,安裝到手機上時會出現如下報錯 後來我在monkey的簽名指令碼...