成人免费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調用

2022-01-27 10:26:07

Python

2010-07-01 15:02:29

SQL Server數

2022-07-03 10:43:23

JS逆向破解

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逆向問題

2010-02-03 17:42:30

2010-02-22 14:13:38

安裝Python

2024-08-30 15:03:43

2015-05-19 16:21:05

2021-04-16 20:50:16

URL爬蟲參數

2010-02-03 14:15:18

Python 開發

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技術棧公眾號

主站蜘蛛池模板: 亚洲精品美女 | 国产羞羞视频在线观看 | 在线免费观看成人 | 国产午夜精品一区二区三区嫩草 | 亚洲福利网| 精品久久久一区 | 中日字幕大片在线播放 | 免费人成激情视频在线观看冫 | 亚洲一区二区三区免费视频 | 精品在线观看一区二区 | 色在线免费视频 | 亚洲精品乱码久久久久久久久久 | 秋霞a级毛片在线看 | 在线观看涩涩视频 | 黄色一级视频免费 | 97精品超碰一区二区三区 | 一区二区视频免费观看 | 天天成人综合网 | 国产精品欧美一区二区三区 | 一区二区三区不卡视频 | 久久中文字幕一区 | 国产精品1区2区3区 中文字幕一区二区三区四区 | 18成人在线观看 | 九九伊人sl水蜜桃色推荐 | 欧美精品影院 | 一级毛片免费视频 | 精品视频一区二区三区 | 日韩亚洲一区二区 | 日韩精品一区二区三区 | 日本三级线观看 视频 | 特一级毛片 | 成人做爰www免费看视频网站 | 欧美aaa一级片 | 国产精品久久久久久52avav | 日韩精品一二三区 | 中文字幕在线观看一区 | 黄色av网站在线观看 | 亚洲区一区二 | 亚洲一区二区三区视频 | 538在线精品 | 久久伊人一区 |