導航:首頁 > 源碼編譯 > 生成資源的dll反編譯不了

生成資源的dll反編譯不了

發布時間:2023-01-08 11:50:16

1. dll真的不能反編譯c語言嗎我嘗試好多方法都不性,世上有沒有人能解決這問題

沒有!
C語言編譯時,編譯器對應不同的硬體平台,行進不同的機器指令編譯,也就是說,即使是可移植程序(源碼可遷移到同硬體平台進行編譯),編譯後的機器指令也是各不相同的。打個比方,在I386指令系統下編譯源碼,得到的機器碼和在X64下編譯的機器碼完全不一樣!你說,怎麼個反編譯法?

2. matlab生成的dll文件怎麼反編譯

通常在實現圖像處理的演算法時我們使用Matlab編程,因為它具有豐富的庫函數以及操作方便,然而在工程項目中通常使用C/C++語言。如果我們將matlab代碼完全重寫成C++代碼會很麻煩,最好的辦法是藉助matlab與C/C++介面將.m程序轉成dll文件!
一、使用matlab將.m轉成dll文件
1、在命令行中輸入mex -setup
提示你是否要在本地安裝matlab compilers,然後選擇compiler類型,有matlab自帶的編輯器以及檢測到的其他編輯器,比如「Microsoft Visual C/C++ version 6.0 in E:\Program Files\Microsoft Visual Studio」,根據自己實際情況選擇。
2、在命令行中輸入mbuild -setup
這里的選項和上面類似,依次選擇環境確定。
3、生成dll文件
一句命令mcc -W cpplib:add -T link:lib add.m
前面的add表示生成的dll文件名,後面的add.m顧名思義是.m文件名。生成後會多出8個文件,有用的是add.ctfadd.dll add.lib add.h4個文件,據說新版的Matlab不會生成.ctf文件。

3. 如何讓C++寫的dll不被反編譯

簡單回答:
1、理論上不能保證程序不被反編譯。
2、一些加殼軟體可以做到加大被反編譯的難度,迫使操作者先解殼才能做反編譯,但同時會降低程序的運行效率。
3、當前的技術條件下,一般而言,反編譯出的「源代碼」一般而言並不能作學習,參考的源代碼,多數情況下只能用於分析區部片斷分析,主要用於破解或小范圍類修改。
4、一些簡單的加殼軟體:ASPACK、UPX、PECompact等,如果想嘗試,自個去搜索下載後試試。加殼後的軟體還有可能被某些殺軟當成惡意軟體。
5、這也正是很多對安全要求高的系統使用「三層架構」(類似訪問網頁/網站)的原因。因為在三層架構中,核心軟體、數據不被用戶直接接觸。

************以下是相關知識,有耐心可看看************
一、關於反編譯與破解。
1、以當前的技術來說,理論上,所有的程序都存在被反編譯的可能。
2、但是反編譯出來的代碼並不一定能被技術不高的人看懂,因為反編譯出來的「源代碼」與編寫者寫出的原代碼在80%以上是不同的。這是因為反編譯的原理是根據機器碼(或中間碼),讓機算機進行反向生成高級語言,而不是找出編寫者原有的代碼,找出原有的代碼是不可能的。反編譯出來的代碼在可理解性、可閱讀性上,一般而言是非常差的。
3、但是,這並不代碼反編譯出來的「源代碼」沒有價值,對於內行來說,分析反編譯出來的代碼中的某些特定片段,就可以對程序進行破解,找出程序的關鍵點、口令、數據來源等等。因為破壞總是比建設要容易,分析局部比規劃全局要容易得多。
4、如果考慮到被反編譯將關鍵代碼進行特殊處理的話,可能加大相關的難度,比如將特定的字元串分成多個字串在程序中存儲,或是進行加密後存儲,在使用時合成/生成,不用時即時在內存中清除等等……。
5、反編譯後對關鍵部分的定位往往是根據字元串來進行的,比如在用戶沒有注冊時,跳出一行對話,告訴用戶「請注冊後再使用」,破解者就會在反編譯後追查這個字串所在,然後查到這個字串對應的變數與地址,再追查調用這個變數或地址的代碼,然後再延伸查到什麼情況下調用「調用這個變數或地址的代碼」,最後,設定跳過語句。這就是最典型的破解注冊的方法。破解完再將修改了的「源代碼」進行編譯,或是根據「源代碼」直接修正程序中對應的代碼,OK,破解版正式完成。
二、關於加殼。
1、理論上,同樣,沒有破解不了的殼。
2、但是有些加殼軟體使用了一些特別的方法,使得破解殼的難度變得非常難,技術不夠的朋友很難下手,比如將原程序代碼拆分、變型、植入自校驗等等技術。
3、但加殼軟體同樣是程序,它自身就存在被反編的可能,加了殼可以類比成,在一個木箱外面再加個保險櫃。但千萬別以為保險櫃就一定是保險的,面對各種技術開鎖、暴力開箱,再強的保險櫃也只能是加大難度而已。
4、越復雜的加殼,就會使得程序運行時效率降得越低,這是必然的,因為原本只關注目標任務的程序現在還要時時提防著被提取、被監測。

4. 問一下高手 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)生成資源的dll反編譯不了擴展閱讀

DLL故障排除工具

