㈠ 什麼叫反匯編如何反匯編
通常,編寫程序是利用高級語言如C,Pascal等語言進行編程的,後再經過編譯程序生成可以 被計算機系統 直接執行的執行文件。反匯編即是指將這些執行文件反編譯還原成 匯編語言或其他 高級語言。但通常反編譯出來的程序與原程序會存在許多不同,雖然執行效果相同,但程序代碼 會發生很大的變化,非編程高手很難讀懂。
另外,有許多程序也可以 進行逆向操作即 反編譯 以求修改,例如Flash的文件生成的SWF文件,也可以被反匯編成Flash原碼,但會發現與原程序有很大變化。
反匯編可以通過反匯編的一些軟體實現吧,好象DEBUG也能反匯編的 DEBUG 文件位置 -u,這樣好象就能實現了吧
㈡ 什麼是匯編與反匯編,具體用途在於什麼
在計算機專業里「匯編」有作為名詞用的和作為動詞用的兩種意思。做名詞時,是「匯編語言」的簡稱,它是一種把CPU可執行的指令用符號化表示出來的一種語言,是繼「機器語言」後的第二代語言(現在常用的C、Basic、Java等屬於第三代語言)。作為動詞用的時候是指把第三代語言程序轉變為匯編語言程序的過程。懂匯編語言的人可以通過修改高級語言匯編出來的程序修改,使它具有更高的運行效率。
「反匯編」是指把可執行程序(如*.exe或*.DLL)轉化為匯編語言程序的過程。通過反匯編可以把你沒有源代碼的可執行程序變成可以閱讀的匯編語言程序,你可以從中修改(如:破解密碼)或找出它的運做過程(如:找出病毒的感染過程、藏身位置、發作條件等,用手工去除殺毒軟體對付不了的病毒)。不過要小心的是不要因為破解人家的軟體觸犯了法律!
㈢ 反編譯出源代碼後,怎樣修改並且編譯回去
反編譯完成並且修改代碼完成後,輸入代碼:apktool d framework-res 即可完成回編譯
回編譯後的新的 apk在framework/dis 文件夾裡面
如果反編譯的是系統文件,比如,SystemUI.apk 那麼必須進行掛載框架,反編譯時,必須敲入一下命令:(然後再重復7-9步驟)
apktool if framework-res.apk
apktool if SystemUI.apk
對於三星手機(比如9100、9108/9100G),如果反編譯SystemUI.apk要敲入一下命令進行框架掛載apktool if framework-res.apk
apktool if twframework-res.apk
apktool if SystemUI.apk
回編譯的命令是 apktool b XXX (沒有後面的apk後綴)反編譯的命令是 apktool d xxx (有後面的apk)
㈣ 匯編與反匯編
可以的,但是反編譯的效果最常見的就是反編譯成匯編語言,但是說你寫一個C的程序已經編譯程.exe文件了,然後又想用工具對.exe文件進行反編譯,那麼就只能反編譯到匯編語言的狀態,不可能反編譯到C的狀態,雖然現在網上有些人能反匯編成C,但是效果也不好,有很多的錯誤。
編譯的過程是不可逆的,就好像你把豬殺了做成香腸,然後你又想把想把香腸變成豬一樣。最多能把香腸又變成肉末,變成豬你聽過嗎?道理就這樣
㈤ 反匯編是什麼
反匯編:把目標代碼轉為匯編代碼的過程。
通常,編寫程序是利用高級語言如C,Pascal等高級語言進行編程的,然後再經過編譯程序生成可以被計算機系統直接執行的文件。反匯編即是指將這些執行文件反編譯還原成匯編語言或其他高級語言。但通常反編譯出來的程序與原程序會存在許多不同,雖然執行效果相同,但程序代碼 會發生很大的變化,非編程高手很難讀懂。
另外,有許多程序也可以 進行逆向操作即反編譯以求修改,例如Flash的文件生成的SWF文件,也可以被反匯編成Flash原碼,但會發現與原程序有很大變化。反匯編可以通過反匯編的一些軟體實現DEBUG也能反匯編的,DEBUG文件位置-u,這樣就能實現了。
靜態反匯編是從反匯編出來的程序清單上分析,從提示信息入手進行分析。目前,大多數軟體在設計時,都採用了人機對話方式。所謂人機對話,即在軟體運行過程中,需要由用戶選擇的地方,軟體即顯示相應的提示信息,並等待用戶按鍵選擇。而在執行完某一段程序之後,便顯示一串提示信息,以反映該段程序運行後的狀態,是正常運行,還是出現錯誤,或者提示用戶進行下一步工作的幫助信息。為此,如果我們對靜態反匯編出來的程序清單進行閱讀,可了解軟體的編程思路,以便順利破解。
常用的靜態分析工具是W32DASM、OllyDbg IDA和HIEW等。簡單地講,反匯編可以看到軟體作者的編程思路,可以破解部分資源,可以將軟體漢化等,例如找到它是如何注冊的,從而解出它的注冊碼。
㈥ 反編譯和反匯編有什麼區別
反匯編是把機器碼翻譯成的匯編;
反編譯是把機器碼翻譯成高級語言的過程,但通常要有其他線索輔助才能完成。
㈦ 反編譯之後無法回編譯是怎麼回事
使用apktool進行apk的反匯編時,沒有出現問題(有問題的自行解決),
但是進行回匯編時出現:
F:\apktool>apktool b Hello Hello.apk
Exception in thread "main" brut.androlib.AndrolibException: brut.directory.PathN
otExist: apktool.yml
at brut.androlib.Androlib.readMetaFile(Unknown Source)
at brut.androlib.Androlib.build(Unknown Source)
at brut.androlib.Androlib.build(Unknown Source)
at brut.apktool.Main.cmdBuild(Unknown Source)
at brut.apktool.Main.main(Unknown Source)
Caused by: brut.directory.PathNotExist: apktool.yml
at brut.directory.AbstractDirectory.getFileInput(Unknown Source)
... 5 more
經驗證是,反匯編時沒有生成apktool.yml
進行反匯編時,改用命令apktool d -r xx.apk xx便可以解決(加上了-r選項)
㈧ 反匯編和反編譯得差別
匯編是將匯編語言源程序翻譯成目標程序的過程;
編譯是將高級語言源程序翻譯成目標程序的過程;
反匯編是匯編的逆過程,即將目標程序翻譯成匯編程序的過程;
反編譯是編譯的逆過程。