㈠ 怎麼吧二進制文件轉化成c語言啊
估計不行,編譯過程是不可逆的,機器碼只能反匯編一些硬體指令。例如mov ,push ,pop等,
一般高手都是這樣逆推理解程序的作用,從而破解一些程序。聽說現在的C#是基於一種CLR機制,說有可能逆反源代碼,不知道是不是。不知道你問這個想做神馬?做黑客嗎。能力有限只能答復你這么多了。
㈡ 怎麼把c語言編的程序轉變成apk的安裝包
嚯嚯嚯 如果你有 程序的源代碼就簡單了
1、搭建Java開發環境,搭建ADT開發環境
2、根據c代碼功能設計應用界面,就是一些簡簡單單的xml文件配置的啦
3、定義界面響應事件,就是一個Java函數啦,進了函數里你想幹啥就幹啥了(想幹啥就幹啥不包含方法的輸入輸出部分咯)
3、在方法里用 Java語法重新實現c的每個方法,不好實現的想辦法實現
4、編譯、打包、簽名 再找個Android手機拷貝進去,安裝,執行,出來啦,簡單吧
當然如果你沒有源代碼的話就要稍復雜些,當然不會復雜很多
就是在上面第1步前加些步驟:
1、反編譯二進制文件得到程序源代碼
2、反編譯結果一般不怎麼好看,對照著程序功能和反編譯結果好好整理整理得到漂亮的源代碼
3、得到源代碼後就又簡單了參考上面的步驟而已
============================================================
以上是開玩笑的,簡單的說就是參考C代碼開發 Android 應用,已經於C語言沒關系了
㈢ golang生成的二進制可以反編譯嗎
和C/C++編譯的程序一樣,都是機器碼,如果你能反編譯C的就能反編譯Go的。
可以反編譯成匯編
㈣ 問一下高手 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>
(4)c二進制文件反編譯擴展閱讀
DLL故障排除工具
DependencyWalker檢查是否丟失DLL。DependencyWalker檢查是否存在無效的程序文件或DLL。DependencyWalker檢查導入函數和導出函數是否匹配。
DependencyWalker檢查是否存在循環依賴性錯誤。DependencyWalker檢查是否存在由於針對另一不同操作系統而無效的模塊。
通過使用DependencyWalker,可以記錄程序使用的所有DLL。(DUPS)工具用於審核、比較、記錄和顯示DLL信息。
組成DUPS工具的實用工具:Dlister.exe該實用工具枚舉計算機中的所有DLL,並且將此信息記錄到一個文本文件或資料庫文件中。
㈤ 用C語言編寫了一個程序,源代碼和工程文件都弄丟了,只剩下.exe的二進製程序文件。怎麼反編譯出.c
這個確實很困難。如果是DOS程序還好辦,如果是Windows程序,其反匯編的工作量相當巨大。而且這僅是反匯編,得到的只是勉強能用的匯編代碼,而從匯編代碼再反工程到.C,真的是件很困難的事。程序簡單還好辦,復雜的就真是件費力的事了。放棄吧。
如果是自己寫的程序,只要整個設計還記得,那就重新寫一遍吧。
㈥ 誰能幫我把一個hex文件反編譯為c語言文件
文件有兩種,一種是文本文件,一種是程序二進制文件,不管哪種文件都可以用十六進制編碼來顯示,稱為hex文件。
1、文本Hex文件一般不需要轉成C語言,更多的是程序二進制文件,用十六進制顯示,可以轉換成C語言,一般使用相應的反匯編程序來實現,這方面的工具很多,不同的平台略有不同。Windows平台一般常用的OllyDbg、Windbg、IDA,linux平台使用最多的是GDB和Linux版的IDA。
OllyDbg,簡稱OD,一般是軟體逆向工程愛好者,最先使用的一個工具,但是因為當下不在更新,所以一般用一般用於學習使用,下圖中左上角的區域即為反匯編區域 ,用戶可以根據匯編指令,分析程序演算法,然後自己編寫代碼。
通過這個實例 ,相信應該能理解一個大致的流程啦。
㈦ 怎麼把二進制代碼還原
反編譯也要看是什麼文件才行啊並不是所有的二進制文件都可以進行反編譯的```有的二進制文件(.EXE文件)可以用反匯編進行修改```但是也不能把它們的源碼給反出來。別外,你要知道一點,編程語言有好多種類的,C、C++、C#、VB、PB等各種語言都可以寫成二進制的文件。。但是各種語言的結構和演算法又不一樣,但是又可以寫出相同功能的軟體。。
。。比如說,一個數學計算器軟體,以上的語言都可以寫一個功能和運行方式等都一樣的計算器出來,但是寫法是肯定不一樣的,但是當你反編譯時,你又知道它是用什麼語言寫的呢?。。。
。。舉個簡單的例子,我們打字的時候可以用拼音輸入法,也可以用五筆輸入法,也可以用手寫板輸入,但是輸出來的字都是一樣的,當讓你判斷這些字是用什麼方法輸入的時候,你什麼可能判斷得出來?
㈧ 怎麼把二進制文件反編譯
下載個反匯編的小軟體:C51fby.exe ,就可以反編譯成匯編程序了。不過,出來的文件會讓你看得頭大。
㈨ 哪位大哥研究過UNIX下C的反編譯,敬請指點
C/C++和C#、JAVA不一樣。像C#、JAVA這種解釋型語言是運行在虛擬機上的,建立在虛擬機規范之上,反編譯過程較容易實現。
而C/C++更接近底層系統實現和依賴於編譯器,不同編譯器生成的二進制代碼會相對不同平台有所區別,甚至同一操作系統不同系列的編譯器都會有一點差異,比如在linux下編譯C/C++得到的二進制代碼就很難或無法運行在windows平台上,反之亦然
所以反編譯很困難,現在大多數反編譯軟體都只能反編譯成匯編。有一些號稱可以反編譯成C或者C++的工具,但反編譯出來的結果大多看不明白,還不如用匯編。