国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

微信小程序 Spdier - OfferShow 反編譯逆向(一)

這篇具有很好參考價值的文章主要介紹了微信小程序 Spdier - OfferShow 反編譯逆向(一)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

微信小程序 Spdier - OfferShow 反編譯逆向(一)



前言

本文需要使用到的工具有:
Charles抓包工具、夜神模擬器、微信開發(fā)者工具、wxapkg反編譯工具CrackMinApp;
提示:需要安裝好Charles和夜神模擬器并配置好App抓包環(huán)境,以及安裝好微信開發(fā)者工具 / 反編譯工具CrackMinApp
Charles&夜神模擬器安裝教程:https://blog.csdn.net/EXIxiaozhou/article/details/127767808
微信開發(fā)者工具 / 反編譯工具CrackMinApp 下載安裝:https://blog.csdn.net/EXIxiaozhou/article/details/128110468
該文章涉及到App抓包以及微信小程序反編譯逆向等相關(guān)的Spider技術(shù)


提示:以下是本篇文章正文內(nèi)容,下面案例可供參考

一、任務(wù)說明

1.嘗試反編譯分析出js_code參數(shù)的生成方式,用來獲取token

微信小程序逆向工具,Spider篇,微信小程序,小程序,python,爬蟲,小程序逆向

2.將小程序搜索出來的數(shù)據(jù)保存至本地excel

微信小程序逆向工具,Spider篇,微信小程序,小程序,python,爬蟲,小程序逆向

二、微信小程序抓包 - 分析

1、打開Charles抓包工具,啟動模擬器,進(jìn)入微信
微信小程序逆向工具,Spider篇,微信小程序,小程序,python,爬蟲,小程序逆向
2、搜索小程序offershow,打開進(jìn)入,崗位搜索,輸入關(guān)鍵詞:“python”
微信小程序逆向工具,Spider篇,微信小程序,小程序,python,爬蟲,小程序逆向
3、生成token接口分析,接口url:https://www.ioffershow.com/V4/silent_login
提示:第一次打開,需要請求這個接口提交js_code參數(shù)才能拿到token,headers添加一個token即可風(fēng)雨無阻
微信小程序逆向工具,Spider篇,微信小程序,小程序,python,爬蟲,小程序逆向
4、刷新token接口分析,小程序每隔一段時間會刷新token
接口url:https://www.ioffershow.com/V4/refresh_token
請求該接口時,提交當(dāng)天服務(wù)器返回的任意一個token,即可請求成功獲得新的token;
微信小程序逆向工具,Spider篇,微信小程序,小程序,python,爬蟲,小程序逆向
下圖使用postman工具模擬請求刷新token接口,Postman API測試工具 基本使用:https://blog.csdn.net/EXIxiaozhou/article/details/128333884
微信小程序逆向工具,Spider篇,微信小程序,小程序,python,爬蟲,小程序逆向
5、search_salary、根據(jù)關(guān)鍵詞進(jìn)行接口請求,url:https://www.ioffershow.com/V4/search_salary
微信小程序逆向工具,Spider篇,微信小程序,小程序,python,爬蟲,小程序逆向
可以看到返回的json數(shù)據(jù)
微信小程序逆向工具,Spider篇,微信小程序,小程序,python,爬蟲,小程序逆向

三、wxapkg反編譯 - 分析

1.在夜神模擬器獲取微信程序員的包

1.1 獲取wxapkg的地址

方式一、直接全局搜索文件后綴(.wxapkg)
點擊右側(cè)的任意處,再點擊右上側(cè)的三個點,選擇搜索,輸入.wxapkg
微信小程序逆向工具,Spider篇,微信小程序,小程序,python,爬蟲,小程序逆向
微信小程序逆向工具,Spider篇,微信小程序,小程序,python,爬蟲,小程序逆向
微信小程序逆向工具,Spider篇,微信小程序,小程序,python,爬蟲,小程序逆向
方法二、一般具體的文件目錄地址是:/data/data/com.tencent.mm/MicroMsg/{一串16進(jìn)制字符}/appbrand/pkg/
微信小程序逆向工具,Spider篇,微信小程序,小程序,python,爬蟲,小程序逆向

1.2 刪除wxapkg文件重新生成

區(qū)分那些包是屬于offershow小程序

  • 1.需要將微信的OfferShow小程序清除掉,再退出微信
  • 2.將原來已經(jīng)生成的所有wxapkg文件刪除
  • 3.重新登錄微信,再次打開小程序再生成新的wxapkg文件
  • 4.再次打開模擬器存放wxapkg文件的目錄,里面出現(xiàn)的wxapkg文件都屬于OfferShow

