smali2java是一個將smali代碼反編譯成java代碼的工具。
創(chuàng)新互聯(lián)建站專注于成都網(wǎng)站設(shè)計、網(wǎng)站制作、網(wǎng)頁設(shè)計、網(wǎng)站制作、網(wǎng)站開發(fā)。公司秉持“客戶至上,用心服務(wù)”的宗旨,從客戶的利益和觀點出發(fā),讓客戶在網(wǎng)絡(luò)營銷中找到自己的駐足之地。尊重和關(guān)懷每一位客戶,用嚴(yán)謹(jǐn)?shù)膽B(tài)度對待客戶,用專業(yè)的服務(wù)創(chuàng)造價值,成為客戶值得信賴的朋友,為客戶解除后顧之憂。
smali2java工具基于apktool v1.5.0(baksmali v1.3.4)生成的smali文件,依賴于smali文件中的代碼行數(shù)(.line關(guān)鍵字)和變量別名(.local關(guān)鍵字)等信息,可以最大程度還原原始的java代碼。還原出的java代碼將具有原始的變量命名,代碼的順序也與原始的java代碼保持一致。
本工具也具有局限性,僅適用于帶有行數(shù)和變量別名信息的smali文件(java編譯器的編譯選項可以在生成的字節(jié)碼中剔除這些信息)。
public?boolean?onKeyDown(int?keyCode,?KeyEvent?event)?{
boolean?ret;
if?(keyCode?==?KeyEvent.KEYCODE_BACK)?{
SharedPreferences?shareddata?=?this.getSharedPreferences("login",
MODE_PRIVATE);
String?right_pass?=?shareddata.getString("right_pass",?null);
if?(right_pass?!=?null)?{
ret?=?"true".equals(right_pass);
if?(ret)?{
this.finish();
}
}
}?else?{
//cond_1
return?super.onKeyDown(keyCode,?event);
}
//cond_0
return?true;
}
可以先把smali轉(zhuǎn)化為dex文件,然后再用
dex2jar轉(zhuǎn)化一次。我之前也遇到過跟你一樣的情況就是這么處理的。祝你好運!
-----------------------------------------------------------------------------------------------------
安卓精英團(tuán)為你解答
安卓精英團(tuán)歡迎各位精英加入
目前還沒有辦法吧,學(xué)習(xí)了下Dalvik匯編,大致可以看懂smali文件了,smali應(yīng)該是在源代碼混淆之后的編譯文件,也挺難的,如果從smali文件入手可以參考下這三篇博文:
另外可從dex文件中獲得混淆的源代碼,網(wǎng)上有很多資料,不過還是有某些apk無法用常規(guī)辦法獲取到dex文件,只能從smali入手,持續(xù)學(xué)習(xí)中~~~
反編譯apk步驟,把文件名的.apk修改為.rar,解壓就看到res,lib等文件,其中classes.dex是需要你反編譯的java代碼。把apk文件修改成.rar文件解壓獲得classes.dex和資源文件。dex2jar-0.0.7.9-SNAPSHOT拖動生成的classes.dex文件到dex2jar.bat突變生成classes.dex.dex2jar.jar文件,解壓.jar文件獲得.class文件,用XJad進(jìn)行反編譯java文件。
IntelliJ IDEA 或者android studio的一個插件。
可以把java轉(zhuǎn)smali,前提是沒有語法錯誤。
本文題目:smail代碼轉(zhuǎn)java,smail代碼翻譯
文章起源:http://jinyejixie.com/article0/dssdgio.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站內(nèi)鏈、企業(yè)網(wǎng)站制作、網(wǎng)站改版、網(wǎng)站維護(hù)、外貿(mào)網(wǎng)站建設(shè)、品牌網(wǎng)站設(shè)計
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)