最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python 逆向爬蟲正確調(diào)用 JAR 加密邏輯

 更新時間:2021年01月12日 10:18:13   作者:Airpython  
這篇文章主要介紹了python 逆向爬蟲正確調(diào)用 JAR 加密邏輯,幫助大家更好的理解和使用python,感興趣的朋友可以了解下

1. 前言

在 App 端爬蟲過程中,遇到未知的參數(shù),往往需要我們?nèi)ツ嫦蚱平?App,針對參數(shù)的生成邏輯,使用 Python 去實現(xiàn)

部分 App 參數(shù)的生成邏輯可能已經(jīng)寫入到多個 JAR 文件中,這時候,我們只需要用 Python 執(zhí)行 JAR 即可

本篇文章將聊聊 Python 如何調(diào)用 JAR 中的方法

2. 合并 JAR

​以 Android App 為例,假設(shè)加密參數(shù)生成邏輯在多個 JAR 中,我們首先需要將所有的 JAR 文件合并為一個 JAR 文件

PS:對于 AAR 文件,可以先通過解壓軟件解壓,然后再合并 JAR

合并 JAR 分為 2 步:

  • 解壓 JAR
  • 合并所有源碼

2-1  解壓 JAR

安裝 JDK 之后,通過 jar -xvf 命令去解壓單個 JAR,這樣會按包名在同級目錄下生成 JAVA 編譯后的 class 文件

# 一個個地去解壓JAR
# 在本地生成class文件
jar -xvf a.jar
jar -xvf b.jar
jar -xvf c.jar

2-2 合并所有源碼

使用 jar -cvfM 命令,將本地所有的 class 文件生成一個新的 JAR 

# 合并當(dāng)前目錄下所有源碼為一個JAR
# 其中:output.jar代表新的JAR
jar -cvfM output.jar .

3. Python 調(diào)用 JAR

首先,我們安裝依賴包:jpype

# 安裝依賴包
pip3 install JPype1

假設(shè) JAR 中加密邏輯實現(xiàn)代碼如下:

package com.xingag.common;

public class EncryHelper {
 public String encrypt(String content) {
   //加密邏輯
 }
}

使用 Python 調(diào)用 JAR 中的方法分為 3 步:

  • 啟動 JVM
  • 實例化 JAVA 對象,調(diào)用對應(yīng)方法
  • 關(guān)閉 JVM

3-1  啟動 JVM

import jpype

# JAR本地路徑
jar_path = os.path.join(os.path.abspath('.'), './output.jar')

# 啟動jvm
jpype.startJVM(jpype.getDefaultJVMPath(), "-ea", "-Djava.class.path=%s" % (jar_path))

3-2  實例化 JAVA 對象,調(diào)用方法

根據(jù)被調(diào)方法所在的包名,使用 jpyte 中的 JClass() 方法實例化類 JAVA 對象,最后調(diào)用 JAVA 對象的方法即可

需要注意的是,由于 JAVA 中是實例方法,需要先進(jìn)行對象實例化,然后調(diào)用方法;如果是靜態(tài)方法,可以直接調(diào)用方法

# 通過包名,實例化JAVA對象
EncryClass = jpype.JClass("com.xingag.common.EncryHelper")
encryClass = EncryClass()

# 調(diào)用JAVA中的加密方法
content_encry = encryClass.encrypt("xag")
print(content_encry)

4. 最后

Python 直接調(diào)用 JAR 中方法,可以幫我我們復(fù)用輪子,減輕爬蟲的工作量!

