js hook AES-CBC 并用python代碼代替解密

(function() {
    // 保存原始的decrypt函數(shù)引用
    const originalDecrypt = crypto.subtle.decrypt;

    // 重寫decrypt函數(shù)
    crypto.subtle.decrypt = async function(algorithm, key, data) {
        // 在解密之前執(zhí)行你的代碼
        console.log('Decrypting data...');
        debugger;
        // 假設(shè)你在斷點(diǎn)處
        // 查看algorithm對象
        console.log('Algorithm object:', algorithm);

        // 如果algorithm是AES-CBC,你可以這樣獲取iv
        const iv = algorithm.iv;
        console.log('Initialization Vector (IV):', new Uint8Array(iv)); // 將iv轉(zhuǎn)換為Uint8Array以便查看

        // 查看data
        const encryptedData = new Uint8Array(data);
        console.log('Encrypted data:', encryptedData); // 將data轉(zhuǎn)換為Uint8Array以便查看

        // 導(dǎo)出key(這需要原始的CryptoKey是可導(dǎo)出的)
        crypto.subtle.exportKey('raw', key).then(exportedKey => {
            console.log('Exported key:', new Uint8Array(exportedKey)); // 將導(dǎo)出的密鑰轉(zhuǎn)換為Uint8Array以便查看
        }).catch(error => {
            console.error('Key export failed:', error);
        });
        // 調(diào)用原始的decrypt函數(shù)進(jìn)行解密
        const result = await originalDecrypt.apply(this, arguments);

        // 在解密之后執(zhí)行你的代碼
        console.log('Data decrypted.');

        // 返回解密結(jié)果
        return result;
    };
})();

我們需要的參數(shù)如下嫉嘀,通過腳本可以斷點(diǎn)并獲取值:

  • iv = b'...' # 初始化向量(從JavaScript中獲燃粑辍)
  • encrypted_data = b'...' # 要解密的數(shù)據(jù)(從JavaScript中獲取瓣俯,也可以從接口獲取)
  • key = b'...' # 密鑰(從JavaScript中獲惹患痢)

轉(zhuǎn)換成python代碼:

from Crypto.Cipher import AES
from Crypto.Util.Padding import unpad

# JavaScript對象轉(zhuǎn)換為Python字節(jié)序列
iv = bytes([57, 233, 12, 46, 56, 33, 70, 15, 47, 149, 127, 207, 122, 98, 220, 249])  # 替換你hook的值
data = bytes([
    21, 78, 114, 236, 56, 217, 136, 85, 191, 7, 36, 20, 10, 30, 147, 102,
    231, 4, 127, 144, 17, 36, 62, 31, 145, 41, 3, 213, 237, 150, 184, 195,
    108, 187, 30, 241, 205, 52, 5, 91, 225, 54, 138, 63, 59, 57, 211, 169,
    243, 46, 65, 237, 8, 190, 186, 81, 43, 241, 194, 162, 61, 30, 227, 146
])  # 替換你hook的值
key = bytes([74, 53, 219, 97, 50, 91, 239, 53, 232, 81, 58, 18, 137, 197, 11, 220])   # 替換你hook的值

# 創(chuàng)建一個AES-CBC解密器
cipher = AES.new(key, AES.MODE_CBC, iv)

# 解密數(shù)據(jù)并去除填充
try:
    original_data = unpad(cipher.decrypt(data), AES.block_size)
    print('Decrypted data:', original_data)
except ValueError as e:
    print('Unpad error:', e)

但是我們從接口拿到的掸犬,一般是base64格式湾碎,需要轉(zhuǎn)換成bytes格式:

import base64

# Base64編碼的字符串
base64_data = "1d0KbgHFAg6tvG/pSUlIUfrN6N+5VP+XLB+FH6m/aOfAmDTzelb/77oaBKHP7fsylmvaQr4j1TB3Jn106PPAyHBZNDZWsp0Kh27BCl3Km0jBzoc2Y5LmQjZAR9pAb426"

# 解碼Base64字符串
data = base64.b64decode(base64_data)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市递惋,隨后出現(xiàn)的幾起案子丹墨,更是在濱河造成了極大的恐慌贩挣,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,402評論 6 499
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件王财,死亡現(xiàn)場離奇詭異卵迂,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)绒净,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,377評論 3 392
  • 文/潘曉璐 我一進(jìn)店門见咒,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人挂疆,你說我怎么就攤上這事改览。” “怎么了缤言?”我有些...
    開封第一講書人閱讀 162,483評論 0 353
  • 文/不壞的土叔 我叫張陵宝当,是天一觀的道長。 經(jīng)常有香客問我胆萧,道長庆揩,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,165評論 1 292
  • 正文 為了忘掉前任订晌,我火速辦了婚禮砌庄,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘稿黄。我一直安慰自己,他們只是感情好陵珍,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,176評論 6 388
  • 文/花漫 我一把揭開白布留潦。 她就那樣靜靜地躺著,像睡著了一般坊萝。 火紅的嫁衣襯著肌膚如雪园细。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,146評論 1 297
  • 那天,我揣著相機(jī)與錄音爱只,去河邊找鬼疯暑。 笑死幻馁,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的稀拐。 我是一名探鬼主播,決...
    沈念sama閱讀 40,032評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了刚操?” 一聲冷哼從身側(cè)響起济赎,我...
    開封第一講書人閱讀 38,896評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎滑凉,沒想到半個月后吹由,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體陨瘩,經(jīng)...
    沈念sama閱讀 45,311評論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,536評論 2 332
  • 正文 我和宋清朗相戀三年焙贷,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片庶灿。...
    茶點(diǎn)故事閱讀 39,696評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡峻呕,死狀恐怖眼耀,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情抡驼,我是刑警寧澤尤慰,帶...
    沈念sama閱讀 35,413評論 5 343
  • 正文 年R本政府宣布霜医,位于F島的核電站值朋,受9級特大地震影響丰辣,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,008評論 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧棉磨,春花似錦衙傀、人聲如沸聪建。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至慧邮,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間忆谓,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,815評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留丘损,地道東北人普办。 一個月前我還...
    沈念sama閱讀 47,698評論 2 368
  • 正文 我出身青樓吏饿,卻偏偏與公主長得像畴博,于是被迫代替她去往敵國和親袱结。 傳聞我的和親對象是個殘疾皇子垢夹,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,592評論 2 353

推薦閱讀更多精彩內(nèi)容