<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          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 逆向越來(lái)越卷了,嚇得我趕緊開始學(xué) App?

          抓包分析

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

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

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

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

          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,先試試看能不能脫下來(lái)我們需要的內(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=可以找到下面的邏輯

          通過(guò)上面的邏輯大概可以知道valueOf是時(shí)間戳然后str是根據(jù)時(shí)間戳計(jì)算出來(lái)的結(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)過(guò)了一次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ù)之外,后面跟了一串亂碼,這一串亂碼是怎么來(lái)的?

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

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

          so 分析

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

          來(lái)自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)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  国产成人精品视频免费看 | 97久久97欧美精品A片 | 黄色一级片播放视频 | 色哟哟无码精品一区二区三区 | 美女黄色网 |