導航:首頁 > 源碼編譯 > 開源軟體反編譯後包名是數字開頭

開源軟體反編譯後包名是數字開頭

發布時間:2022-05-29 11:03:36

① 如何通過反編譯查詢apk包名信息

首先安裝java環境,然後到google code裡面下載apktool1.5.2.tar.bz2和apktool-install-windows-r05-ibot.tar.bz2
從兩個壓縮包中解壓aapt.exe、apktool.bat和apktool.jar三個文件,放在一個文件夾中(為方便命令行中使用apktool命令,可將解壓到的路徑放入path或者直接將這三個文件放入path路徑下的文件夾,如C:\Windows)

通過cmd運行 Apktool 命令:
apktool d XXX.apk ABC 反編譯XXX.apk到文件夾ABC
apktool b ABC 從文件夾ABC重建APK,輸出到ABC\dist\out.apk

② 包名由字母、數字和下劃線組成,切不能以數字開頭怎麼設置

合法的標識符 _adfs8d85 ad85dsf46sd
不合法的標識符 _______(全部下劃線) 8dsf5ad1(數字開頭) das'@d85(含其他特殊字元)

android 包名可以用數字嗎

不可以的,一般用字母或下劃線命名包名,並且一般用小寫字母

④ 反編譯的java源碼,裡面全是abcdef的類名和包名,如何解決

這是被混淆過的jar包。
沒有被混淆是可以反編譯出來的。

⑤ JAVA反編譯軟體

由於JAVA語言安全性高、代碼優化、跨平台等特性,從1995年5月由SUN公司發布後,迅速取代了很多傳統高級語言,占據了企業級網路應用開發等諸多領域的霸主地位。
不過,JAVA最突出的跨平台優勢使得它不能被編譯成本地代碼,而要以中間代碼的形式運行在虛擬機環境中,這使得JAVA的反編譯要比別的高級語言容易實現,並且反編譯的代碼經過優化後幾乎可以與源代碼相媲美。
為了更好地保護知識產權,避免本公司的智力成果輕易被人竊取,開發者有必要對反編譯工具深入了解,以便有針對性地採取保護措施。
目前,比較流行的JAVA反編譯工具有近30種,其中有三款堪稱精品:
一、 應用廣泛的JAD
在眾多的JAVA反編譯工具中,有幾種非常著名的工具使用了相同的核心引擎——JAD,其中主要包括:Front End Plus、mDeJava、Decafe Pro、Cavaj Java Decompiler、DJ Java Decompiler、NMI』s Java Class Viewer和國產的JAVA源代碼反編譯專家。
JAD本身是一個命令行工具,沒有圖形界面,上述的這些工具大多是在JAD內核的基礎之上加了一個圖形界面而已。這么多種產品的共同選擇,足可證明JAD在JAVA反編譯領域中的尊貴地位。
JAD是使用Microsoft Visual C++開發的,運行速度非常快,可以處理很復雜的JAVA編譯文件。眾多的參數使JAD可以靈活應付多種加密手段,令反編譯的代碼更加優化和易讀。由於JAD參數太多,沒必要一一解釋,其中有幾個最常用的如下(以JAD 1.5.8f版本為例):
-d
- 用於指定輸出文件的目錄
-s - 輸出文件擴展名(默認為: .jad),通常都會把輸出文件擴展名直接指定為.java,以方便修改的重新編譯。
-8 - 將Unicode字元轉換為ANSI字元串,如果輸出字元串是中文的話一定要加上這個參數才能正確顯示。
最常用的反編譯指令如下所示:
Jad –d c:\javasource –s .java -8 javatest.class
這條指令將當前目錄下的javatest.class反編譯為javatest.java並保存在c:\javasource目錄里,其中的提示輸出為中文,而不是Unicode代碼。

二、 源碼開放的JODE
JODE是全球最大的開源項目網站Sourceforge.net的成員,在所有的JAVA反編譯器中,JODE的反編譯效果是最好的,尤其是對付一些常見的加密手段,例如混淆技術等,更是出類拔粹。
JODE本身也是純JAVA開發的,最近越來越多的JAVA反編譯軟體也選擇JODE來做它們的核心引擎,例如JCavaj Java Decompiler、BTJ (Back To Java)、jEdit』s JavaInsight plugin等。
JODE是一個可運行的JAR文件,在windows環境下雙擊即可運行。
需要特別說明的是,JODE不是通過常規的Open->File的方式來載入JAVA編譯後的類文件(*.class)或是類包(*.jar)的, 而是通過在Options菜單中的Set Classpath來實現的,單獨的類文件可以將它的上一級目錄作為Classpath輸入,然後再選擇Reload Classpath即可。
新加入的類包或是類的名字會在左側窗口出現,雙擊類包名可以展開目錄樹結構,雙擊需要反編譯的類名則在右上角的窗口中直接顯示反編譯後的源代碼。

