當前位置:首頁 » 編程軟體 » win32反編譯

win32反編譯

發布時間: 2022-07-10 21:24:20

❶ c++代碼反編譯

進入.Net之後,VC可以用來開發本地的win32程序,還有託管的.Net程序

其中win32程序,比如mfc程序,使用傳統C++語言,是直接編譯為機器指令的,最多反匯編到匯編代碼

但是.net程序,使用微軟為.net平台擴展的C++/CLI語言(.net 1.1時代有一種託管C++語言,是微軟的早期作品,因為穩定性欠佳,已被C++/CLI取代),編譯之後的是.net平台的IL語言,因為IL匯編語言較傳統匯編指令遠為「高級」,通過簡單的反匯編器就可以得到幾乎一摸一樣的源代碼,樓主實際看到的是這種.net程序,這才是通過Reflector能夠看到的反匯編代碼

❷ 為什麼破解要學win32匯編

學win32匯編有利於破解c/c++類程序,因為編譯為本地機器碼執行,本地機器碼只能夠反匯編成匯編代碼,c#/java/vbpcode類雖然最後也是編譯為本地機器碼執行的,但是有虛擬機的概念,指令是開源的,可以反編譯.

❸ 同一段匯編代碼 在不同的電腦上運行 結果不一樣

你才學匯編吧。
反編譯是用來調試程序用的,並不是你說的在運行程序前一定要對代碼進行反編譯,你可以這么理解,不是會使用程序的人都懂匯編,如果要求在使用程序前一定要進行反編譯的話,那麼又有幾個人會用這個程序了?
反編譯可以把已經編譯好的可執行文件還原成匯編代碼,提供給能夠看懂匯編代碼的人觀察代碼的執行順序及其功能的,最初學的8086匯編的時候經常會用debug命令來反匯編程序,裡面用-t命令來單步執行命令,每執行一不觀察一下寄存器的值是否和在編碼前預期的相符合,等8086學到中期的時候,能夠完成一些簡單的實用程序的時候,debug命令則通常是在程序執行失敗的時候來測試程序的,看程序執行到哪一步的時候出錯了,等查到錯誤之後在去修改源碼重新編譯鏈接。
在win32匯編中也有反匯編的工具,比如ollydbg,作用也是調試程序,在程序才編譯鏈接完後,運行出錯了,可以對程序進行調試,找出錯誤的地方然後進行修改,這是因為這個原理,很多破解程序以及程序漏洞的搜索都會用到反匯編來查看程序的匯編代碼。
你只需要知道,運行程序前並不是一定要對代碼段進行反匯編,反匯編只是我們對代碼進行的調試罷了
www.ghostasm.com

❹ 關於Win32匯編的問題

COLOR_WINDOW=5
COLOR_WINDOW 是一個常數(即用「equ」定義的),masm會直接計算COLOR_WINDOW + 1
的值,即5+1=6,再編譯,你可以把它當成一個數看,因此,你甚至可以這樣:
mov eax,4*5+COLOR_WINDOW
編譯後代碼的反編譯應該是:
mov eax,19h
因為
4*5+5=25=19h

❺ 有關於Visual Studio 2005 EXE程序反編譯成可用代碼的問題~!~

你應該選擇使用靜態庫啊。動態庫你要運行必須連相關的dll一起拷貝到別人電腦上去!

還有一些特別的情況,雖然是針對VC2005的,但是對VC6也有參考價值。
前面一些是我在網上找的,後面的有些是我自己現添加的,希望對你有幫助!

報錯"由於應用程序配置不正確,應用程序未能啟動.重新安裝應用程序可能會糾正這個問題"

//------------------------------------------------------

這個問題主要出現在XP環境下運行由Visual C++2003/2005編譯的MFC程序時
問題現象是XP運行此類程序時,報錯"由於應用程序配置不正確,應用程序未能啟動.重新安裝應用程序可能會糾正這個問題"
這個問題似乎許多人遇見過.在CSDN和微軟社區裡面都有人提到.但是沒有完整的解決方案
這個問題的解決一共會遇見2個子問題

