亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

安卓逆向半次元app逆向分析源碼

 更新時間:2022年02月10日 11:01:34   作者:別None了  
這篇文章主要為大家介紹了安卓逆向半次元app逆向分析的源碼示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

僅供學(xué)習(xí)交流,禁止商業(yè)用途。如侵害利益,聯(lián)系必刪!

前言

最近一位小伙伴鐘愛二次元文化,于是找到半次元這個app,但是很快他就遇到了問題。

一、案例

樣本: 半次元 v5.0.6

工具: jadx-gui、ida、frida 問題描述:

在這里插入圖片描述

POST請求body中的data加密,那要想動態(tài)模擬請求數(shù)據(jù),就需要逆向分析data如何加密的了。

二、分析

1. jadx反編譯

分析過程比較枯燥就不過多闡述了,直接上分析的結(jié)果圖。

System.loadLibrary("random") 就是加載的秘鑰了

2.ida分析so層

com_banciyuan_AI 就是秘鑰啦


很清楚的可以看到"com_banciyuan_AI"就是key啦

3. Frida

代碼如下:

# -*- coding: utf-8 -*-
import frida, sys
def on_message(message, data):
    if message['type'] == 'send':
        print("[*] {0}".format(message['payload']))
    else:
        print(message)
jscode_hook = """
    Java.perform(
        function(){
            var en = Java.use("com.banciyuan.bcywebview.utils.encrypt.Encrypt");
            en.a.overload("java.lang.String").implementation = function (str){
                console.log("參數(shù): "+str);
                var res = this.a(str);
                console.log("返回: "+res);
                return res;
            }
        }

    )
"""
process = frida.get_usb_device().attach('com.banciyuan.bcywebview')
script = process.create_script(jscode_hook)
script.on('message', on_message)
print('[*] Hook Start Running')
script.load()
sys.stdin.read()

3.1 hook結(jié)果

hook結(jié)果

4. 算法還原

在這里插入圖片描述

能看出來沒有魔改的地方,AES.ECB模式Pkcs7padding.

代碼如下:

# -*- coding:utf-8 -*-
import base64
from Crypto.Cipher import AES
class EncryptDate:
    def __init__(self, key):
        self.key = key  # 初始化密鑰
        self.length = 16  # 初始化數(shù)據(jù)塊大小
        self.aes = AES.new(self.key, AES.MODE_ECB)  # 初始化AES,ECB模式的實例
        # 截斷函數(shù),去除填充的字符
        self.unpad = lambda date: date[0:-ord(date[-1])]
        print(self.unpad)  
    def pad(self, text):
        """
        #填充函數(shù),使被加密數(shù)據(jù)的字節(jié)碼長度是block_size的整數(shù)倍
        """
        count = len(text.encode('utf-8'))
        add = self.length - (count % self.length)
        entext = text + (chr(add) * add)
        return entext
    def encrypt(self, encrData):  # 加密函數(shù)
        a = self.pad(encrData)
        res = self.aes.encrypt(a.encode("utf-8"))
        msg = str(base64.b64encode(res), encoding="utf8")
        return msg
    def decrypt(self, decrData):  # 解密函數(shù)
        res = base64.decodebytes(decrData.encode("utf-8"))
        msg = self.aes.decrypt(res).decode("utf-8")
        return self.unpad(msg)
eg = EncryptDate("com_banciyuan_AI".encode("utf-8"))
res = eg.encrypt('{"uid":3526863969856576,"face":"f"}')
print(res)
print(eg.decrypt(res))

安心使用

總結(jié)

難度適中,工具運用(jadx、ida、frida)AES的加密模式分析切勿著急。

以上就是安卓逆向半次元app逆向分析源碼的詳細內(nèi)容,更多關(guān)于半次元app逆向分析的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Android音頻錄制MediaRecorder之簡易的錄音軟件實現(xiàn)代碼

    Android音頻錄制MediaRecorder之簡易的錄音軟件實現(xiàn)代碼

    這篇文章主要介紹了Android音頻錄制MediaRecorder之簡易的錄音軟件實現(xiàn)代碼,有需要的朋友可以參考一下
    2014-01-01
  • 詳解App保活實現(xiàn)原理

    詳解App保活實現(xiàn)原理

    一直以來,App 進程?;疃际歉鞔髲S商,特別是頭部應(yīng)用開發(fā)商永恒的追求。畢竟App 進程死了,就什么也干不了了;一旦 App 進程死亡,那就再也無法在用戶的手機上開展任何業(yè)務(wù),所有的商業(yè)模型在用戶側(cè)都沒有立足之地
    2021-06-06
  • Android觸摸事件傳遞圖解

    Android觸摸事件傳遞圖解

    這篇文章主要一圖文結(jié)合的方式為大家詳細介紹了Android觸摸事件傳遞,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-01-01
  • Android Studio 配置忽略文件的方法實現(xiàn)

    Android Studio 配置忽略文件的方法實現(xiàn)

    這篇文章主要介紹了Android Studio 配置忽略文件的方法實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • Android實現(xiàn)仿網(wǎng)易新聞的頂部導(dǎo)航指示器

    Android實現(xiàn)仿網(wǎng)易新聞的頂部導(dǎo)航指示器

    這篇文章主要介紹了Android實現(xiàn)仿網(wǎng)易新聞的頂部導(dǎo)航指示器的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2016-08-08
  • Android仿微信語音聊天功能

    Android仿微信語音聊天功能

    這篇文章主要介紹了Android仿微信語音聊天功能,很實用,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2015-12-12
  • Android開發(fā)之基于RecycleView實現(xiàn)的頭部懸浮控件

    Android開發(fā)之基于RecycleView實現(xiàn)的頭部懸浮控件

    RecyclerView是一種類似于ListView的一個滑動列表,但是RecyclerView和ListView相比,RecyclerView比ListView更好,這篇文章重點給大家介紹基于RecycleView實現(xiàn)的頭部懸浮控件,感興趣的朋友一起看看吧
    2019-10-10
  • iOS開發(fā)中TableView類似QQ分組的折疊與展開效果

    iOS開發(fā)中TableView類似QQ分組的折疊與展開效果

    這篇文章主要介紹了iOS開發(fā)中TableView類似QQ分組的折疊與展開效果,其實要做這個效果我先想到的是在tableView中再嵌套多個tableView。下面通過本文給大家分享實現(xiàn)思路,需要的朋友可以參考下
    2016-12-12
  • Android計時器的三種實現(xiàn)方式(Chronometer、Timer、handler)

    Android計時器的三種實現(xiàn)方式(Chronometer、Timer、handler)

    這篇文章主要介紹了Android計時器的三種實現(xiàn)方式,Chronometer、Timer、handler計時器的實現(xiàn)方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-11-11
  • Android EditText密碼的隱藏和顯示功能

    Android EditText密碼的隱藏和顯示功能

    這篇文章主要介紹了Android EditText密碼的隱藏和顯示功能的相關(guān)資料,主要是利用EditText和CheckBox 來實現(xiàn)該功能,需要的朋友可以參考下
    2017-07-07

最新評論