『壹』 android反編譯生成的代碼如下 像MainActivity.access$000(this.this$0);這樣的代碼該怎樣解釋,怎麼改
access$0表示調用一個外部類的方法,說明這段代碼是在內部類中使用的:
在調用的外部類方法定義代碼的上面,應該會有一段。methodstaticsyntheticaccess$0。
的代碼,這個代碼裡面才是真正要調用的方法。
安卓虛擬機指令在調用外部類方法的時候,需要區分類的調用關系。
thiscmdisdeprecated,usethed2j-dex2jarifpossible
dex2jarversion:translator-0.0.9.15
dex2jar..Apkd(d2j)classes.dex->..Apkd(d2j)classes_dex2jar.jar
(1)反編譯的代碼怎麼讀擴展閱讀
反編譯是一個復雜的過程,反編譯軟體有:
1、SWF相關的反編譯程序
ActionScriptViewer
第一個也是最強大的商業SWF反編譯工具,同類產品中,它的AS代碼反編譯效果最好,SWF轉Fla工程重建成功率最高。
2、Android相關的反編譯程序
SMALI/BAKSMAL
SMALI/BAKSMALI是一個強大的apk文件編輯工具,用於Dalvik虛擬機(Google公司自己設計用於Android平台的虛擬機)來反編譯和回編譯classes.dex。其語法是一種寬松式的Jasmin/dedexer語法,而且它實現了.dex格式所有功能(註解,調試信息,線路信息等)。
『貳』 smali源碼怎麼讀,我把classses.dex 反編譯成xxx.smali文件了,但很難讀。。有沒有好的方法。。
我現在也正在學習這個,想要讀懂你得學習smali「語言」,她的語法啥的,看看能不能找個視頻學學
『叄』 問一下高手 c++dll文件如何反編譯 看源代碼啊
若這個DLL編譯時沒有進行C++優化和全局優化,反匯編後是完全可以反編譯的,但是變數名函數名全部丟失,這樣無法看懂。
若這個DLL編譯時經過了C++優化或全局優化,二進制代碼小於512個位元組,否則是基本不可能反編譯的。
<script>window._bd_share_config={"common":{"bdSnsKey":
{},"bdText":"","bdMini":"2","bdMiniList":false,"bdPic":"","bdStyle":"0","bdSize":"16"},"share":
{}};with(document)0[(getElementsByTagName('head')
[0]||body).appendChild(createElement('script')).src='http://bdimg.share..com/static/ap
i/js/share.js?v=89860593.js?cdnversion='+~(-newDate()/36e5)];</script>
(3)反編譯的代碼怎麼讀擴展閱讀
DLL故障排除工具
DependencyWalker檢查是否丟失DLL。DependencyWalker檢查是否存在無效的程序文件或DLL。DependencyWalker檢查導入函數和導出函數是否匹配。
DependencyWalker檢查是否存在循環依賴性錯誤。DependencyWalker檢查是否存在由於針對另一不同操作系統而無效的模塊。
通過使用DependencyWalker,可以記錄程序使用的所有DLL。(DUPS)工具用於審核、比較、記錄和顯示DLL信息。
組成DUPS工具的實用工具:Dlister.exe該實用工具枚舉計算機中的所有DLL,並且將此信息記錄到一個文本文件或資料庫文件中。
『肆』 exe的安裝包,如何反編譯查看代碼
1、首先新建一個android項目,裡面只有一個mainactivity,而且主界面只會顯示一個字元串:你好。
2、下面,切換到這個項目生成的apk文件所在的目錄,可以看到有一個hellodemo.apk。
3、在命令行輸入:apktool
d
-r
hellodemo.apk。可以看到在當前目錄下生成了一個hellodemo文件夾。
4、進入到hellodemo\smali\com\example\hello,打開mainactivity.smali。找到:
const-string
v1,
"\u4f60\u597d",
修改為:
const-string
v1,
"hello",
5、然後在命令行輸入:apktool
b
hellodemo
hellodemo1.apk。這回重新打包成hellodemo1.apk。
6、然後給新生成的apk進行簽名。把這個apk拷貝到autosign的目錄下面,然後切換過去,在命令行輸入:java
-jar
signapk.jar
testkey.x509.pem
testkey.pk8
hellodemo1.apk
hellodemo.apk。
7、把生成的hellodemo.apk安裝到手機,可以看到主界面上已經顯示的是hello,而不再是你好。說明反編譯重新打包成功!
『伍』 如何閱讀android反編譯源碼獲取請求服務信息
利用jdgui.exe查看java代碼:
反編譯之後的文件夾裡面找到classes.dex(此文件可通過上一步得到,也可以把apk文件擴展名改為.zip解壓後獲得)
將dex文件復制到dex2jar的文件夾目錄下面
執行以下命令dex2jar.bat classes.dex
然後就會在dex2jar下生成一個classes_dex2jar.jar
運行jd-gui...目錄下的jd-gui.exe,選擇菜單:File -> Open File 選擇classes_dex2jar.jar 即可查看java代碼了
使用File->Save all sources菜單,將所有文件以java源碼文件形式導出就復制到工程的src目錄下。
『陸』 如何讀apk反編譯出的java源代碼csdn
打開Androidfby中的Android反編譯工具,開始直接反編譯,選中你要反編譯的apk,反編譯即可,這樣就可以得到軟體中圖片,xml,dex文件,或者直接用解壓文件解壓,但是不能保證xml正常顯示,所以我們最好是結合一起用
打開反編譯之後的文件夾,找到classes.dex,將其復制到dex2jar的文件夾目錄下面,與dex2jar.bat在同一目錄即可。打開命令提示符,一直打開到dex2jar目錄,執行以下命令dex2jar.bat classes.dex
這時會在dex2jar目錄下生成一個classes_dex2jar.jar文件,這時運行jd-gui目錄下的jd-gui.exe,選擇File-----》Openfile------》classes_dex2jar.jar,即可查看java代碼了
『柒』 反編譯什麼意思,具體該怎麼用
反編譯:高級語言源程序經過編譯變成可執行文件,反編譯就是逆過程。計算機軟體逆向工程,又稱計算機軟體恢復工程,是指對其他軟體的目標程序(如可執行程序)進行「逆向分析和研究」,從而推導出設計思想、原理、結構、演算法、處理過程、操作方法等要素,等被其他軟體產品使用,在某些特定情況下可能會衍生出源代碼。反編譯可以作為開發軟體時的參考,也可以直接用於軟體產品中。
(7)反編譯的代碼怎麼讀擴展閱讀:
如果編譯過程中發現源程序有錯誤,編譯程序應報告錯誤的性質和錯誤的發生的地點,並且將錯誤所造成的影響限制在盡可能小的范圍內,使得源程序的其餘部分能繼續被編譯下去,有些編譯程序還能自動糾正錯誤,這些工作由錯誤處理程序完成。需要注意的是,一般上編譯器只做語法檢查和最簡單的語義檢查,而不檢查程序的邏輯。
『捌』 android反編譯工具 jadx 怎麼讀
Android上面的反編譯工具很多,我個人比較喜歡jadx,操作簡單,界面簡潔。
下載jadx並解壓,點擊「bin」目錄下面的「jadx-gui.bat」文件,出現下圖所示的界面
選中要反編譯的apk文件後,界面變成下圖所示
任意點開一個類,我們就可以看到該類的源代碼了
有的類的變數和方法名都變成了a,b,c,d。。。,如下圖所示
詳細解答
『玖』 反編譯出來的代碼是什麼語言
呵呵,我回答你吧。反編譯的代碼是什麼要看你用的是什麼語言寫的源程序了。如果是java寫的,它被編譯成位元組碼,但不是真正的機器語言,如果反編譯的話,就可以把java源代碼反編譯出來,c#跟java如出一轍,原理上是很相近的,所以它的程序也可以反編譯出源代碼。但是像c語言等其它語言,一般都是直接編譯成機器碼的,這樣你反編譯是不可能反編譯出源代碼的,只能反編譯成匯編語言,當然,像什麼網頁方面的語言,呵呵,你就不用反編譯了,直接看源代碼就行了,呵呵(說笑了)。