1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        Crack App | 某新聞 app 參數(shù) sn 加密邏輯分析

        共 1923字,需瀏覽 4分鐘

         ·

        2022-05-17 10:55

        點(diǎn)擊上方“咸魚學(xué)Python”,選擇“加為星標(biāo)

        第一時(shí)間關(guān)注Python技術(shù)干貨!


        圖源:網(wǎng)絡(luò)

        今日目標(biāo)

        aHR0cHM6Ly93d3cud2FuZG91amlhLmNvbS9hcHBzLzQwMzYz

        爬蟲相關(guān)的 Js 逆向越來越卷了,嚇得我趕緊開始學(xué) App?

        抓包分析

        今天分析的是這個(gè) app 的首頁信息流

        使用的抓包組合是charles + postern?抓包如下

        通過這個(gè)包可以看到返回了title還有新聞相關(guān)來源,參數(shù)中帶有sn

        這個(gè)參數(shù)的長(zhǎng)度讓人不得不懷疑是不是md5的加密,不過還是要看看加密的邏輯是不是

        apk拖入jadx看看

        70 + M 一下就反編譯完了,一看就不對(duì)勁,jadx中啥都沒有,應(yīng)該是加殼了

        查個(gè)殼看看

        用的是騰訊加固,所以分析之前還是要脫殼看看

        App 脫殼

        app 脫殼的工具有很多,比如:

        yang 神 frida_dump : https://github.com/lasting-yang/frida_dump

        寒冰大大的 FART : https://github.com/hanbinglengyue/FART

        目前世面上的脫殼工具還是很多的,今天我是用的是 BlackDex ,一款脫殼 App,先試試看能不能脫下來我們需要的內(nèi)容

        打開 BlackDex 然后再打開目標(biāo) App 就可以了

        脫殼完成就會(huì)保存到指定的目錄下

        ES文件瀏覽器打開對(duì)應(yīng)的路徑

        就看到脫好的dex

        然后將這些個(gè)dex壓縮好,剪切到的/sdcard中,然后用命令拉到 pc

        adb?pull?/sdcard/xxx.zip?[pc?path]

        然后再用jadx分析就好了

        ps:壓縮的 zip 直接拖到jadx里面就行了

        加密參數(shù)定位與分析

        拖到jadx里面編譯之后檢索sn=可以找到下面的邏輯

        通過上面的邏輯大概可以知道valueOf是時(shí)間戳然后str是根據(jù)時(shí)間戳計(jì)算出來的結(jié)果

        現(xiàn)在看a,a的方法就在下面

        這里對(duì)z做了一個(gè)判斷,所以需要返回看下我們抓包里面有沒有z代表的token,如果有的話這里就要帶上str3也就是token一塊計(jì)算,如果沒有的話就不用

        傳入了strz之后就計(jì)算出一個(gè)str2,這個(gè)str2會(huì)進(jìn)入b方法

        跟進(jìn)去看看b,這里的b的邏輯是一個(gè)md5,邏輯很清晰

        所以真就是我們文章開頭猜的那樣,最后經(jīng)過了一次md5計(jì)算

        知道最后的邏輯是md5之后,就要看看md5的入?yún)⑹鞘裁?,就要用?code style="font-size: 14px;padding: 2px 4px;border-radius: 4px;margin-right: 2px;margin-left: 2px;background-color: rgba(27, 31, 35, 0.05);font-family: "Operator Mono", Consolas, Monaco, Menlo, monospace;word-break: break-all;color: rgb(71, 193, 168);">frida動(dòng)態(tài)調(diào)試了

        這個(gè)時(shí)候就有人問了,這些參數(shù)明明在上面的邏輯里面都能看到,為什么還要?jiǎng)討B(tài)調(diào)試?

        因?yàn)殪o態(tài)分析的結(jié)果不可信,動(dòng)態(tài)調(diào)試輸出的結(jié)果更加可信,所以要?jiǎng)討B(tài)調(diào)試和靜態(tài)調(diào)試相互印證

        Frida hook 動(dòng)態(tài)調(diào)試

        用下面的 hook 代碼

        Java.perform(function?()?{
        ????????var?aaa?=?Java.use('類名');
        ????????aaa.b.overload('java.lang.String').implementation?=?function?(a)?{
        ????????console.log("參數(shù)===>:"+a);
        ????????var?result?=?this.b(a);
        ????????console.log("結(jié)果===>:"+result);
        ????????return?result;
        ????};
        });

        得到的結(jié)果如下

        發(fā)現(xiàn)除了jadx里面能找到的參數(shù)之外,后面跟了一串亂碼,這一串亂碼是怎么來的?

        回到jadx里面,可以看到就是NativeSecureparam.readMD5Key();返回的

        現(xiàn)在需要分析NativeSecureparam.readMD5Key();是怎么計(jì)算出來的,通過這個(gè)方法的名字可以知道,這個(gè)字符串就是md5的鹽值

        so 分析

        通過jadx可以知道這個(gè)方法是一個(gè)Native方法

        來自libifeng_secure.so,用IDA打開對(duì)應(yīng)的so文件

        32 位的 so 報(bào)錯(cuò)JUMPOUT,所以直接偷懶用64

        找到對(duì)應(yīng)的函數(shù),點(diǎn)進(jìn)去,可以看到下面的邏輯

        這里要修改一下參數(shù)類型,可以看到下面的邏輯

        其實(shí)就是將一串字符賦值v2并返回,沒有其他的操作,回到jadx再看下邏輯就知道其實(shí)sn的邏輯就是

        md5(版本號(hào)?+?proid?+?publishid?+?uid?+?loginid(未登錄是空)?+?""?+?st?+?so中的字符串)

        md5 就不用算法還原了吧,大家應(yīng)該都會(huì)。

        以上就是今天的全部?jī)?nèi)容了~

        公眾號(hào)配套技術(shù)交流群,備注【咸魚666】,入群交流

        我是沒有更新就在摸魚的咸魚

        收到請(qǐng)回復(fù)~

        我們下次再見。

        對(duì)了,看完記得一鍵三連,這個(gè)對(duì)我真的很重要。

        瀏覽 60
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        評(píng)論
        圖片
        表情
        推薦
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            黄色影片在线观看 | 手撕小舞衣服视频素材 | 亚洲国产激情视频 | 无码成人精国在线视频 | 久久久精品视频国产 | 91久久无码一区人妻A片蜜桃 | 影音先锋日韩精品 | 在线国产日韩 | 中文字字幕在线中文乱码修改方法 | 夜夜天堂 |