1.3 復(fù)制wxapkg文件至windows目錄,用來反編譯調(diào)試

路徑:/data/data/com.tencent.mm/MicroMsg/e8b469b0e57e32dd18d1293036fc556f/appbrand/pkg/
左側(cè)找到windows本地目錄,右側(cè)找到模擬器存放wxapkg文件的目錄,長按文件選擇復(fù)制即可,全部復(fù)制;
微信小程序逆向工具,Spider篇,微信小程序,小程序,python,爬蟲,小程序逆向

2.使用CrackMinApp對.wxapkg文件進(jìn)行反編譯

1、將.wxapkg文件復(fù)制到CrackMinApp-master\wxapkg目錄;
微信開發(fā)者工具 / 反編譯工具CrackMinApp 下載安裝:https://blog.csdn.net/EXIxiaozhou/article/details/128110468微信小程序逆向工具,Spider篇,微信小程序,小程序,python,爬蟲,小程序逆向
2、
將三個.wxapkg文件依次反編譯,區(qū)分主包和依賴包,真正的小程序包大小1M左右,而依賴包大小2、3M甚至更多,將依賴包復(fù)制放入主包;
微信小程序逆向工具,Spider篇,微信小程序,小程序,python,爬蟲,小程序逆向
反編譯之后的主包
微信小程序逆向工具,Spider篇,微信小程序,小程序,python,爬蟲,小程序逆向

3.使用微信開發(fā)者工具打開反編譯好的主包開始調(diào)試

微信小程序逆向工具,Spider篇,微信小程序,小程序,python,爬蟲,小程序逆向

4.分析結(jié)果

我調(diào)試到最后,發(fā)現(xiàn)js_code的加密代碼被隱藏了,到此結(jié)束,如果有大佬知道加密方式的話,歡迎在評論處指教,非常感謝;
我的做法是手動復(fù)制當(dāng)天服務(wù)器返回的token去請求刷新token的接口,拿到最新的token去請求查詢薪資的接口,最后將數(shù)據(jù)保存至xlsx;

四、運行結(jié)果

輸出xlsx文件
微信小程序逆向工具,Spider篇,微信小程序,小程序,python,爬蟲,小程序逆向

五、示例代碼

import os
import time
import requests
import pandas as pd


class OfferShow(object):
    def __init__(self):
        # 當(dāng)天的任意token
        self.ord_token = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6MTAwNDI2MSwibmlja25hbWUiOiJcdTcwZWRcdTVmYzNcdTc1MjhcdTYyMzciLCJleHAiOjE2Njk2NDY0OTEsIm9yaWdfaWF0IjoxNjY5NjQ1ODkxfQ.cWukvcTzgtQGyIVjzRT4Lr2Dcm1Y3Nnfov-bEX0QwfY'
        self.headers = {
            'User-Agent': 'Mozilla/5.0 (Linux; Android 7.1.2; SM-G9810 Build/QP1A.190711.020; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/92.0.4515.131 Mobile Safari/537.36 MMWEBID/5551 MicroMessenger/8.0.30.2260(0x28001E3A) WeChat/arm32 Weixin NetType/WIFI Language/zh_CN ABI/arm32 MiniProgramEnv/androidUser-Agent	Mozilla/5.0 (Linux; Android 7.1.2; SM-G9810 Build/QP1A.190711.020; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/92.0.4515.131 Mobile Safari/537.36 MMWEBID/5551 MicroMessenger/8.0.30.2260(0x28001E3A) WeChat/arm32 Weixin NetType/WIFI Language/zh_CN ABI/arm32 MiniProgramEnv/android',
            'content-type':	'application/x-www-form-urlencoded',
            'token': self.ord_token,
            'Accept-Encoding': 'gzip,compress,br,deflate'
        }
        self.xueli = ''
        self.result_file_path = 'OfferShow_salary.csv'

    def get_token(self):
        refresh_token_url = 'https://www.ioffershow.com/V4/refresh_token'
        form_data = {
            'token': self.ord_token
        }
        token_response = requests.post(url=refresh_token_url, headers=self.headers, data=form_data)
        token = token_response.json()['data']['token']
        print("token獲取成功:", token)
        return token

    def search_salary(self, keyword):
        salary_url = 'https://www.ioffershow.com/V4/search_salary'
        from_data = {
            'content': keyword,
            'ordertype': 2,
            'search_priority': 3,
            'part_school': '',
            'xueli': self.xueli,
            'year': ''
        }
        salary_response = requests.post(url=salary_url, headers=self.headers, data=from_data)
        json_data = salary_response.json()['data']
        for item in json_data:
            content = f"{keyword},{item['id']},{item['company'].replace(',', ',')},{item['position'].replace(',', ',')}" \
                      f",{item['salary'].replace(',', ',')},{item['city'].replace(',', ',')}," \
                      f"{item['hangye'].replace(',', ',')},{item['xueli']},{item['salarytype']},{item['score']},{item['time']}"
            content = content.replace('\n', '').replace('\n', '') + '\n'
            self.csv_save(content=content)
            print("寫入成功:", content, end='')

    def create_csv_file(self):
        if os.path.exists(self.result_file_path) is False:
            with open(file=self.result_file_path, mode='w', encoding='utf-8') as fis:
                fis.write('關(guān)鍵詞,薪資ID,公司,崗位,薪資,城市,行業(yè),學(xué)歷,薪資類型,可信度,發(fā)布時間\n')

    def csv_save(self, content):
        with open(file=self.result_file_path, mode='a+', encoding='utf-8') as fis:
            fis.write(content)

    def csv_save_as_xlsx(self):
        """ 讀取csv文件將結(jié)果寫入xlsx """
        filename_prefix = os.path.splitext(self.result_file_path)[0]  # 切割文件路徑以及后綴
        df = pd.read_csv(self.result_file_path, encoding='utf-8', dtype='object')
        df.to_excel(f"{filename_prefix}.xlsx", index=False)
        print("csv 轉(zhuǎn) xlsx 成功!\n", end='')

    def runs(self, keyword_list):
        self.create_csv_file()
        token = self.get_token()
        self.headers['token'] = token
        for keyword in keyword_list:
            self.search_salary(keyword=keyword)
            time.sleep(0.25)
        self.csv_save_as_xlsx()