三、 獨樹一幟的DAVA
DAVA不是一個獨立的JAVA反編譯器,而是JAVA代碼優化工具Soot的一部分。Soot和JODE一樣是純JAVA開發的,也是一個獨立的JAR包,但卻不能通過雙擊直接運行,而是象JAD一樣在命令行狀態運行。
Soot對環境變數的配置要求非常嚴格,通常情況下要對CLASSPATH做如下設置:
Set CLASSPATH=%CLASSPATH%;c:\sootdir\sootclasses-2.1.0.jar;.;
其中的c:\sootdir\是下載的soot類包放置的路徑,CLASSPATH末尾的.;代表了當前目錄,如果不加上這個的話Soot經常會報一個找不到類的錯誤。
DAVA是作為Soot的一個參數使用的,通常的用法如下:
Java soot.Main –f dava –d c:\javasource javatest
注意最後的類名不用帶.class後綴,因為它默認是處理class文件,這個操作與前述的JAD的參數效果相同。
DAVA採取了流程優化的方式進行反編譯,與傳統反編譯思路不盡相同,但卻對改變流程類的加密方法有獨特的反編譯效果。
上述的三種工具各有千秋,但效果都非常不錯。經測試,它們基本上都可以把JDK自帶的一些常式完全反編譯,然後不加任何修改可再編譯成功,並能正常運行!

⑥ 有的安卓程序反編譯後是samli文件,這是程序員直接用smali語言寫的,還是是用java寫的

您好,
1、原始類型:
v void 只能用於返回值類型
Z boolean
B byte
S short
C char
I int
J long(64位)
F float
D double(64位)
對象類型:
Lpackage/name/ObjectName相當於java中的package.name.ObjectName解釋如下:
L:表示這是一個對象類型
package/name:該對象所在的包
;:表示對象名稱的結束
數組的表示形式:
[I :表示一個整形的一維數組,相當於java的int[];
對於多維數組,只要增加[ 就行了,[[I = int[][];註:每一維最多255個;
對象數組的表示形式:
[Ljava/lang/String 表示一個String的對象數組;
方法的表示形式:
Lpackage/name/ObjectName;——>methodName(III)Z 詳解如下:
Lpackage/name/ObjectName 表示類型
methodName 表示方法名
欄位的表示形式:
Lpackage/name/ObjectName;——>FieldName:Ljava/lang/String;
即表示: 包名,欄位名和各欄位類型
方法的傳參:
當一個方法被調用的時候,方法的參數被置於最後N個寄存器中;
例如,一個方法有2個參數,5個寄存器(v0~v4)
那麼,參數將置於最後2個寄存器(v3和v4)
非靜態方法中的第一個參數總是調用該方法的對象;
說明:對於靜態方法除了沒有隱含的this參數外,其他都一樣
寄存器的命名方式:
V命名
P命名 第一個寄存器就是方法中的第一個參數寄存器
比較:使用P命名是為了防止以後如果在方法中增加寄存器,需要對參數寄存器重新進行編號的缺點:
特別說明一下:Long和Double類型是64位的,需要2個寄存器

例如:對於非靜態方法
LMyObject——>myMethod(IJZ)V;
有4個參數:LMyObject,int,long,bool; 需要5個寄存器來存儲參數;
P0 this
P1 I (int)
P2,P3 J (long)
P4 Z(bool)

⑦ 將原安卓apk反編譯後簽名,有原簽名文件

一、可以使用如APKTool之類的反編譯工具,使用方法網上有介紹,反編譯完成後修改所有引用包名的地方及對應的文件夾,然後重新編譯為新的APK,最後再用簽名工具簽名就行。
二、第一步是用命令行的形式進行的,如果不願意進行繁瑣的配置過程,可以使用一些可視化的APK修改工作,如APK改之理、VTS(Virtuous
Ten
Stdio)等,但主要修改的地方更第一步是一致的。

⑧ 反編譯的java源碼,裡面全是abcdef的類名和包名,如何解決

我沒有看見那一個工具能夠強大到原來的名稱都給你找回來的。

反編譯工具如果都這么強悍的話,那別人的編程代碼還有什麼秘密可言

⑨ jar 反編譯後 可讀性很差,包名,類名全是一大串的0oo0 原因與解決辦法

這個是用混淆器把代碼混淆了。
原作者會這樣做是不希望反編譯的代碼被人看懂,可能是個人原因也可能是出於保密
沒有解決辦法,有耐心的話理論上挨個程序分析可以破解。

⑩ 《請教》有可能把安卓反編譯後,理清代碼嗎

目前還沒有工具可以做這個。。。只能肉眼看混淆後,反編譯出來的Java
是不好清理的,smali的話,可以人肉看,因為smali
裡面都是全名。。比如,混淆後的代碼里有很多名字為a
的方法或者變數,讀反編譯Java代碼的時候,不知道到底調用的是那裡一個,在smali里則可以看的比較明白,例如調用a方法,就是
com.test.a;->aI
,
看前面的包名和類名可以定位到

閱讀全文

與開源軟體反編譯後包名是數字開頭相關的資料

熱點內容
javaoa開發 瀏覽:875
單片機的用途和使用方法 瀏覽:944
程序員在新公司上班 瀏覽:430
發信如何設置伺服器 瀏覽:77
源代碼查詢加密數字 瀏覽:605
附帶編譯 瀏覽:108
海康螢石雲app怎麼回放 瀏覽:404
寫一個編譯器怎麼寫 瀏覽:285
單片機蜂鳴器發聲原理 瀏覽:137
程序員那麼可愛陸離跳水是哪集 瀏覽:17
如何製作cdn伺服器 瀏覽:111
寫java加密程序 瀏覽:659
菜鳥數據分析pdf 瀏覽:291
單片機做實用東西 瀏覽:651
我的世界最強斗羅伺服器怎麼覺醒武魂 瀏覽:931
密友圈app怎麼切換用戶登錄 瀏覽:217
我把程序員當愛豆追 瀏覽:978
android判斷電話接通 瀏覽:646
大孔文件夾 瀏覽:785
反詐騙app在哪裡下載 瀏覽:527