摘要:點擊下一步,進入了這個函數內如果你調試過多次之后,發現這個是將一些加密后的字符串解密為正常的函數名字。你細心的話會發現,下面還有個打亂這個數組的函數,正確來說應該是還原數組,需要兩個一起扣下來。
只收藏不點贊的都是耍流氓
注意:目前pdd已經需要登陸,這篇文章是在未更改之前寫的,如果需要實踐需要先登陸pdd再進行操作即可
上周的pdd很多人說看了還不會找,都找我要寫一篇來教教如何扣代碼的,那就應大家要求,今天來寫一篇詳細的扣代碼過程,完全從零到一,如果對你有幫助,還望大力分享,這樣我會越寫越多。
代碼都放在我的Github上,還沒有star的感覺star了,哈哈,可能今周會更新別的網站,由于網站太強給推遲了,還得需要時間,為了爬蟲可謂掉光了頭發。
Github:https://github.com/SergioJune...
其他不多說了,直接開始今天的主題,扣代碼。
上篇文章我已經找到了加密位置了,就是下圖這個位置
如果還不知道怎樣找的話,可以看看https://sergiojune.com/2019/0...,微信的被舉報刪除了,暫時只能在我blog上看了,這里就不多說了。
1. 創建 HTML 文件我們在扣代碼之前,為了方便調試,可以先創建一個 html 文件,這樣可以方便我們直接在 chrome 上直接進行調試,或者創建一個 js 文件也可以,不過進行調試時需要在 webstorm 上調試才可以。這里我就創建了一個 html 文件。
然后把我們扣下來的代碼放到 script 標簽里面即可,然后使用瀏覽器進行打開即可調試。
2. 開始正式扣代碼這里我們知道了?ep("0xd2", "jLF%")?這個語句是生成 anti_content 的,所以可以直接打斷點到這個語句進行查看它所需要的語句。
點擊下一步,進入了這個函數內
如果你調試過多次之后,發現這個是將一些加密后的字符串解密為正常的函數名字。如果你第一次扣的話,估計是把這個函數直接給扣出來,但是后面會有很多麻煩,比如變量之間的關系,所以我們應該是把整個大函數給扣出來,即是包括這個函數的函數,看下圖
但是當你扣的時候,發現剛才我們加密的那個方法也在這個函數里面,這時就得改改了,不扣大函數,因為扣了之后調用開始就難免會出錯,還是直接把這個小函數扣出來先,如下圖:
這時就可以用瀏覽器打開這個文件了,可以看到報錯
這時不要慌,報錯是正常的,因為我們只扣了一下部分,所以還需要繼續找,接下來就是查看報錯的地方并斷點。
可以用這個和原網址上的運行作比較,發現這個變量是個數組,所以也直接扣下來。
你細心的話會發現,下面還有個打亂這個數組的函數,正確來說應該是還原數組,需要兩個一起扣下來。
這時再次刷新文件即可正常得到結果了
我們再看下一個問題。
再次點擊到達錯誤位置,再根據原網站對比
可以發現這是個函數,可以點擊箭頭所指函數直達函數位置,發現還是和加密的語句在同一個大函數內,所以我們還是直接扣出 Z 函數即可
再次刷新運行,出錯的位置也變了
我們繼續進入錯誤位置和原網址的對比
發現這個變量是個方法名,可以往上找找定義位置
估計這里面的變量都是有用的,所以直接全部扣了
再次刷新即可看到錯誤地方不一樣了,繼續找即可。
在出錯地方斷點的同時也需要在原文件中斷點,然后將原文件的運行到該斷點處就可以了。
接著就是查找這個對象的定義的地方了,然后把代碼扣下來即可。
這里不止 F 對象, 還有 B,U,z等對象,定義位置都是在附近的,也都一起扣下來即可。
再次刷新看到少了個 data 屬性,這里自己手動加上即可
接著運行就變成了這個錯誤
還是同樣與原文件做對比即可。找到原文件的定義地方,然后全部扣出來他們的定義。
我這里是將整個大函數都扣出來,然后自調用來返回上面所需要的對象,這樣封裝可以避免很多變量的沖突。
再次刷新,錯誤就到了另外一個地方了。
也是一個函數,對比原文,很容易找到函數,直接扣出
繼續保存文件刷新,錯誤也變了
對比原文件,知道這個是搜索的 url,這里我們直接賦值即可,可以在我們調用函數的時候傳這個參數。
再次刷新,還是這些對象的data屬性的問題
也是和上面的一樣,看原文是什么值,直接賦值即可。
然后到了這個錯誤
還是比較原文,找出函數定義,并扣出來,就不多說了。
接著就是到這里的錯誤了。
這個錯誤比較麻煩,不過耐心點來還是可以的,還是來比較原文件中的JS看看那里不一樣。
比較這個 Y 對象,發現我們的少了一個data,接著就是找 Y 這個 data 的生成位置了。根據上面的內容,很容易就可以知道定義的位置。
可以知道這個 l() 就是生成 data,可以打斷點原文件并刷新就可以看到生成步驟了。
這里需要直接把 l 所在的位置的外部大函數都扣出來,并且自調用返回這個 l 函數即可。
接下來的還是重復之前的步驟,說多了也是廢話,相信大家應該能舉一反三,如果實在不會的話就多看幾遍文章吧,自己動動手,總會有收獲的。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/43576.html
摘要:本教程主要基于大神的開源商城,為大家解讀的源碼,由于原版商城更多是針對國際業務,因此本教程會適當修改,使其更適合于微信環境。 本教程主要基于 terry 大神的開源商城 Fecshop,為大家解讀 Fecshop 的源碼,由于原版商城更多是針對國際業務,因此本教程會適當修改,使其更適合于微信環境。由于商城源碼復雜,本教程將長期更新。本人也是邊學習邊寫這份教程,過程中難免會出現錯誤,還請...
摘要:模擬登陸知乎這個知乎的登陸也是坑滿滿,我也給踩了幾個,這個就直接說坑吧,其他的就不多說了。 以下內容僅交流學習,請勿用于非法用途 如果你現在想模擬登陸知乎,會發現 fromdata 是一串加密的字符串 showImg(https://segmentfault.com/img/remote/1460000018245629); 看了之后是不是很痛苦?你是不是就想使用 selenium 來...
摘要:模擬登陸知乎這個知乎的登陸也是坑滿滿,我也給踩了幾個,這個就直接說坑吧,其他的就不多說了。 以下內容僅交流學習,請勿用于非法用途 如果你現在想模擬登陸知乎,會發現 fromdata 是一串加密的字符串 showImg(https://segmentfault.com/img/remote/1460000018245629); 看了之后是不是很痛苦?你是不是就想使用 selenium 來...
摘要:編寫不可維護的代碼是一個特殊的技能,但奇怪的是,似乎對某些開發者來說是很自然的。維護人員沒有時間去理解你的代碼。你的代碼不能看起來不可維護因為別人會懷疑的它必須是不可維護。我希望你相信你自己也能做到,你也可以編寫不可維護的代碼。 showImg(https://segmentfault.com/img/remote/1460000015221325); 譯者注:這是一篇很棒文章,使用有...
閱讀 3081·2021-11-24 10:47
閱讀 3831·2021-11-02 14:43
閱讀 2228·2021-09-26 10:15
閱讀 2254·2021-09-08 09:35
閱讀 560·2019-08-30 12:45
閱讀 2781·2019-08-29 17:04
閱讀 3214·2019-08-26 14:05
閱讀 1259·2019-08-26 12:10