導航:首頁 > 源碼編譯 > 讀懂反編譯獲得的源碼含義

讀懂反編譯獲得的源碼含義

發布時間:2023-07-10 07:08:02

1. Android反編譯結果分析

access$0表示調用一個外部類的方法,說明你這段代碼是在內部類中使用的

在你調用的外部類方法定義代碼的上面,應該會有一段.method static synthetic access$0
的代碼,這個代碼裡面才是真正你要調用的方法。

安卓虛擬機指令在調用外部類方法的時候,需要區分類的調用關系,即哪個類調用了哪個類
其中,這個
this.this$0在你的文件中應該能找到,搜索this$0即可發現,他應該是指向某個Activity

專業無源代碼的 安卓 APK 反編譯、修改,只有你想不到,沒有做不到
@@ 724949472

2. 反編譯是什麼意思

反編譯做的就是編譯的相反動作。舉例來說,例如一個程序用C語言來寫,寫完之後要編譯成CPU可以識別和運行的機器代碼,也就是生成EXE程序。而反編譯是反過來,把EXE反編譯成編程源代碼,也就是C程序,不過一般反編譯大多數都是從機器碼反編譯為匯編。其他語言的情況基本也是這樣的。至於具體要怎麼用,這個就看你的目的了。但一般情況下是通過反編譯主要是用於沒有源碼的程序的分析,例如破解別人的軟體等。

3. 什麼是逆向工程什麼是反編譯可以根據已經封裝好的程序軟體進行破解分析出源代碼嗎

逆向工程就是根據已有的程序來反推出源代碼以及原來的工程設置,反編譯就是具體的將已經編譯好的程序進行反向工程,從而獲取部分源代碼。一般來說,逆向工程或者反編譯是無法百分之百獲得源代碼的,只能從一定程度上來自源代碼進行猜測,因此根據已經封裝好的程序軟體來進行破解分析出源代碼的可能性並不大,逆向工程的意義並不在於破解源代碼,而是在於了解軟體本身的設計,對於復雜的程序軟體而言破解源代碼的可能性幾乎為零。

4. 源代碼反編譯什麼意思

就是把編譯器編譯後的文件反編譯成源代碼:
比如源代碼是 a+b=2
編譯器變成成 111111
這時候反編譯111111出來就是
a+b=2

5. 安卓反編譯獲得源代碼有什麼作用呢

可以不勞而獲的別人的代碼了呀,比如別人的應用效果很炫,你自己做不出來,然後反編譯出來之後,你懂的,可以參考學習下的嘛

6. 反編譯後有什麼方法讀懂源碼嗎

下載apktool、dex2jar和jd-gui,可以去官網下載
解壓apktool.zip,把需要反編譯的apk文件放到apktool解壓的目錄下
打開「cmd」,滑鼠按住,拖動apktool目錄到cmd界面上,打開到此目錄下,接著輸入命令「 apktool.bat d -f 音樂播放器.apk 音樂播放器 」
也就是 apktool.bat d -f [apk文件] [apk文件夾名]
這時候在apktool目錄下生成「音樂播放器」的子目錄,打開就可以查看資源文件了
接下來反編譯apk為java源碼,解壓dex2jar-0.0.9.15.zip,將要反編譯的APK後綴名改為.rar或 .zip,打開,得到其中的額classes.dex文件,放入dex2jar目錄下
像步驟3那樣,在cmd打開到解壓後的dex2jar目錄下,輸入命令「dex2jar.bat classes.dex」,回車執行命令
在該目錄下會生成一個classes_dex2jar.jar的文件,然後打開jd-gui.exe,用它打開之前生成的classes_dex2jar.jar文件,就可以查看源碼了

7. 反編譯什麼意思

問題一:反編譯是什麼意思啊 用到什麼知識 把軟體轉成源代碼
java 的反編譯很容易
c 的話反編出來也基本看不懂

問題二:"反編譯"是什麼意思? 高級語言源程序經過 編譯 變成可執行文件,反編譯就是逆過程。
但是通常不能把可執行文件變成高級語言源代碼,只能轉換成匯編程序。

問題三:反編譯是什麼意思 高級語言源程序經過 編譯 變成可執行文件,反編譯就是逆過程。但是通常不能把可執行文件變成高級語言源代碼,只能轉換成匯編程序。 反編譯是一個復雜的過程,所以越是高級語言,就越難於反編譯,但目前還是有許許多多的反編譯軟體:通過對他人軟體的目標程序(可執行程序)進行「逆向分析、研究」工作,以推導出他人的軟體產品所使用的思路、原理、結構、演算法、處理過程、運行方法等設計要素,作為自己開頂軟體時的參考,或者直接用於自己的軟體產品中。所以現在大家寫的東西就想辦法保護,不被侵權!
大體看你的理解是正確的。

問題四:反編譯什麼意思,具體該怎麼用? 反編譯做的就是編譯的相反動作。舉例來說,例如一個程序用C語言來寫,寫完之後要編譯成CPU可以識別和運行的機器代碼,也就是生成EXE程序。而反編譯是反過來,把EXE反編譯成編程源代碼,也就是C程序,不過一般反編譯大多數都是從機器碼反編譯為匯編。其他語言的情況基本也是這樣的。至於具體要怎麼用,這個就看你的目的了。但一般情況下是通過反編譯主要是用於沒有源碼的程序的分析,例如破解別人的軟體等。

