導航:首頁 > 源碼編譯 > 反編譯出錯Osjava

反編譯出錯Osjava

發布時間:2023-02-26 02:40:58

Ⅰ apk反編譯和重新打包

操作系統:Mac OS X
軟體:apktool

進入官網 https://ibotpeaches.github.io/Apktool/ ,點擊官網首頁的install( https://ibotpeaches.github.io/Apktool/install/ )進入安裝指南,裡面有Windows,linux和Mac的安裝方法,不同的操作系統按不同的步驟來就可以了。

在終端輸入: apktool d xxx.apk ,我在反編譯時出現了以下錯誤:

看提示是無法寫入到這個目錄 /Users/xxx/Library/apktool/framework (xxx為電腦用戶名),那就在 /Users/xxx/Library 下新建apktool文件夾,並在apktool文件夾下再新建個framework文件夾,然後為了保險起見設置新建文件夾到許可權,在終端輸入: chmod -R 777 /Users/xxx/Library/apktool
接著再重新執行反編譯命令就可以成功了,在xxx.apk相同目錄下會出現反編譯後的文件夾。

在終端輸入編譯命令: apktool b xxx (xxx為剛才反編譯的文件夾),成功後會在xxx文件夾下的dist文件夾下生成打包好後的apk文件

現在打包好後的apk是沒有簽名的,所以無法安裝,現在給apk簽名

20000為時間,這個設置長點就好了,-keystore後面是簽名文件保存路徑。輸入命令按回車鍵會讓輸入密碼等信息,按提示輸入,不要忘了密碼,簽名時要用。
2.接著在終端輸入:

-keystore後面的為簽名文件的路徑,-signedjar後面為簽名好後apk的存放路徑,在這個後面的一個為需要簽名的pak的路徑,最後的android.keystore為證書的別名,如果不知道別名,可以在終端輸入: keytool -list -v -keystore /Users/xxx/Desktop/android.keystore 查看具體信息,裡面有別名。
這一步還要注意,簽名文件和需要簽名的apk要在同一目錄下。

Ⅱ apkdb執行反編譯一閃而過就什麼也沒有

APKDB是一款,針對Android OS系統的APK程序,直接反編譯修改的工具。其實,本工具是一個工具集合箱,直接在【滑鼠右鍵】創建快捷菜單;非常方便漢化工作者,對APK或Dex文件進行簡易的反編譯回編譯操作;集合了當今最強悍,最犀利的APK及Dex文件編譯工具;
但安裝過程阻礙多多,這里向大家說說這個工具的安裝經驗:
1、被殺毒軟體攔截誤殺(安裝前,關閉殺毒軟體)
2、沒有管理員許可權(右鍵以管理員身份運行C:\Apkdb\安裝.exe)
或者,使用兼容模式 (右鍵-屬性-兼容性-兼容模式[Windows XP SP3])
以及 特權等級 勾選「以管理員身份運行此程序」

