反編譯dll查看代碼
Ⅰ 如何查看dll文件的內容
1、在dll的文件上點擊右鍵,就可以看到右鍵的下拉菜單中可以看到它的程序右鍵菜單。
Ⅱ 【急】dll文件中的源代碼如何查看
dll是封裝了的代碼 不能查看
dll原本就是為了代碼的保密才設計出來的
別白費心思了
Ⅲ dll文件有什麼方法可以查看源代碼有幾個dll文件別人給的,想看看裡面代碼是具體怎麼寫的大神啊!
DLL 變成高級語言的過程 叫 反編譯(不是反匯編...兩者區別很大) ....
C/C++ DLL 別想了 ... .net還差不多 還原 IL中間碼 為 源代碼....
有個反編譯工具叫 Reflector ... 專門搞這個的 ...
反匯編 的話 用 IDAPro/OllyDbg
Ⅳ 怎樣查看dll的代碼
DLL文件即動態鏈接庫文件,是一種可執行文件,它允許程序共享執行特殊任務所必需的代碼和其他資源。Windows提供的DLL文件中包含了允許基於Windows的程序在Windows環境下操作的許多函數和資源。
DLL多數情況下是帶有DLL擴展名的文件,但也可能是EXE或其他擴展名。它們向運行於Windows操作系統下的程序提供代碼、數據或函數。程序可根據DLL文件中的指令打開、啟用、查詢、禁用和關閉驅動程序。
DLL的全稱是DynamicLinkLibrary,中文叫做「動態鏈接文件」。在Windows操作系統中,DLL對於程序執行是非常重要的,因為程序在執行的時候,必須鏈接到DLL文件,才能夠正確地運行。而有些DLL文件可以被許多程序共用。因此,程序設計人員可以利用DLL文件,使程序不至於太過巨大。但是當安裝的程序越來越多,DLL文件也就會越來越多,如果當你刪除程序的時候,沒有用的DLL文件沒有被刪除的話,久而久之就造成系統的負擔了。
DLL是動態連接庫。使用動態連接庫的一些好處是:
1.多個應用程序共享代碼和數據:比如Office軟體的各個組成部分有相似的外觀和功能,這就是通過共享動態連接庫實現的。
2.在鉤子程序過濾系統消息時必須使用動態連接庫。
3.動態連接庫以一種自然的方式將一個大的應用程序劃分為幾個小的模塊,有利於小組內部成員的分工與合作。而且,各個模塊可以獨立升級。如果小組中的一個成員開發了一組實用常式,他就可以把這些常式放在一個動態連接庫中,讓小組的其他成員使用。
4.為了實現應用程序的國際化,往往需要使用動態連接庫。使用動態連接庫可以將針對某一國家、語言的信息存放在其中。對於不同的版本,使用不同的動態連接庫。在使用AppWizard生成應用程序時,我們可以指定資源文件使用的語言,這就是通過提供不同的動態連接庫實現的。
VC++、C++Builder、Delphi都可以編寫DLL文件。VisualBasic5.0以上版本也可以編寫一種特殊的DLL,即ActiveXDLL。
DLL不是獨立運行的程序,它是某個程序的一個部分,它只能由所屬的程序調用。用戶不能,也不需要打開它。
DLL函數查看器V2.0,但不建議修改。 代碼是經過加密的非專業人士是看不懂的!
Ⅳ DLL文件怎麼樣才能查看其代碼
無法查看源代碼,DLL文件和pe2的EXE文件格式是一樣的。只是沒有入口函數winmain,文件名也不一樣。它是dynamic link library的縮寫,是為了程序動態調用的,也就是說可以不止一個程序調用它,通過這種方法,可以有效地避免浪費空間、浪費開發資源,和有效地使程序風格統一。如果你想看源代碼,只能通過反匯編工具查看他的匯編碼。別無他法。
Ⅵ 高手 c++dll文件如何反編譯 看源代碼
除非是未編譯成機器語言的語言像java,否則想c/c++等編譯出來的目標碼只能反編譯成匯編,查看源碼幾乎是不可能的。
既然dll編寫者沒有公開源碼,肯定是有商業目的或其他原因,如果要學習或在自己的程序中使用,建議還是找開源的替代品吧!
Ⅶ 在反匯編裡面怎麼查看調用dll的代碼
如果你是希望使用修改、破解過的某個dll,那可以直接把名字改成原來那個就可以了。如果你希望改調用者,那問題比較難辦,給你一個動態調用dll和匯編程序對照的例子,你從反匯編裡面查找相應匯編語句修改,注意修改過的dll,其導出的函數與原先dll導出的函數形式上不能有差異。
15:
int
(*pFun)(int
n);
16:
HMODULE
a=LoadLibrary("TestDll.dll");
0040B7B8
mov
esi,esp
0040B7BA
push
offset
string
"TestDll.dll"
(00420034)
0040B7BF
call
dword
ptr
[__imp__LoadLibraryA@4
(0042513c)]
0040B7C5
cmp
esi,esp
0040B7C7
call
__chkesp
(00401140)
0040B7CC
mov
dword
ptr
[ebp-8],eax
17:
pFun=(int
(*)(int))GetProcAddress(a,"?func2@@YAHH@Z");
0040B7CF
mov
esi,esp
0040B7D1
push
offset
string
"?func2@@YAHH@Z"
(00420020)
0040B7D6
mov
eax,dword
ptr
[ebp-8]
0040B7D9
push
eax
0040B7DA
call
dword
ptr
[__imp__GetProcAddress@8
(00425138)]
0040B7E0
cmp
esi,esp
0040B7E2
call
__chkesp
(00401140)
0040B7E7
mov
dword
ptr
[ebp-4],eax
ps,你可以嘗試用win32asm反匯編
Ⅷ dll文件反編譯成源代碼
1、首先在反編譯工具中打開DLL文件。
Ⅸ 請教,如何反編譯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進行查看。希望你能成功
Ⅹ 如何查看一個DLL文件中具體的函數及其代碼
沒有mpbin工具的話,去網上下載
在cmd下面,進入mp文件的目錄下
1接著,我們輸入命令 mpbin -export dll名。
2還有其他命令,可以參考help,這樣就可以了。
3可以用C++自帶的工具查。
開始 ——》所有程序 ——》 Microsoift visual C++ 6.0 ——》Microsoift visual C++ 6.0 Tools ——》 depends
查具體參數用反匯編,習慣於用OD,ctrl+N 找到要查的參數(後面會有顯示是幾個參數的),選中那一行按Enter就會跳到那個函數的調用段,裡面會有具體的參數類型。
DLL文件:
DLL文件即動態鏈接庫文件,是一種可執行文件,它允許程序共享執行特殊任務所必需的代碼和其他資源。Windows提供的DLL文件中包含了允許基於Windows的程序在Windows環境下操作的許多函數和資源。
DLL多數情況下是帶有DLL擴展名的文件,但也可能是EXE或其他擴展名。它們向運行於Windows操作系統下的程序提供代碼、數據或函數。程序可根據DLL文件中的指令打開、啟用、查詢、禁用和關閉驅動程序。
DLL可在「C:Windows」目錄「C:Windows/System」目錄和程序的安裝目錄中找到。如果啟動程序,但一個或多個DLL文件丟失或毀壞,則會收到出錯消息,如「找不到xyz.dll」。如果啟動的程序帶有一個過期的DLL文件或不匹配的DLL文件,則會出現「未定義的動態鏈接調用」消息。這時可在其他電腦上找到正確的DLL文件並將它拷貝到適當的目錄下,程序就能正確運行。