最早出現這個錯誤我和許多人認為的一樣
認為是缺乏DLL庫文件導致.但是在測試機復制了DLL甚至安裝了.net framework 2.0以後
都無法解決問題,最後確認不是由缺乏DLL所致
因為程序是純win32的應用程,非託管代碼,所以也無需.net framework

Visual C++2003/2005默認的MFC程序是使用動態MFC庫(Use MFC in a Shared DLL)來鏈接的
而動態MFC庫使用的是Multi-threaded DLL (/MD)
由於XP對於PE文件格式監測更加嚴格.
就會導致部分使用多線程DLL的可執行文件在調用的時候出錯
修改項目屬性的編譯開關
Project->Property->configuration Properties->C/C++->Code Generation->Runtime Library
修改成Multi-threaded (/MT)
修改了Runtime類型以後
需要將MFC的編譯類型也改成靜態庫
Project->Property->configuration Properties->General->Use of MFC
修改成Use MFC in a Static Library
一部分情況下在這步就能解決問題
另外一部分情況會遇見如下情況
編譯器報錯

CODE:
nafxcw.lib(afxmem.obj) : error LNK2005: "void * __cdecl operator new[](unsigned int)" (??_U@YAPAXI@Z) already defined in libcpmt.lib(newaop.obj)
[Copy to clipboard]

產生這個問題的原因是庫依賴關系
在Project->Property->configuration Properties->Linker->Command Line
加入編譯開關/verbose:lib可以顯示詳細的庫鏈接順序

CODE:

------ Build started: Project: PerfMonDemo, Configuration: Release Win32 ------
Linking...
Searching libraries
Searching d:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\pdh.lib:
Searching d:\Program Files\Microsoft Visual Studio 8\VC\lib\DelayImp.lib:
Searching d:\Program Files\Microsoft Visual Studio 8\VC\lib\libcpmt.lib:
Searching d:\Program Files\Microsoft Visual Studio 8\VC\atlmfc\lib\nafxcw.lib:
nafxcw.lib(afxmem.obj) : error LNK2005: "void * __cdecl operator new[](unsigned int)" (??_U@YAPAXI@Z) already defined in libcpmt.lib(newaop.obj)
Searching d:\Program Files\Microsoft Visual Studio 8\VC\lib\libcmt.lib:
Searching d:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\kernel32.lib:
Searching d:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\user32.lib:
Searching d:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\gdi32.lib:
Searching d:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\msimg32.lib:
Searching d:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\comdlg32.lib:
Searching d:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\winspool.lib:
Searching d:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\advapi32.lib:
Searching d:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\shell32.lib:
Searching d:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\comctl32.lib:
Searching d:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\shlwapi.lib:
Searching d:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\uuid.lib:
Searching d:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\oledlg.lib:
Searching d:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\ole32.lib:
Searching d:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\oleaut32.lib:
Searching d:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\urlmon.lib:
Searching d:\Program Files\Microsoft Visual Studio 8\VC\lib\OLDNAMES.lib:
Searching d:\Program Files\Microsoft Visual Studio 8\VC\atlmfc\lib\atls.lib:
Searching d:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\ws2_32.lib:
Searching d:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\mswsock.lib:
Searching d:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\oleacc.lib:
Searching d:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\pdh.lib:
Searching d:\Program Files\Microsoft Visual Studio 8\VC\lib\DelayImp.lib:
Searching d:\Program Files\Microsoft Visual Studio 8\VC\lib\libcpmt.lib:
Searching d:\Program Files\Microsoft Visual Studio 8\VC\atlmfc\lib\nafxcw.lib:
Searching d:\Program Files\Microsoft Visual Studio 8\VC\lib\libcmt.lib:
Searching d:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\kernel32.lib:
Searching d:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\user32.lib:
Searching d:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\gdi32.lib:
Searching d:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\msimg32.lib:
Searching d:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\comdlg32.lib:
Searching d:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\winspool.lib:
Searching d:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\advapi32.lib:
Searching d:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\shell32.lib:
Searching d:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\comctl32.lib:
Searching d:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\shlwapi.lib:
Searching d:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\uuid.lib:
Searching d:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\oledlg.lib:
Searching d:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\ole32.lib:
Searching d:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\oleaut32.lib:
Searching d:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\urlmon.lib:
Searching d:\Program Files\Microsoft Visual Studio 8\VC\lib\OLDNAMES.lib:
Searching d:\Program Files\Microsoft Visual Studio 8\VC\atlmfc\lib\atls.lib:
Searching d:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\ws2_32.lib:
Searching d:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\mswsock.lib:
Searching d:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\oleacc.lib:
Searching d:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\pdh.lib:
Searching d:\Program Files\Microsoft Visual Studio 8\VC\lib\DelayImp.lib:
Searching d:\Program Files\Microsoft Visual Studio 8\VC\lib\libcpmt.lib:
Finished searching libraries
Searching libraries
Searching d:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\pdh.lib:
Searching d:\Program Files\Microsoft Visual Studio 8\VC\lib\DelayImp.lib:
Searching d:\Program Files\Microsoft Visual Studio 8\VC\lib\libcpmt.lib:
Searching d:\Program Files\Microsoft Visual Studio 8\VC\atlmfc\lib\nafxcw.lib:
Searching d:\Program Files\Microsoft Visual Studio 8\VC\lib\libcmt.lib:
Searching d:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\kernel32.lib:
Searching d:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\user32.lib:
Searching d:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\gdi32.lib:
Searching d:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\msimg32.lib:
Searching d:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\comdlg32.lib:
Searching d:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\winspool.lib:
Searching d:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\advapi32.lib:
Searching d:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\shell32.lib:
Searching d:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\comctl32.lib:
Searching d:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\shlwapi.lib:
Searching d:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\uuid.lib:
Searching d:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\oledlg.lib:
Searching d:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\ole32.lib:
Searching d:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\oleaut32.lib:
Searching d:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\urlmon.lib:
Searching d:\Program Files\Microsoft Visual Studio 8\VC\lib\OLDNAMES.lib:
Searching d:\Program Files\Microsoft Visual Studio 8\VC\atlmfc\lib\atls.lib:
Searching d:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\ws2_32.lib:
Searching d:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\mswsock.lib:
Searching d:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\oleacc.lib:
Searching d:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\pdh.lib:
Searching d:\Program Files\Microsoft Visual Studio 8\VC\lib\DelayImp.lib:
Searching d:\Program Files\Microsoft Visual Studio 8\VC\lib\libcpmt.lib:
Searching d:\Program Files\Microsoft Visual Studio 8\VC\atlmfc\lib\nafxcw.lib:
Finished searching libraries
.\Release/PerfMonDemo.exe : fatal error LNK1169: one or more multiply defined symbols found
Build log was saved at "file://d:\Dev\Performance Monitor\Release\BuildLog.htm"
PerfMonDemo - 2 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

[Copy to clipboard]