問題五:java 反編譯到底是什麼? 你理解的反編譯沒有問題,應該是你的插件或操作的問題。
你用 JD-GUI 軟體試試看

問題六:java反編譯是什麼意識 編譯 = 源代碼.java 變成位元組碼 .class
反編譯 = 位元組碼 .class 變成 源代碼.java
=====================頂==========================
去書店看免費書。SCJP的書是一定要看的。因為他太基礎了。
不要指望一次看懂。
學到哪裡就認真的看到哪裡!

問題七:反編譯的一句,幫看看什麼意思 工具/原料
電腦必須裝JAVA
JAVA電腦環境教程
apktool
方法/步驟
1. 配置好JAVA環境變數,下載:apktool 解壓的文件放在C盤根目錄的apktool文件夾里(apktool文件夾自己創立)
打開命令提示符,(開始-運行-輸入cmd)
2. 輸入:cd \apktool 系統指令到了apktool文件夾(這里就是為什麼要把解壓的apktool解壓的文件放到apktool文件夾的原因,當然你也可以自命名文件夾的名稱,那麼比如arc,那麼指令就變成了:cd \arc 前提是你必須把apktool解壓的文件放到這個文件夾裡面)
3. 使用RE管理器把系統裡面的framework-res.apk 與 SystemUI.apk 提取出來放在apktool文件夾裡面
4. 如果只是想反編譯framework-res.apk
輸入apktool if framework-res.apk(框架的建立)
5. 開始最重要的反編譯,輸入指令,apktool d framework-res.apk
(反編輯的APK一定要用沒換過圖片的,否則回編輯失敗)
6. 最後反編譯完成
7. 修改代碼完成後,輸入代碼:apktool d framework-res 即可完成回編譯
8. 如果反編譯的是系統文件,比如,SystemUI.apk 那麼必須進行掛載框架,反編譯時,必須敲入一下命令:(然後再重復4-7步驟)
apktool if framework-res.apk
apktool if SystemUI.apk
9. 對於三星手機(比如9100、9108/9100G),如果反編譯SystemUI.apk要敲入一下命令進行框架掛載apktool if framework-res.apk
apktool if twframework-res.apk
apktool if SystemUI.apk
10. 回編譯的命令是 apktool b XXX (沒有後面的apk後綴)反編譯的命令是 apktool d xxx (有後面的apk)

問題八:Java反編譯工具有什麼作用? 就是把編譯好的JAVA CLASS文件再還原成JAVA代碼!

問題九:什麼是反編譯工具?反編譯工具有什麼用? 簡單來說,就是把一個已有的程序轉化為編程的命令行。至於使用反編譯的原因么……有的是為了研究一個程序以達到吸取別人的編程思路和經驗。當然也有的是為了盜版。或者是為了竊取別人的軟體。

8. 什麼是Java代碼的編譯與反編譯

Java代碼的編譯與反編譯

2017-02-21Hollis數盟

一、什麼是編譯

1、利用編譯程序從源語言編寫的源程序產生目標程序的過程。

2、用編譯程序產生目標程序的動作。編譯就是把高級語言變成計算機可以識別的2進制語言,計算機只認識1和0,編譯程序把人們熟悉的語言換成2進制的。編譯程序把一個源程序翻譯成目標程序的工作過程分為五個階段:詞法分析;語法分析;語義檢查和中間代碼生成;代碼優化;目標代碼生成。主要是進行詞法分析和語法分析,又稱為源程序分析,分析過程中發現有語法錯誤,給出提示信息。

二、什麼是反編譯

計算機軟體反向工程(Reverseengineering)也稱為計算機軟體還原工程,是指通過對他人軟體的目標程序(可執行程序)進行「逆向分析、研究」工作,以推導出他人的軟體產品所使用的思路、原理、結構、演算法、處理過程、運行方法等設計要素,某些特定情況下可能推導出源代碼。反編譯作為自己開發軟體時的參考,或者直接用於自己的軟體產品中。

三、Java類的編譯與反編譯

我們在最初學習Java的時候,會接觸到兩個命令:javac和java,那個時候我們就知道,javac是用來編譯Java類的,就是將我們寫好的helloworld.java文件編譯成helloworld.class文件。

class文件打破了C或者C++等語言所遵循的傳統,使用這些傳統語言寫的程序通常首先被編譯,然後被連接成單獨的、專門支持特定硬體平台和操作系統的二進制文件。通常情況下,一個平台上的二進制可執行文件不能在其他平台上工作。而Javaclass文件是可以運行在任何支持Java虛擬機的硬體平台和操作系統上的二進制文件。

那麼反編譯呢,就是通過helloworld.class文件得到java文件(或者說是程序員能看懂的Java文件)

四、什麼時候會用到反編譯

1、我們只有一個類的class文件,但是我們又看不懂Java的class文件,那麼我們可以把它反編譯成我們可以看得懂的文件。

