Android反編譯

安卓反編譯要用到三個工具,

  工具1:apktool反編譯出來資源文件和源碼 工具2:d2j-dex2jar生成classes_dex2jar.jar文件工具3:jd-gui.exe 打開classes_dex2jar.jar文件查看java代碼

在這里插入圖片描述

一、 反編譯得到資源文件(工具1:apktool)

1:apk名為test.apk放到ApkTool目錄下然后運行以下指令得到test文件,里面有資源文件和源碼smali文件。
2:smali是一種反編譯class文件的中間語言,類似匯編語言,要是想要修改代碼的話得學會這個,僅僅只是看代碼的話不需要。下面有如何查看java代碼。

apktool.bat  d   test.apk 

在這里插入圖片描述

編譯重打包
apktool.bat b test(編譯出來的文件夾)

二、反編譯得到java源代碼

將要反編譯的APK后綴名改為.rar或則 .zip,并解壓,得到其中的額classes.dex文件(它就是java文件編譯再通過dx工具打包而成的)

三、查看源代碼(工具2:d2j-dex2jar.bat)

運行:d2j-dex2jar.bat classes.dex
生成:classes_dex2jar.jar文件

四:打開工具(工具3:jd-gui.exe)

導入classes_dex2jar.jar查看

在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/64853.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/64853.shtml
英文地址,請注明出處:http://en.pswp.cn/web/64853.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

計算機網絡 (17)點對點協議PPP

