反編譯報錯
㈠ 運行反編譯過來的代碼時出現這些錯誤,怎麼辦
變數名標識符非法,改成任意合法標識符即可
㈡ android 反編譯錯誤 遇到 亂碼的文件名 怎麼辦
准備反編譯工具;
反編譯工具包里有一個AXMLPrinter2.jar可用於將XML變為可讀文件,但是會引起數組越界的異常;這里提供另一個jar包AXMLPrinter2.S.jar,可實現解析;
下載完jar包後,打開命令行,cd到該jar包路徑下,運行java -jar AXMLPrinter2.S.jar 文件所在路徑指定文件名.xml命令即可反編譯出xml文件;
但是如果XML文件很大,一屏看不完,則在命令窗口可能無法看全,這時候可以執行命令|more的指令,即Java -jar AXMLPrinter2.S.jar 文件所在路徑指定文件名.xml | more,發現屏幕最後會有--more--的字樣,按回車鍵可逐行顯示出來,但是無法返回看原先的數據;
如果想簡單的到處全部數據,可執行下面的命令Java -jar AXMLPrinter2.S.jar 文件所在路徑指定文件名.xml > 指定路徑文件名.txt(或XML),則該XML數據將全部寫入該文件中;
㈢ 安卓反編譯,odex反編譯報錯
建議您安裝包含這個apk軟體的系統框架。
不知道什麼是安卓的系統框架,建議自行網路一下吧!
㈣ app反編譯為什麼編譯出錯
雖然不提倡逆向工程別人的勞動成果但是萬一一個feature你想做,卻始終搞不懂,怎麼?參考一下別人怎麼實現的吧!可是Android用的Dalvik壓根不是標準的JavaVM的Jar,而是DEX格式的,怎麼?附件是dxe2jar和JD,兩個工具都是opensource的,我已經全部放在一個壓縮包了。別著急,有法:假設你要反匯編的是app.apk,那麼先改名成app.zip2.解壓3.在解壓出來的裡面找到classes.dex,這個就是目標的程序的二進制文件4.用附件的dex2jar,在Windows命令行下運行dex2jarclasses.dex5.生成classes.dex.dex2jar.jar,這個就是轉換後的JAR文件了6.執行jd-gui,找到剛才生成的JAR文件,打開之。7.偷偷樂吧,90%以上的Java源代碼躍然眼前。
㈤ 反編譯時提示如下錯誤怎麼解決
1、反編譯=回編譯後分別是
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 是否代碼有錯誤的地方;
㈥ java 代碼反編譯錯誤
換個軟體試試。可能原代碼已加密,你需要能解密的反編譯軟體去編譯。
㈦ APK 反編譯失敗 是為啥
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的版本。
㈧ 反編譯出來的java文件有錯誤,請問怎麼改
這個反編譯的程序 相當於自己寫的程序的 你這樣包裝改就對了try{File log = new File(System.getProperty("server.root"), file); fw = new FileWriter(log, true); bw = new BufferedWriter(fw); pw = new PrintWriter(bw, true); }catch(IOException){}return;}
㈨ 為什麼我反編譯一個exe文件原封不動轉為.exe就報錯了。
世界上的大多數事物都是存在不可逆特性的,比如說生雞蛋煮成熟雞蛋很容易,但把熟雞蛋再還原為生雞蛋就幾乎不可能了,也許將來的科技能夠實現,但至少現在還沒聽說過。
程序的編譯和反編譯也是一樣,一個電腦程序從供人類閱讀的高級語言編譯為供CPU解讀的機器語言,這是一個質變的過程,比方說某個運算結果可以用多種演算法實現,那麼你想往上回溯時,究竟選擇那種演算法呢?你可能會說,讓反編譯軟體隨便選一種吧,那麼問題來了,再繼續往上回溯的時候,很有可能就跟原程序完全不同了。所以,盡管「條條大路通羅馬」,但要想從羅馬回到原來的出發點就不是容易的事了。因此,到目前為止,尚未有反編譯軟體能夠把一個exe文件完整無誤地反編譯為源程序的(當然也許極簡單的程序可以,比如hello world),而程序本來就是嚴謹的東西,差一個字也可能會產生十萬八千里的誤差。所以,反編譯的結果只能用作參考,不能把它當作實際代碼。