if __name__ == '__main__':
    keywords_list = [
        'Python', 'Java', 'Php', 'JavaScript', 'Go', 'R語言', 'MATLAB', 'C++', 'C#', '后端', '前端', '算法', '人工智能',
        '軟件測試', 'IT運維', '數(shù)據(jù)庫', 'VisualBasic'
    ]  # 需要搜索的關(guān)鍵詞
    obj = OfferShow()
    obj.runs(keywords_list)

總結(jié)

以上就是今天要講的內(nèi)容,本文僅僅簡單介紹了微信小程序Spider的基本流程,也留下了一些bug,不過最后是拿到了想要的數(shù)據(jù),關(guān)于其他的微信小程序Spider案例,請來我的主頁查看;文章來源地址http://www.zghlxwxcb.cn/news/detail-796304.html

到了這里,關(guān)于微信小程序 Spdier - OfferShow 反編譯逆向(一)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 【微信小程序】HBuilderX新建微信小程序編譯報錯,提示工具的服務(wù)端口已關(guān)閉。要使用命令行調(diào)用工具,請在下方輸入 y 以確認(rèn)開啟,或手動打開工具 -> 設(shè)置 -> 安全設(shè)置,將服務(wù)端口開啟。

    【微信小程序】HBuilderX新建微信小程序編譯報錯,提示工具的服務(wù)端口已關(guān)閉。要使用命令行調(diào)用工具,請在下方輸入 y 以確認(rèn)開啟,或手動打開工具 -> 設(shè)置 -> 安全設(shè)置,將服務(wù)端口開啟。

    今天初學(xué)uniapp框架,想嘗試開發(fā)一個微信小程序,用HBuilderX新建了一個空白的模板程序,編譯運行后報錯如下: [微信小程序開發(fā)者工具] [error] IDE service port disabled. To use CLI Call, please enter y to confirm enabling CLI capability, or manually open IDE - Settings - Security Settings, and set Service Port On

    2024年02月11日
    瀏覽(25)
  • 微信小程序逆向

    微信小程序逆向

    微信小程序逆向 大致思路:抓包分析–加密參數(shù)查找–小程序源碼獲取–分析加密邏輯 返回結(jié)果json中,data都是加密數(shù)據(jù),初看一看為base64。 微信包名:com.tencent.mm 小程序源碼:/data/data/com.tencent.mm/MicroMsg/項目/appbrand/pkg 我用的夜神模擬器(nox_adb): ls -l 查看時間 發(fā)現(xiàn)aaba04b

    2024年02月16日
    瀏覽(23)
  • 微信小程序逆向分析

    微信小程序逆向分析

    WeChatAppEx.exe 版本:2.0.6609.4 以融智云考學(xué)生端為例。 網(wǎng)上已經(jīng)有關(guān)于微信小程序解密的非常優(yōu)秀的文章,本著學(xué)習(xí)的目的便不參考相關(guān)內(nèi)容。 筆者水平實在有限,如發(fā)現(xiàn)紕漏,還請讀者不吝賜教。 如涉及侵權(quán),請聯(lián)系作者處理。 工具:火絨劍 首先看看打開一個小程序微信

    2024年01月16日
    瀏覽(27)
  • 微信小程序逆向解密

    微信小程序逆向解密

    WeChatAppEx.exe 版本:2.0.6609.4 以融智云考學(xué)生端為例。 網(wǎng)上已經(jīng)有關(guān)于微信小程序解密的非常優(yōu)秀的文章,本著學(xué)習(xí)的目的便不參考相關(guān)內(nèi)容。 筆者水平實在有限,如發(fā)現(xiàn)紕漏,還請讀者不吝賜教。 工具:火絨劍 首先看看打開一個小程序微信做了點什么,對微信進(jìn)行火絨行為

    2024年02月11日
    瀏覽(20)
  • 微信小程序逆向之終極教程

    (1)手機或者模擬器打開USB調(diào)試,adb進(jìn)入下面目錄 打開小程序,adb命令行內(nèi)使用 ls -l 語句查看時間最新的就是該小程序匿名存放wxapkg包的位置。如: 打開新的cmd使用下面命令,把wxapkg包存放位置推到當(dāng)前電腦的D盤下 使用還原工具即可:https://download.csdn.net/download/weixin_511

    2024年02月16日
    瀏覽(21)
  • 微信小程序逆向踩坑日記

    微信小程序逆向踩坑日記

    1、首先解包,用UnpackMiniApp.exe進(jìn)行解密,報錯:小程序ID獲取失敗,無法解密。 ?解決方法:用的另外一個大佬的解密工具(聽說只有電腦的有加密,手機的沒有,如果加密失敗,可以嘗試才模擬器上找到對應(yīng)的小程序包直接進(jìn)行反編譯)。https://codeload.github.com/superBiuBiuMan/

    2024年02月16日
    瀏覽(20)
  • 微信小程序前端加解密逆向分析

    微信小程序前端加解密逆向分析

    某小程序滲透測試項目,測試時發(fā)現(xiàn)請求包內(nèi)容進(jìn)行了加密 小程序文件目錄: 使用網(wǎng)易Mumu模擬器,開啟root權(quán)限,安裝手機微信并訪問指定小程序,然后打開RE文件管理器,在 data/data/com.tencent.mm/MicroMsg 會生成一個md5加密命名的文件夾,在該文件夾下的 appbrand/pkg 目錄下找到

    2024年02月05日
    瀏覽(25)
  • 逆向獲取微信小程序源碼教程

    逆向獲取微信小程序源碼教程

    最近看上了一個小程序,想著走走捷徑,以下是我的步驟。 1.安裝安卓模擬器,我用的是夜神 ? 2.拿包 打開微信,運行微信小程序,然后打開文件管理器,根據(jù)時間順序定位到小程序目錄 /data/data/com.tencent.mm/MicroMsg/{{一串32位的16進(jìn)制字符串名文件夾}}/appbrand/pkg/{{隨機名}}_{{今

    2024年02月10日
    瀏覽(35)
  • Android Spider JDAX-GUI 反編譯工具下載使用以及相關(guān)技術(shù)介紹

    Android Spider JDAX-GUI 反編譯工具下載使用以及相關(guān)技術(shù)介紹

    反編譯工具有很多種,我推薦JADX,后續(xù)有更好的反編譯工具我會繼續(xù)補充 jadx 本身就是一個開源項目,源代碼已經(jīng)在 Github 上開源了 官方地址:https://github.com/skylot/jadx zip下載地址:https://github.com/skylot/jadx/releases/tag/v1.4.4 Windows系統(tǒng)我建議走上方的zip下載鏈接進(jìn)行下載 Java 1.8

    2023年04月08日
    瀏覽(24)
  • 微信小程序編譯.wxml文件編譯錯誤

    微信小程序編譯.wxml文件編譯錯誤

    [ WXML 文件編譯錯誤] ./pages/mine/wallet.wxml Bad value with message 1 | view 剛開始找了半天都沒發(fā)現(xiàn)錯誤,后面才發(fā)現(xiàn)原來是我寫頁面的時候,插值語法忘記換成后端傳過來的數(shù)據(jù)了, 無語子- - 。 把插值語法中的中文改掉就不會報錯了,不過不同原因都會報這個錯誤,錯誤原因大部分

    2024年02月15日
    瀏覽(23)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包