我們發現在libcpmt.lib聲明過的operator new在nafxcw.lib中再次定義
解決方法如下
Project->Property->configuration Properties->Linker->Input->Additional Dependencies
加入
nafxcw.lib
libcpmt.lib
Project->Property->configuration Properties->Linker->Input->Ignore Specific Library
加入
nafxcw.lib
libcpmt.lib
這樣鏈接程序就不會先按照默認順序來連接這兩個庫文件
而是在最後在加入對他們的引用.這樣就避免了這個問題
下面是一張可能發生沖突的列表
若要使用此運行時庫 請忽略這些庫
單線程 (libc.lib) libcmt.lib、msvcrt.lib、libcd.lib、libcmtd.lib、msvcrtd.lib
多線程 (libcmt.lib) libc.lib、msvcrt.lib、libcd.lib、libcmtd.lib、msvcrtd.lib
使用 DLL 的多線程 (msvcrt.lib) libc.lib、libcmt.lib、libcd.lib、libcmtd.lib、msvcrtd.lib
調試單線程 (libcd.lib) libc.lib、libcmt.lib、msvcrt.lib、libcmtd.lib、msvcrtd.lib
調試多線程 (libcmtd.lib) libc.lib、libcmt.lib、msvcrt.lib、libcd.lib、msvcrtd.lib
使用 DLL 的調試多線程 (msvcrtd.lib) libc.lib、libcmt.lib、msvcrt.lib、libcd.lib、libcmtd.lib

//本人曾經對上面的方法進行測試,修改後可能出現XX無法解析的情況,請大家使用MSDN查找該函數,並且找到該函數對應的lib庫文件。將其添加到附加依賴項或者是用#pragma comment(lib,"xxx.lib")將其添加到代碼中!

❻ 請問用不同編譯器編譯同一段源代碼得到的目標程序是否完全一樣呢那反編譯是否能得到與之前一模一樣的...

不一樣,建議你看看 PE文件結構,就是WINDOWS下面運行的exe程序文件。
不能,只能得到匯編代碼。就算你用的匯編語言寫的,也不能,因為WIN32下匯編寫程序必然會運用大量的宏匯編和變數定義。100字數限制不能多寫了

❼ ce跟od反匯編,的匯編語言是哪種匯編語言,是win32的還是dos的或者是其他匯編

准確的說應該是intel 匯編,匯編有intel 匯編和AT&T匯編,linux、unix等操作系統下一般使用的是AT&T匯編。

OD等反匯編工具,反匯編出的代碼屬於是intel格式匯編,如果是32位程序反匯編出來的是32位匯編代碼,在Windows平台下,就可以算是win 32匯編。

❽ 反編譯classes.dex

目前沒有軟體可以在手機端完成classes.dex反編譯,不說手機,win32平台還沒有呢。

❾ 怎麼安裝反編譯工具jd-gui

1、下載jdeclipse_update_site.zip,解壓,將plugins文件下的jd.ide.eclipse_0.1.3.jar和jd.ide.eclipse.win32.x86_0.1.3.jar復制到eclipse安裝目錄下的plugins里

2、在eclipse里安裝,選擇help下的安裝插件install new soft 或者叫update ……版本不同不一樣,自己看哈 然後 點add site ,在彈出來的框的location選擇剛下載的包的路徑 然後下一步,安裝即可

3、安裝好後,修改一個設置,選window-preferences 在輸入框輸入file Associations 在右邊選*.class 下面將class file editor設置為默認的即可(點右邊的default)

安裝完的時候記得選重啟

熱點內容
伺服器為什麼需要專線 發布:2025-02-08 22:07:27 瀏覽:872
java正則表達式正則替換 發布:2025-02-08 22:01:04 瀏覽:505
伺服器不識別配置的ip地址 發布:2025-02-08 22:00:02 瀏覽:615
橙雲伺服器 發布:2025-02-08 21:59:48 瀏覽:438
ftp伺服器ip就是電腦ip嗎 發布:2025-02-08 21:51:42 瀏覽:475
資料庫5 發布:2025-02-08 21:43:17 瀏覽:51
安卓安裝證書沒有怎麼辦 發布:2025-02-08 21:32:10 瀏覽:358
外交官拉桿箱怎麼設密碼 發布:2025-02-08 21:21:55 瀏覽:797
vivo手機z系列哪個配置性價比最高 發布:2025-02-08 21:17:43 瀏覽:10
什麼是白標和伺服器 發布:2025-02-08 21:15:50 瀏覽:481