DependencyWalker檢查是否丟失DLL。DependencyWalker檢查是否存在無效的程序文件或DLL。DependencyWalker檢查導入函數和導出函數是否匹配。

DependencyWalker檢查是否存在循環依賴性錯誤。DependencyWalker檢查是否存在由於針對另一不同操作系統而無效的模塊。

通過使用DependencyWalker,可以記錄程序使用的所有DLL。(DUPS)工具用於審核、比較、記錄和顯示DLL信息。

組成DUPS工具的實用工具:Dlister.exe該實用工具枚舉計算機中的所有DLL,並且將此信息記錄到一個文本文件或資料庫文件中。

5. 請教,如何反編譯dll文件

如何反編譯dll,如何將反編譯的文件生成dll。
反編譯dll
安裝vs,最好是最新版本的,如果要反編譯的dll使用新版本創建的,也能反編譯成功。下面是詳細的反編譯步驟。
1.打開C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin\ildasm.exe,這個程序是微軟提供的反編譯軟體,打開要反編譯的dll。
2.然後選擇文件-轉儲,這時會彈出轉儲選項的對話框(一般按照默認即可),設定好以後選擇轉儲位置。
3.完成後會生成以res和il結尾的文件,還有可能包含以.resources結尾的文件。這樣我們就將dll反編譯完成。根據需要修改il文件。
如何反編譯.resources文件呢
選擇開始-所有程序-vs安裝文件夾-vs tools-開發人員命令提示符,然後在彈出的dos窗口下輸入resgen 1.resources 1.resx,這樣resources文件變轉化成可以編輯的resx文件。
組合dll
先說如何將resx文件組合成resources文件
選擇開始-所有程序-vs安裝文件夾-vs tools-開發人員命令提示符,然後在彈出的dos窗口下輸入resgen 1.resx 1.resources,這樣resx文件變轉化成可以編輯的resources文件。
將反編譯後的文件組合成dll文件
選擇開始-所有程序-vs安裝文件夾-vs tools-開發人員命令提示符,然後在彈出的dos窗口下輸入ilasm /dll/resource=1.res 1.il,注意res文件和il文件位置不可以改變,這樣就生成了想要的dll。
當然如果對生成的dll不放心,可以使用.net Reflector進行查看。希望你能成功

6. 無論用哪個反編譯都無法編譯出的DLL

dll和exe文件一樣都是二進制文件,就是你所說的「源碼」經過編譯連接產生的文件,是不可以也不可能查看到源碼的,因為源碼已經被編譯了
換個角度想,要是能被查看到源碼,那所有的軟體(包括操作系統)怎麼保護版權?又何來的開源,閉源之說?所有的軟體都是開源的了

7. dll文件怎麼打開編輯修改DLL文件怎麼反編譯

1、打開騰訊電腦管家找到工具箱;
2、打開工具箱找到「電腦診所」
3、打開電腦診所後在右上角的搜索內輸入dlL找到需要修復的文件後點擊一鍵修復或者可以點擊詳情查看原因並點擊立即修復。

8. C#的dll無法反編譯

Red Gate's .NET Reflector

9. 問一下高手 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>

(9)生成資源的dll反編譯不了擴展閱讀

DLL故障排除工具

DependencyWalker檢查是否丟失DLL。DependencyWalker檢查是否存在無效的程序文件或DLL。DependencyWalker檢查導入函數和導出函數是否匹配。

DependencyWalker檢查是否存在循環依賴性錯誤。DependencyWalker檢查是否存在由於針對另一不同操作系統而無效的模塊。

通過使用DependencyWalker,可以記錄程序使用的所有DLL。(DUPS)工具用於審核、比較、記錄和顯示DLL信息。

組成DUPS工具的實用工具:Dlister.exe該實用工具枚舉計算機中的所有DLL,並且將此信息記錄到一個文本文件或資料庫文件中。

10. 聽說VB製作程序,生成的EXE文件,別人很容易破解反編譯,但VB生成的DLL文件別人是無法破解反編譯的。

不是沒辦法反編譯 而是因為 vb寫的dll 純粹是給vb等一些語言調用的 其他語言的沒用 既然沒用 反編譯做什麼 誰會這么的無聊
vb 的 dll 可以被vb vbs 等調用

閱讀全文

與生成資源的dll反編譯不了相關的資料

熱點內容
加密門禁卡寫入成功無法開門 瀏覽:447
齒輪傳動pdf 瀏覽:35
alpinelinux 瀏覽:148
手機端app的掃碼功能在哪裡 瀏覽:225
少兒編程中小班英語教案 瀏覽:450
鎖屏密碼加密手機怎麼解除 瀏覽:203
linuxlostfound 瀏覽:132
征途伺服器ip地址 瀏覽:328
git提交代碼命令行 瀏覽:163
什麼叫瀏覽器伺服器結構 瀏覽:155
於謙聊天哪個app 瀏覽:447
小鵬汽車nlp演算法工程師薪資 瀏覽:879
代碼加密與隱藏 瀏覽:647
fordfulkerson演算法 瀏覽:350
京東熱app在哪裡可以下載 瀏覽:874
彩報圖書app哪個好 瀏覽:301
新君威20壓縮比 瀏覽:186
手機php整站 瀏覽:915
windows路由跳轉命令 瀏覽:472
量子遺傳演算法程序 瀏覽:222