成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

逆向爬蟲時,Python 如何正確調用 JAR 加密邏輯?

開發 后端
在 App 端爬蟲過程中,遇到未知的參數,往往需要我們去逆向破解 App,針對參數的生成邏輯,使用 Python 去實現, 部分 App 參數的生成邏輯可能已經寫入到多個 JAR 文件中,這時候,我們只需要用 Python 執行 JAR 即可。

[[373661]]

本文轉載自微信公眾號「AirPython」,作者星安果 。轉載本文請聯系AirPython公眾號。  

 1. 前言

在 App 端爬蟲過程中,遇到未知的參數,往往需要我們去逆向破解 App,針對參數的生成邏輯,使用 Python 去實現

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

本篇文章將聊聊 Python 如何調用 JAR 中的方法

2. 合并 JAR

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

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

合并 JAR 分為 2 步:

  • 解壓 JAR
  • 合并所有源碼

2-1 解壓 JAR

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

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

2-2 合并所有源碼

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

  1. # 合并當前目錄下所有源碼為一個JAR 
  2. # 其中:output.jar代表新的JAR 
  3. jar -cvfM output.jar . 

3. Python 調用 JAR

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

  1. # 安裝依賴包 
  2. pip3 install JPype1 

假設 JAR 中加密邏輯實現代碼如下:

  1. package com.xingag.common; 
  2.  
  3. public class EncryHelper { 
  4.     public String encrypt(String content) { 
  5.           //加密邏輯 
  6.     } 

使用 Python 調用 JAR 中的方法分為 3 步:

  • 啟動 JVM
  • 實例化 JAVA 對象,調用對應方法
  • 關閉 JVM

3-1 啟動 JVM

  1. import jpype 
  2.  
  3. # JAR本地路徑 
  4. jar_path = os.path.join(os.path.abspath('.'), './output.jar'
  5.  
  6. # 啟動jvm 
  7. jpype.startJVM(jpype.getDefaultJVMPath(), "-ea""-Djava.class.path=%s" % (jar_path)) 

3-2 實例化 JAVA 對象,調用方法

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

需要注意的是,由于 JAVA 中是實例方法,需要先進行對象實例化,然后調用方法;如果是靜態方法,可以直接調用方法

  1. # 通過包名,實例化JAVA對象 
  2. EncryClass = jpype.JClass("com.xingag.common.EncryHelper"
  3. encryClass = EncryClass() 
  4.  
  5. # 調用JAVA中的加密方法 
  6. content_encry = encryClass.encrypt("xag"
  7. print(content_encry) 

3-3 關閉 JVM

可以選擇主動關閉 JVM,或者待 Python 程序運行后自動關閉,釋放資源

  1. import jpype 
  2.  
  3. # 關閉jvm 
  4. jpype.shutdownJVM() 

4. 最后

Python 直接調用 JAR 中方法,可以幫我我們復用輪子,減輕爬蟲的工作量!

 

責任編輯:武曉燕 來源: AirPython
相關推薦

2010-02-22 10:06:17

Python調用

2010-07-01 15:02:29

SQL Server數

2022-07-03 10:43:23

JS逆向破解

2022-01-27 10:26:07

Python

2021-04-12 16:31:09

加密貨幣資金金融

2010-02-26 11:15:51

WCF接口方法

2010-03-04 11:07:21

Python解釋器

2025-02-28 09:09:44

2022-05-13 09:04:20

Python網絡爬蟲JS逆向問題

2015-05-19 16:21:05

2010-02-03 17:42:30

2010-02-22 14:13:38

安裝Python

2010-02-03 14:15:18

Python 開發

2024-08-30 15:03:43

2021-04-16 20:50:16

URL爬蟲參數

2019-05-13 09:11:41

加密解密Python攻擊

2024-09-03 13:22:33

2010-02-02 18:20:43

Python編寫

2010-02-03 15:40:37

Python函數

2010-02-24 15:27:26

Python數組
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美日韩亚洲在线 | 色视频在线播放 | 中文字幕精品一区二区三区在线 | 国产综合一区二区 | 国产一区二区在线播放 | 99re在线播放 | 亚洲国产aⅴ精品一区二区 免费观看av | 亚洲福利视频一区二区 | 91一区二区在线观看 | 久久精品一区 | 国产精品福利视频 | 色约约视频 | 国产欧美在线播放 | 一a一片一级一片啪啪 | 人操人人干人 | 在线观看免费av网 | 特级黄一级播放 | 国产一区二区三区免费观看视频 | 综合久久一区 | 精品网站999 | 羞羞视频在线观免费观看 | 欧美日韩国产传媒 | a免费视频 | 狠狠骚 | 欧美久久一级特黄毛片 | 国产成人精品视频 | 精品毛片在线观看 | 欧美一级黑人aaaaaaa做受 | 成人免费大片黄在线播放 | 国产美女一区二区 | 天天操夜夜操 | 人人做人人澡人人爽欧美 | 激情婷婷成人 | 国产精品99久久久久久久vr | 日韩av在线免费 | 人人天天操 | 久久国产综合 | 国产精品久久久久久亚洲调教 | 精品久久国产 | 国产农村妇女精品一区 | 久久精品国内 |