以上就是python 逆向爬蟲正確調(diào)用 JAR 加密邏輯的詳細(xì)內(nèi)容,更多關(guān)于python 爬蟲正確調(diào)用 JAR 加密邏輯的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 6個實用的Python自動化腳本詳解

    6個實用的Python自動化腳本詳解

    每天你都可能會執(zhí)行許多重復(fù)的任務(wù),例如閱讀 pdf、播放音樂、查看天氣、打開書簽、清理文件夾等等,使用自動化腳本,就無需手動一次又一次地完成這些任務(wù),非常方便。快跟隨小編一起試一試吧
    2022-01-01
  • Python爬蟲JSON及JSONPath運(yùn)行原理詳解

    Python爬蟲JSON及JSONPath運(yùn)行原理詳解

    這篇文章主要介紹了Python爬蟲JSON及JSONPath運(yùn)行原理詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-06-06
  • 深入理解Python 關(guān)于supper 的 用法和原理

    深入理解Python 關(guān)于supper 的 用法和原理

    這篇文章主要介紹了Python 關(guān)于supper 的 用法和原理分析,非常不錯,具有參考借鑒價值,需要的朋友參考下吧
    2018-02-02
  • python使用Turtle庫畫畫寫名字

    python使用Turtle庫畫畫寫名字

    Turtle庫是Python語言中一個很流行的繪制圖像的函數(shù)庫,本篇文章小編就帶大家學(xué)習(xí)python利用Turtle庫畫畫寫名字的相關(guān)資料,需要的朋友可以參考下面文章的具體內(nèi)容
    2021-09-09
  • python使用pandas進(jìn)行量化回測

    python使用pandas進(jìn)行量化回測

    這篇文章主要介紹了python使用pandas進(jìn)行量化回測,文章圍繞pandas進(jìn)行量化回測的相關(guān)資料展開簡單內(nèi)容,文章內(nèi)容可以做一些比較簡單的技術(shù)指標(biāo)測試,需要的朋友可以參考一下
    2022-03-03
  • Python執(zhí)行dos和Linux命令的方法詳解

    Python執(zhí)行dos和Linux命令的方法詳解

    在實際開發(fā)中,有時為了方便,可能需要執(zhí)行dos命令或者Linux命令。比如說執(zhí)行某些shell腳本,上傳下載一些文件等。本文總結(jié)了一些Python執(zhí)行dos和Linux命令的方法,需要的可以了解一下
    2022-10-10
  • matplotlib之輕松解決中文亂碼的問題

    matplotlib之輕松解決中文亂碼的問題

    這篇文章主要介紹了matplotlib之輕松解決中文亂碼的問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • django自帶的server 讓外網(wǎng)主機(jī)訪問方法

    django自帶的server 讓外網(wǎng)主機(jī)訪問方法

    今天小編就為大家分享一篇django自帶的server 讓外網(wǎng)主機(jī)訪問方法。具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • 使用Python?Turtle庫帶你玩轉(zhuǎn)創(chuàng)意繪圖(畫個心,寫個花)

    使用Python?Turtle庫帶你玩轉(zhuǎn)創(chuàng)意繪圖(畫個心,寫個花)

    Python的turtle庫提供了一種有趣且易于上手的編程繪圖方式,適合初學(xué)者學(xué)習(xí),通過本文的介紹,你將了解到如何進(jìn)行畫布設(shè)置、畫筆屬性的調(diào)整、畫筆的移動與控制,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-11-11
  • python猜單詞游戲的實現(xiàn)

    python猜單詞游戲的實現(xiàn)

    這篇文章主要介紹了python猜單詞游戲的實現(xiàn),從單詞列表中隨機(jī)選取一個單詞,讓玩家猜測,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01

最新評論

勃利县| 秦安县| 东兰县| 朝阳县| 宣城市| 白山市| 新民市| 岳西县| 襄汾县| 安阳市| 石嘴山市| 丰都县| 漠河县| 济宁市| 黑龙江省| 漳浦县| 吉木萨尔县| 林西县| 昌黎县| 公主岭市| 宜宾市| 二连浩特市| 多伦县| 太康县| 离岛区| 辉南县| 金华市| 花莲市| 灌阳县| 镇远县| 夏河县| 富民县| 太保市| 吐鲁番市| 文安县| 同心县| 门源| 靖边县| 汕头市| 庄浪县| 鄄城县|