一、PPP協議的基本概念 PPP協議最初設計是為兩個對等節點之間的IP流量傳輸提供一種封裝協議,它替代了原來非標準的第二層協議(如SLIP)。在TCP/IP協議集中,PPP是一種用來同步調制連接的數據鏈路層協議(OSI模式中的第二層…

Tailwind CSS 實戰:表單設計與驗證實現

在 Web 開發中,表單就像是一位盡職的接待員,負責收集和驗證用戶的輸入信息。記得在一個企業級項目中,我們通過重新設計表單交互流程,將表單的完成率提升了 42%。今天,我想和大家分享如何使用 Tailwind CSS 打造一個既美觀又實用的表單系統。 設計理念 設計表單就像是在設計一…

信息系統項目管理師——第8章章 項目整合管理 筆記

8 項目整合管理(最后反過來看) 項目整合過程:①制定項目章程(啟動過程)、②制訂項目管理計劃(規劃過程)、③指導和管理項目工作、管理項目知識(執行過程)、④監控項目工…

MLP、CNN、Transformer 的區別解析

親愛的小伙伴們😘,在求知的漫漫旅途中,若你對深度學習的奧秘、Java 與 Python 的奇妙世界,亦或是讀研論文的撰寫攻略有所探尋🧐,那不妨給我一個小小的關注吧🥰。我會精心籌備,在未來…

WebRTC線程的啟動與運行

WebRTC線程運行的基本邏輯: while(true) {…Get(&msg, …);…Dispatch(&msg);… }Dispatch(Message *pmsg) {…pmsg->handler->OnMessage(pmsg);… }在執行函數內部,就是一個while死循環,只做兩件事,從隊列里Get取…

CSS 學習之 padding 與圖形繪制

padding 屬性和 background-clip 屬性配合,可以在有限的標簽下實現一些 CSS 圖形繪制效果,我這里舉兩個小例子,重在展示可行性。 例 1:不使用偽元素,僅一層標簽實現大隊長的“三道杠”分類圖標效果。此效果在移動端比較常見&…

yolov5核查數據標注漏報和誤報

提示:文章寫完后,目錄可以自動生成,如何生成可參考右邊的幫助文檔 文章目錄 前言一、誤報二、漏報三、源碼總結 前言 本文主要用于記錄數據標注和模型預測之間的漏報和誤報思想及其源碼 提示:以下是本篇文章正文內容,…

UnityRenderStreaming使用記錄(四)

測試把UnityRenderStreaming部署在docker,劇透一下,嘎了…… 當然webserver運行的妥妥的 那么打包出的程序運行log Mono path[0] /home/unity/Broadcast/Broadcast_Data/Managed Mono config path /home/unity/Broadcast/Broadcast_Data/MonoBleedingE…

salesforce addMonths()的問題

如果使用 Salesforce 的 addMonths(1) 方法,將 1月30日 或 1月31日 加一個月,都會得到 2月28日(或 2月29日,如果是閏年)。這是因為 Salesforce 的 addMonths 方法在跨月份時會自動調整日期,確保結果是有效日…

3. C語言 數據類型

本章目錄: 前言:C語言中的數據類型分類1. 基本數據類型1.1 整數類型1.2 浮點類型1.3 字符型常量1.4 字符串常量 2. 枚舉類型3. void 類型void類型的使用示例: 4. 類型轉換4.1 隱式類型轉換4.2 顯式類型轉換類型轉換的注意事項 5. 小結 前言&a…

JUnit注解,枚舉

一、JUnit注解(Annotations) JUnit 是 Java 中用于編寫和運行單元測試的框架。JUnit 提供了許多注解,用于控制測試的執行順序、測試生命周期、斷言結果等。以下是一些常用的 JUnit 注解及其作用: 1. Test 用于標記一個方法是測…

富芮坤FR800X系列之軟件開發工具鏈(如IDE、編譯器、調試器等)

文章目錄 一、IDE(集成開發環境)二、編譯器三、調試器四、其他輔助工具五、小結 FR800x系列作為一款低功耗藍牙芯片,其軟件開發工具鏈對于開發者來說至關重要。以下是對FR800x軟件開發工具鏈的詳細介紹,包括IDE(集成開…

數據賦能電商:API如何助力品牌成長

在數字時代,數據已成為電商品牌發展的核心驅動力。API(應用程序編程接口)作為數據交互的橋梁,不僅促進了數據的高效流通,更為電商品牌帶來了前所未有的增長機遇。本文將深入探討API如何助力電商品牌實現數據賦能&#…

「Java 數據結構全面解讀」:從基礎到進階的實戰指南

「Java 數據結構全面解讀」:從基礎到進階的實戰指南 數據結構是程序設計中的核心部分,用于組織和管理數據。Java 提供了豐富的集合框架和工具類,涵蓋了常見的數據結構如數組、鏈表、棧、隊列和樹等。本文將系統性地介紹這些數據結構的概念、…

LeetCode - 初級算法 數組(旋轉數組)

旋轉數組 這篇文章討論如何通過編程實現數組元素的旋轉操作。 免責聲明:本文來源于個人知識與公開資料,僅用于學術交流。 描述 給定一個整數數組 nums,將數組中的元素向右輪轉 k 個位置,其中 k 是非負數。 示例: 輸入: nums = [1,2,3,

c#集合詳解-Dictionary、List、Queue、Stack等

目錄 一,非泛型集合 1,ArrayList (1)創建和初始化ArrayList() (2)常用方法 ①Add(value) ②AddRange(value) ③Insert(index,value) ④Remove(value) ⑤RemoveAt(index) ⑥clear() ⑦Contains(v…

記一次網閘部署經歷

1.在成功獲取某大廠偉思網閘設備,并與客戶就現有網絡架構(包括防火墻與交換機)進行了詳盡的溝通與評估后,我們團隊精心構思并提出了一個創新的實施方案——采用透明網橋模式。這一模式以其獨特的優勢,即無需對客戶現有…

SpringCloud(一)--SpringCloud簡介

一. 引言 ? 在微服務架構日益盛行的今天,Spring Cloud憑借其簡單易用、功能強大的特性,成為了眾多開發者的首選。本文僅為學習所用,聯系侵刪。 二. SpringCloud概述 2.1 定義 ? Spring Cloud是一系列框架的有序集合,它巧妙地…

SQLALchemy如何將SQL語句編譯為特定數據庫方言

最近在一個使用fastapitortoise-orm的項目中,需要將orm的語句編譯成特定數據庫方言,但是查詢了官方文檔及一些資料卻找不到合適的方法論😔,于是乎我就把目光放到了sqlalchemy身上,東找西找給我找著了。話不多說&#x…

廬山派K230學習日記2 MicroPython基礎

MicroPython文檔: https://docs.micropython.org/ MicroPython是編程語言 Python3 的精簡高效實現,語法和 Python3 保持一致,但只實現了 Python 標準庫的一小部分,并且經過優化,適用于物聯網 (IoT)、消費電子和嵌入式…