3、UAC限制 安裝過程沒有寫入注冊表提示,直接顯示安裝完成
(右鍵 我的電腦-管理-本地用戶和組-用戶-Administrator(√ 密碼永不過期)

4、安裝成功,安裝過程有寫入注冊表提示,但是右鍵APK 沒有菜單
(檢查是不是安裝了PC版的手機管理工具,關聯了APK文件。請手動管理本工具的安裝器)
5、安裝後無法編譯文件,提示java 錯誤
(未安裝JAVA平台,或安裝錯誤。請卸載後重啟電腦,重裝再次重啟電腦)
6、安裝成功後,編譯文件提示 「Can't create the output directory \\****\smali」
(這是文件夾 沒有寫入許可權。檢查是否直接在硬碟分區根目錄編譯了?
Apktool不能在磁碟分區。如:C盤 D盤 根目錄!
如果不是根目錄,請檢查apk文件名稱是不是有問題。如,文件名結尾空格。)

7、能反編譯,但無法回編譯
(可能是被舊版本的Apktool編譯過,試試用舊版的反編譯,用新版的回編譯)

8、回編譯出錯問題:
(1.提示 strings.xml 最後一行錯誤,檢查是否</string>符號錯誤;
(2.提示 strings.xml 最頂部含中文代碼首行錯誤,編碼格式不對,轉換成 UTF-8;
(3.提示 public.xml 出錯,檢查改動過的 arrays.xml 是否代碼有錯誤的地方;

使用過程中的說明
1、需要反編譯的APK文件名稱,不可以使用中文,否則無法回編譯。
2、反編譯後的文件夾不要重命名,否則自動簽名會失敗(控制在:apktool.yml)。
3、APK文件不能放在分區根目錄直接反編譯,請放在子目錄內。
4、部分功能需要 NET.Framework 4.0 的支持!如:顯示APK自身圖標。

Ⅲ 安卓APK反編譯framework-res可以,回編譯出錯,求救!

沒玩過這個不知道= =

給你推薦兩個地方,網路貼吧 android吧和安卓美化吧 去這兩個吧問問,在網路知道一般是問不出來的

Ⅳ 安卓手機反編譯狀態欄是反編譯哪個文件那個文件名具體在哪叫什麼

【原創】手機端反編譯:安卓手機狀態欄時間精確到秒
大神們都不發教程的…可我卻喜歡分享技術,本教程適合小白,適合電腦端不會搭建java環境跟反編譯的傢伙
1.提取:
使用x-plore文件管理器提取system/framework/下的所有apk格式的程序例如framework_res.apk和framework-miui-res.apk等等.(總之是比目錄下的所有apk格式的文件.有些系統卻只有一個,例如泛泰a760s的深度os包)再提取system/app/SystemUI.apk 這三個文件.提取到sd卡根目錄
2.安裝手機端反編譯軟體:apktool和載入條件
下載apktool3.6手機版(我用的是非通用版,是armv7專用版),解壓把apktool文件夾放在sd卡根目錄.安裝apktool3.6打開並且獲取root許可權允許,裡面目錄找到 framework_res.apk和framework-miui-res.apk分別先後載入選擇"作為framework導入"(很多人修改SystemUI.apk不能反編譯或者回編譯出錯就是這個原因,因為沒有導入剛才那幾個)然後找到SystemUI.apk按住它選擇"反編譯全部"等待n分鍾後,反編譯成功後關閉apktool,打開x-plore找到sd根目錄新產生的文件SystemUI_src文件夾裡面的\res\layout\status_bar.xml用x-plore管理器對著它選擇以文本編輯:status_bar.xml(代碼可能不同,但是道理一樣,安卓系統通用,本人已修改cm10、深度、小米、x-ui其中包括2.3、4.04、4.1.2跟4.2.2反正安卓通用)

3.游戲才剛剛開始!現在開始修改:
在x-plore文件編輯界面點搜索剛才那個文件裡面的字,找到如下代碼:(可搜索statusbar.Clock,這樣快點)
<com.android.systemui.statusbar.Clock android:textAppearance="@android:styleTextAppearance.StatusBar.Icon" android:gravity="left|center" android:paddingRight="6.0dip" android:layout_width="wrap_content" android:layout_height="fill_parent" android:singleLine="true" />(也許你的系統有所不同代碼,不用管,刪了此代碼全部就得了)
刪了上面的代碼,全部修改為以下代碼:
<DigitalClock android:textSize="14.0dip" android:textStyle="bold" android:textColor="#ffffffff" android:gravity="center_vertical" android:id="@+id/digitalClock" android:paddingRight="6.0dip" android:layout_width="wrap_content" android:layout_height="fill_parent" />(直接復制然後粘貼)
4.回編譯 和替換
替換完後保存,就可以回編譯了:打開apktool軟體,找到SystemUI_src文件夾點一點它,選擇回編譯,等待n分鍾成功後,用x-plore文件管理器打開sd卡根目錄的 SystemUI_src.apk文件,選擇以zip方式打開,把SystemUI_src.apk裡面的resources.arsc跟\res\layout\路徑下的status_bar.xml 跟status_bar_expanded.xml 三個文件覆蓋替換到原本SystemUI.apk裡面的文件(不用簽名)

5.替換原來的程序
把改好的SystemUI.apk用x-plore管理器替換覆蓋到system/app/裡面!重啟後,狀態欄時間精確到秒爽!(替換前記得提取原版的SystemUI.apk以免修改錯誤導致狀態欄沒了,不過不用怕.把原版的 SystemUI.apk替換回來就行了)

Ⅳ 我反編譯JAVA文件,有一些漢字信息就變成了\u9879 了

使用 jdk 自帶的 native2ascii.exe 工具,在你的 jdk文件夾/bin 下能找到。
針對你的問題,在 cmd 窗口中執行下面的命令即可(需要將 jdk文件夾/bin 加入到 path 環境變數中):

native2ascii -reverse C:\abc.java c:\abc2.java
(這里abc.java表示你的含有 \uxxxx 字元的java文件;
c:\abc2.java 表示轉後後的文件)

下面附上完整的 使用方法:
------------------------------
native2ascii用法解析

native2ascii是sun java sdk提供的一個工具。用來將別的文本類文件(比如

*.txt,*.ini,*.properties,*.java等等)編碼轉為Unicode編碼。為什麼要進行轉碼,

原因在於程序的國際化。

Java 編譯器和其它 Java 工具只能處理含有 Latin-1 和/或 Unicode 編碼(\udddd 記

號)字元的文件。native2ascii 將含有其它字元編碼的文件轉換成含 Latin-1 和/或

Unicode 編碼字元的文件。

若省略 outputfile,則使用標准輸出設備輸出。此外,如果也省略 inputfile,則使用

標准輸入設備輸入。

用法:native2ascii [-reverse] [-encoding 編碼] [輸入文件 [輸出文件]]

-[options]:表示命令開關,有兩個選項可供選擇
-reverse:
執行相反的操作:將含 Latin-1 和/或 Unicode 編碼字元的文件轉換成含本地編碼字元

的文件,不指定編碼情況下,將轉為本地編碼。

-encoding encoding_name
指定轉換過程使用的編碼名稱。預設的編碼從系統屬性 file.encoding 中得到。

encoding_name 字元串必須是下表第一欄所示的字元串。

[inputfile [outputfile]]
inputfile:表示輸入文件全名。
outputfile:輸出文件名。如果缺少此參數,將輸出到控制台

-------------------------------------------------------------
8859_1 ISO 8859-1
8859_2 ISO 8859-2
8859_3 ISO 8859-3
8859_4 ISO 8859-4
8859_5 ISO 8859-5
8859_6 ISO 8859-6
8859_7 ISO 8859-7
8859_8 ISO 8859-8
8859_9 ISO 8859-9
Big5 Big5 碼,繁體中文
CNS11643 CNS 11643,繁體中文
Cp037 美國、加拿大(兩種語言,法語)、荷蘭、葡萄牙、巴西、澳大利亞
Cp1006 IBM AIX 巴基斯坦(烏爾都語)
Cp1025 IBM 多語種西里爾語:保加利亞、波斯尼亞 黑塞哥維那、馬其頓 (FYR)
Cp1026 IBM Latin-5,土耳其
Cp1046 IBM Open Edition US EBCDIC
Cp1097 IBM 伊朗(波斯語)/波斯
Cp1098 IBM 伊朗(波斯語)/波斯 (PC)
Cp1112 IBM 拉脫維亞,立陶宛
Cp1122 IBM 愛沙尼亞
Cp1123 IBM 烏克蘭
Cp1124 IBM AIX 烏克蘭
Cp1125 IBM 烏克蘭 (PC)
Cp1250 Windows 東歐
Cp1251 Windows 斯拉夫語
Cp1252 Windows Latin-1
Cp1253 Windows 希臘
Cp1254 Windows 土耳其
Cp1255 Windows 希伯萊
Cp1256 Windows 阿拉伯
Cp1257 Windows 波羅的語
Cp1258 Windows 越南語
Cp1381 IBM OS/2, DOS 中華人民共和國 (PRC)
Cp1383 IBM AIX 中華人民共和國 (PRC)
Cp273 IBM 奧地利、德國
Cp277 IBM 丹麥、挪威
Cp278 IBM 芬蘭、瑞典
Cp280 IBM 義大利
Cp284 IBM 加泰羅尼亞語/西班牙、拉丁美洲西班牙語
Cp285 IBM 英國、愛爾蘭
Cp297 IBM 法國
Cp33722 IBM-eucJP - 日語 (5050 的超集)
Cp420 IBM 阿拉伯
Cp424 IBM 希伯萊
Cp437 MS-DOS 美國、澳大利亞、紐西蘭、南非
Cp500 EBCDIC 500V1
Cp737 PC 希臘
Cp775 PC 波羅的語
Cp838 IBM 泰國擴展 SBCS
Cp850 MS-DOS Latin-1
Cp852 MS-DOS Latin-2
Cp855 IBM 斯拉夫語
Cp857 IBM 土耳其語
Cp860 MS-DOS 葡萄牙語
Cp861 MS-DOS 冰島語
Cp862 PC 希伯萊
Cp863 MS-DOS 加拿大法語
Cp864 PC 阿拉伯語
Cp865 MS-DOS 日爾曼語
Cp866 MS-DOS 俄語
Cp868 MS-DOS 巴基斯坦語
Cp869 IBM 現代希臘語
Cp870 IBM 多語種 Latin-2
Cp871 IBM 冰島語
Cp874 IBM 泰國語
Cp875 IBM 希臘語
Cp918 IBM 巴基斯坦(烏爾都語)
Cp921 IBM 拉脫維亞、立陶宛(AIX, DOS)
Cp922 IBM 愛沙尼亞 (AIX, DOS)
Cp930 與 4370 UDC 混合的日語,5026 的超集
Cp933 與 1880 UDC 混合的韓文,5029 的超集
Cp935 與 1880 UDC 混合的簡體中文主機,5031 的超集
Cp937 與 6204 UDC 混合的繁體中文,5033 的超集
Cp939 與 4370 UDC 混合的日語拉丁字母,5035 的超集
Cp942 日語 (OS/2),932 的超集
Cp948 OS/2 中文(台灣),938 超集
Cp949 PC 韓文
Cp950 PC 中文(香港、台灣)
Cp964 AIX 中文(台灣)
Cp970 AIX 韓文
EUCJIS JIS, EUC 編碼、日語
GB2312 GB2312, EUC 編碼、簡體中文
GBK GBK, 簡體中文
ISO2022CN ISO 2022 CN, 中文
ISO2022CN_CNS ISO-2022-CN 形式的 CNS 11643,繁體中文
ISO2022CN_GB ISO-2022-CN 形式的 GB 2312,簡體中文
ISO2022KR ISO 2022 KR, 韓文
JIS JIS, 日語
JIS0208 JIS 0208, 日語
KOI8_R KOI8-R, 俄語
KSC5601 KS C 5601, 韓文
MS874 Windows 泰國語
MacArabic Macintosh 阿拉伯語
MacCentralEurope Macintosh Latin-2
MacCroatian Macintosh 克羅埃西亞語
MacCyrillic Macintosh 斯拉夫語
MacDingbat Macintosh Dingbat
MacGreek Macintosh 希臘語
MacHebrew Macintosh 希伯萊語
MacIceland Macintosh 冰島語
MacRoman Macintosh 羅馬語
MacRomania Macintosh 羅馬尼亞語
MacSymbol Macintosh 符號
MacThai Macintosh 泰國語
MacTurkish Macintosh 土耳其語
MacUkraine Macintosh 烏克蘭語
SJIS Shift-JIS, 日語
UTF8 UTF-8

Ⅵ 如何吧class文件反編譯為java文件

項目WAR文件不含java源文件,只有.class文件,如何將WAR項目導入到MyEclipse中去??

我的做法:將WAR中的.class文件反編譯成.java文件,反編譯軟體我用的是Java Decompiler", 由 Pavel
Kouznetsov開發,目前最新版本為0.2.5.它由 C++開發,並且官方可以下載 windows、linux和蘋果Mac
Os三個平台的可執行程序。

如何將現有的web程序導入到myeclipse環境中去

如果要將別人發布的war包,導入到自己的eclipse環境中進行再開發,最快的方法如下:

1、新建一個myeclipse的web project。

2、右鍵該工程,myeclipse/add struts capability,設置成struts開發環境。

3、將war包解壓,全目錄覆蓋新工程的WebRoot(包括其中的web-inf/meta-inf目錄),相應的scr目錄(或者對應的包含java文件的目錄)覆蓋eclipse的src目錄。myeclipse會自動將WEB-INF\lib下的jar包作為放到classpath中的。
4、refresh該工程,over。

Ⅶ APK反編譯後回編譯失敗是為什麼

、反編譯=回編譯後分別是
smali目錄 回編譯為 classes.dex 文件
res目錄 回編譯為 resources.arsc 文件
2、回編譯順序
在回編譯時,會先檢查「源」即resources
當你漢化文件,修改出錯了(缺少一個符號也不行),
那麼回編譯會自動跳過編譯res文件夾,直接回編譯smali 。
所以,如果沒有對smali(classes.dex)漢化,那麼建議大家刪掉這個文件夾,
這要會大大加快回編譯速度。1、反編譯=回編譯後分別是
smali目錄 回編譯為 classes.dex 文件
res目錄 回編譯為 resources.arsc 文件
2、回編譯順序
在回編譯時,會先檢查「源」即resources
當你漢化文件,修改出錯了(缺少一個符號也不行),
那麼回編譯會自動跳過編譯res文件夾,直接回編譯smali 。
所以,如果沒有對smali(classes.dex)漢化,那麼建議大家刪掉這個文件夾,
這要會大大加快回編譯速度。
3、出錯問題1
在漢化時,往往會不小心刪掉一些符號,如 "<" ">"符號等等。
<string name="app_name">File Manager</string>
<string name="app_name">文件管理器/string>
<string name="app_name"文件管理器</string>
這些小小的錯誤都會導致回編時譯檢查出錯。
所以漢化時,注意對校,然後再回編譯。
建議使用一些高級的文本編輯器,支持語法高亮視圖的。
4、出錯問題2
最近發現有些APK文件 反編譯後,就算不漢化直接回編譯,都會出錯。
有可能的原因1,反編譯後XML文件語法中@符號 前面多了"\" (\@ ),
用文本編輯工具 直接替換【\@】為【@】,應該可以解決。
建議使用最新版本的反編譯工具。
5、建議大家使用新版本的APKTool工具,
當然如果新的有問題也可以試試舊的一、系統文件漢化再次強調
1、漢化Settings.apk(系統設置)、MMS.apk(信息)、Phone.apk(電話)、
等等系統文件,一定要先 安裝構架,具體看另個文件
<關於APKTool工具反編譯Settings.apk問題>。
2、系統文件漢化完後不需要簽名,直接替換漢化後的文件,就可以了。
主要是,系統文件放在系統目錄,無需再次讀取簽名獲得許可權,已經是高級了。
二、打包說明
1、通常漢化完回編譯後,會自動生成所有APK內的文件,或者自動生成*.APK文件。
但是建議大家不要直接使用該文件,進了使用替換法,替換掉你漢化後的文件,
如:resources.arsc,如果修改過的圖片,等等…
2、很多人對於APK文件 解壓縮或壓縮 都用「WinRAR」或「好壓」,這里不推薦。
希望大家安裝7-Zip這個壓縮工具,對於zip格式的支持是最好的。而且很方便,
不需要重新關聯apk 直接右鍵打開就行了。替換直接拖拉進去,就OK了一、回編譯出錯問題

(1.提示 strings.xml 最後一行錯誤,檢查是否</string>符號錯誤;
在漢化時,往往會不小心刪掉一些符號,如 "<" ">"符號等等。
<string name="app_name">File Manager</string>
<string name="app_name">文件管理器/string>
<string name="app_name"文件管理器</string>

(2.提示 strings.xml 最頂部含中文代碼首行錯誤,編碼格式不對,轉換成 UTF-8;
(3.提示 public.xml 出錯,檢查改動過的 arrays.xml 是否代碼有錯誤的地方;

二、一切能正常但無法回編譯
還有一種情況,apktool最新版本能正常反編譯一個apk文件,在未做任何修改的情況下,無法回編譯。
這是就要注意了,可以嘗試一下用低版本的apktool進行【反編譯】,然後在用高版本的apktoo工具【回編譯】。
這里向大家推薦用 【APKDB】 這個工具,很方便,反編譯時可以選擇apktool的版本。

閱讀全文

與反編譯出錯Osjava相關的資料

熱點內容
如何確認方舟編譯器 瀏覽:664
奶粉源箱源碼什麼意思 瀏覽:178
台州程序員兼職一般去哪些網站 瀏覽:388
舊版本怎麼下載到新的安卓 瀏覽:966
flash個人網站源碼下載 瀏覽:723
javasocketbyte 瀏覽:264
素描基礎教程pdf 瀏覽:541
香港商報pdf版 瀏覽:427
安卓手機怎麼錄制吉他彈奏 瀏覽:382
ie文件夾緩存在哪裡 瀏覽:264
圍棋排名演算法 瀏覽:963
zigbee加密演算法 瀏覽:464
柏楊版資治通鑒pdf 瀏覽:395
事業編程序員下班時間 瀏覽:10
linux中命令大全 瀏覽:38
pic單片機學習網站 瀏覽:164
843除6的演算法 瀏覽:377
arduino編程視頻 瀏覽:745
pdf背景綠色 瀏覽:612
記事本dos命令 瀏覽:276