2、學習Java過程中,JDK的每個版本都會加入越來越多的語法糖,有些時候我們想知道Java一些實現細節,我們可以藉助反編譯。

五、反編譯工具

1、javap

2、Jad:官網(牆裂推薦)

客戶端:

可以在官網下載可執行文件,找到對應的操作系統的對應版本,然後進行安裝使用。

因為我使用的是linux操作系統,所以我下載的是Linux版本的工具,這個工具下載好之後會有一個執行文件,只要在執行文件所在目錄執行./jadhelloworld.class就會在當前目錄下生成helloworld.jad文件,該文件里就是我們很熟悉的Java代碼

Eclipse插件:

下載地址在官網下載插件的jar包,然後將jar包放到eclipse的plugins目錄下『在打開Eclipse,Eclipse->Window->Preferences->Java,此時你會發現會比原來多了一個JadClipse的選項,單擊,在Pathtodecompiler中輸入你剛才放置jad.exe的位置,也可以制定臨時文件的目錄。當然在JadClipse下還有一些子選項,如Debug,Directives等,按照默認配置即可。基本配置完畢後,我們可以查看一下class文件的默認打開方式,Eclipse->Window->Preferences->General->Editors->FileAssociations我們可以看到class文件的打開方式有兩個,JadClipse和Eclipse自帶的ClassFileViewer,而JadClipse是默認的。全部配置完成,下面我們可以查看源碼了,選擇需要查看的類,按F3即可查看源碼

9. 反編譯什麼意思,具體該怎麼用

反編譯:高級語言源程序經過編譯變成可執行文件,反編譯就是逆過程。計算機軟體逆向工程,又稱計算機軟體恢復工程,是指對其他軟體的目標程序(如可執行程序)進行「逆向分析和研究」,從而推導出設計思想、原理、結構、演算法、處理過程、操作方法等要素,等被其他軟體產品使用,在某些特定情況下可能會衍生出源代碼。反編譯可以作為開發軟體時的參考,也可以直接用於軟體產品中。

(9)讀懂反編譯獲得的源碼含義擴展閱讀:

如果編譯過程中發現源程序有錯誤,編譯程序應報告錯誤的性質和錯誤的發生的地點,並且將錯誤所造成的影響限制在盡可能小的范圍內,使得源程序的其餘部分能繼續被編譯下去,有些編譯程序還能自動糾正錯誤,這些工作由錯誤處理程序完成。需要注意的是,一般上編譯器只做語法檢查和最簡單的語義檢查,而不檢查程序的邏輯。

10. exe反編譯出來的代碼看不懂

1、EXE文件可以通過步驟來反編譯成源碼,具體步驟如下:在網路上搜索下載反編譯工具ILSpy,ILspy是一個開源的. net反編譯軟體,使用十分方便。 2、解壓後如圖,雙擊. exe文件打開解壓工具。 3、2、選擇file,點擊「打開」,選擇要反編譯的文件,點擊「打開」,就可以看到源碼了! 3、如果想把源碼保存下來,自己在源碼的基礎上修改,點擊"file"下的「Save code...」,保存即可,保存完的文件如圖4、如需用vs打開反編譯後的源碼,只需要打開這個. csproj文件即可,其中VS為Microsoft Visual Studio是VS的全稱。 4、VS是美國微軟公司的開發工具包系列產品。 5、(10)讀懂反編譯獲得的源碼含義擴展閱讀:反編譯也稱為計算機軟體還原工程,是指通過對他人軟體的目標程序(比如可執行程序)進行「逆向分析、研究」工作,以推導出他人的軟體產品所使用的思路、原理、結構、演算法、處理過程、運行方法等設計要素,某些特定情況下可能推導出源代碼。 6、exe是編譯好的程序文件 要看結構就得反編譯 但是通常不能把可執行文件變成高級語言源代碼,只能轉換成匯編程序。 7、 所以要要看結構不止要會反編譯 還得精通匯編語言。
查看更多

閱讀全文

與讀懂反編譯獲得的源碼含義相關的資料

熱點內容
dvd光碟存儲漢子演算法 瀏覽:757
蘋果郵件無法連接伺服器地址 瀏覽:962
phpffmpeg轉碼 瀏覽:671
長沙好玩的解壓項目 瀏覽:144
專屬學情分析報告是什麼app 瀏覽:564
php工程部署 瀏覽:833
android全屏透明 瀏覽:736
阿里雲伺服器已開通怎麼辦 瀏覽:803
光遇為什麼登錄時伺服器已滿 瀏覽:302
PDF分析 瀏覽:484
h3c光纖全工半全工設置命令 瀏覽:143
公司法pdf下載 瀏覽:381
linuxmarkdown 瀏覽:350
華為手機怎麼多選文件夾 瀏覽:683
如何取消命令方塊指令 瀏覽:349
風翼app為什麼進不去了 瀏覽:778
im4java壓縮圖片 瀏覽:362
數據查詢網站源碼 瀏覽:150
伊克塞爾文檔怎麼進行加密 瀏覽:892
app轉賬是什麼 瀏覽:163