सवाल विंडोज़ पर 32 या 64 बिट बाइनरी कैसे जांचें?


क्या विंडोज़ पर बाइनरी 32 या 64 बिट है या नहीं, यह जांचने का कोई आसान तरीका है? मुझे प्रोग्राम को 32 बिट मशीन पर ले जाने से पहले जांचना होगा और एक शानदार विफलता का अनुभव करना होगा।


264
2017-11-17 10:29


मूल


यह सवाल समान हैहालांकि, इसे जांचने के लिए कुछ काम की आवश्यकता है। - ST3
@ गुइल्यूम: निष्पादन योग्य छवियां प्रक्रिया नहीं हैं। कार्य प्रबंधक केवल प्रक्रियाओं को दिखाता है। - IInspectable
मैं कैसे निर्धारित करूं कि मैं जिस एप्लिकेशन को इंस्टॉल कर रहा हूं वह 32 बिट या 64 बिट है? - phuclv


जवाब:


से हेडर वैल्यू की जांच करने के बाद रिचर्ड का जवाब, मैं एक ऐसे समाधान के साथ आया जो तेज़, आसान है, और केवल एक टेक्स्ट एडिटर की आवश्यकता है। यहां तक ​​कि विंडोज़ 'डिफ़ॉल्ट notepad.exe भी काम करेगा।

  1. टेक्स्ट एडिटर में निष्पादन योग्य खोलें। आपको ड्रैग-एंड-ड्रॉप या उपयोग करना पड़ सकता है संपादक का Open... संवाद, क्योंकि विंडोज़ नहीं दिखाता है Open with... निष्पादन योग्य के लिए संदर्भ मेनू में विकल्प।

  2. पहली घटना के बाद पहले प्रिंट करने योग्य पात्रों की जांच करें PE। इस भाग को कम से कम कुछ सफेद जगह से घिरा होने की संभावना है (इसमें बहुत कुछ हो सकता है), इसलिए इसे आसानी से देखा जा सकता है।

यहां आप जो खोज रहे हैं वह यहां है:

86:

PE  L

64:

PE  d†

खतरे के संकेत के लिए एक शब्द ही काफी है: बड़ी फ़ाइलों पर डिफ़ॉल्ट नोटपैड का उपयोग करना बहुत धीमा हो सकता है, इसलिए इसे मेगाबाइट या कुछ से बड़ी फ़ाइलों के लिए बेहतर उपयोग न करें। मेरे मामले में 12 एमआईबी फ़ाइल प्रदर्शित करने में लगभग 30 सेकंड लग गए। नोटपैड ++, हालांकि, लगभग 120 एमआईबी निष्पादन योग्य लगभग तुरंत प्रदर्शित करने में सक्षम था।

यह समाधान उपयोगी हो सकता है यदि आपको मशीन पर किसी फ़ाइल का निरीक्षण करने की आवश्यकता हो, तो आप कोई अतिरिक्त सॉफ़्टवेयर इंस्टॉल नहीं कर सकते हैं।

अतिरिक्त जानकारी:

यदि आपके पास हेक्स-संपादक उपलब्ध है, तो पीई हस्ताक्षर का ऑफ़सेट ऑफसेट पर स्थित है 0x3C। हस्ताक्षर है PE\0\0 (अक्षरों "पी" और "ई" के बाद दो शून्य बाइट्स), इसके बाद लिटिल एंडियन में दो बाइट मशीन प्रकार के बाद।

प्रासंगिक मान हैं 0x8664 x64 निष्पादन योग्य और के लिए 0x14c x86 के लिए। बहुत अधिक संभावित मूल्य हैं, लेकिन संभवतः आप इनमें से किसी भी का सामना नहीं करेंगे, या अपने विंडोज पीसी पर ऐसे निष्पादन योग्य चलाने में सक्षम नहीं होंगे।

शेष प्रकार के .exe विनिर्देशों के साथ मशीन प्रकारों की पूरी सूची में पाया जा सकता है माइक्रोसॉफ्ट पीई और सीओएफएफ विशिष्टता  मशीन प्रकार अनुभाग।


277
2018-03-13 17:08



हे, यह बल्कि हैकी है। और बेहतर के लिए, क्योंकि यह वास्तव में अधिकांश मामलों के लिए सबसे तेज़ और आसान समाधान प्रतीत होता है :) - Septagram
दुर्लभ उदाहरण जब नोटपैड ने नोटपैड ++ को हराया। नोटपैड यह सही दिखाता है, नोटपैड में आपके पास यह दिखाने के लिए एन्कोडिंग के साथ गड़बड़ है लेकिन यह काम करता है! - zar
@CoDEmanX इस विकल्प का अर्थ है आईडीई या जेआईटी आपके लिए पसंद करता है। देख यह प्रश्न या यह ब्लॉग पोस्ट अधिक जानकारी के लिए। - Alexander Revo
@IInspectable अगर आप वास्तव में इसे कम करने से पहले पूरी पोस्ट को पढ़ने के लिए परेशान थे, तो आप लिंक को देख सकते थे Microsoft PE and COFF Specification, जो कि एक दस्तावेज अनुबंध जितना हो सकता है, साथ ही किसी भी में पीई हेडर का सटीक पता कैसे प्राप्त करें, इस पर निर्देश .exe फ़ाइल। यदि आपके पास माइक्रोसॉफ्ट के अपने निष्पादन योग्य प्रारूप पर माइक्रोसॉफ्ट के आधिकारिक विनिर्देश से अधिक विश्वसनीय स्रोत है, तो मुझे यह जानना अच्छा लगेगा कि यह क्या है। - Alexander Revo
"एमजेड" से शुरू होने वाली फ़ाइलों के लिए, आपको थोड़ी और आगे देखने की आवश्यकता है। मैंने पीई..एल को ऑफसेट 0x110 पर पाया, बस "RichMQ _........" के बाद। - jnnnnn


एसडीके उपकरण dumpbin.exe उसके साथ /headers विकल्प में यह जानकारी शामिल है, इन दोनों की तुलना करें (मैंने मुख्य जानकारी के लिए बोल्ड जोड़ा है)

पीएस [64] ई: \ # 4> डंपबिन / हेडर सी: \ विंडोज \ system32 \ cmd.exe
माइक्रोसॉफ्ट (आर) सीओएफएफ / पीई डम्पर संस्करण 10.00.4021 9.01
कॉपीराइट (सी) माइक्रोसॉफ्ट कॉर्पोरेशन। सर्वाधिकार सुरक्षित।


फ़ाइल सी: \ विंडोज \ system32 \ cmd.exe का डंप

पीई हस्ताक्षर मिला

फ़ाइल का प्रकार: निष्पादन योग्य छवि

फ़ाइल हेडर मूल्य
             8664 मशीन (x64)
               6 वर्गों की संख्या
        4CE798E5 समय की तारीख टिकट शनि नवम्बर 20 09:46:13 2010
               प्रतीक तालिका में 0 फ़ाइल सूचक
               प्रतीकों की 0 संख्या
              वैकल्पिक शीर्षलेख का F0 आकार
              22 विशेषताएं
                   निष्पादन
                   आवेदन बड़े (> 2 जीबी) पते को संभाल सकता है
[...]

तथा

पीएस [64] ई: \ # 5> डंपबिन / हेडर सी: \ विंडोज \ syswow64 \ cmd.exe
माइक्रोसॉफ्ट (आर) सीओएफएफ / पीई डम्पर संस्करण 10.00.4021 9.01
कॉपीराइट (सी) माइक्रोसॉफ्ट कॉर्पोरेशन। सर्वाधिकार सुरक्षित।


फ़ाइल सी: \ विंडोज \ syswow64 \ cmd.exe का डंप

पीई हस्ताक्षर मिला

फ़ाइल का प्रकार: निष्पादन योग्य छवि

फ़ाइल हेडर मूल्य
              14 सी मशीन (x86)
               4 वर्गों की संख्या
        4CE78E2B समय की तारीख टिकट शनि नवम्बर 20 09:00:27 2010
               प्रतीक तालिका में 0 फ़ाइल सूचक
               प्रतीकों की 0 संख्या
              वैकल्पिक शीर्षलेख का E0 आकार
             102 विशेषताओं
                   निष्पादन
                   32 बिट शब्द मशीन
[...]

112
2017-11-17 12:14



आप 64 बिट इटेनियम एक्सई के लिए भी देख सकते हैं (आईए 64)। - Darryl Braaten
जैसा कि मैंने सुपरसियर पर कहीं और पढ़ा है dumpbin /headers | findstr "machine" क्यूए की तलाश में क्या प्रस्तुति बहुत सरल है ... - user1055604
Dumpbin.exe यहां स्थित है: C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin - Devid
@ डेविड: जरूरी नहीं (वीएस का अलग संस्करण, विंडोज़ एसडीके से संस्करण का उपयोग कर डिफ़ॉल्ट इंस्टॉल स्थान का उपयोग नहीं कर रहा है): यही कारण है कि मैंने निर्दिष्ट नहीं किया था। - Richard
यदि आप इसे विजुअल स्टूडियो कमांड लाइन से लॉन्च करते हैं तो डंपबिन का उपयोग करना सबसे आसान है: stackoverflow.com/a/477389/1390430 - Ben


यदि आपके पास संपूर्ण विंडोज एसडीके या विजुअल स्टूडियो नहीं है या आप चाहते हैं, तो आप इसका उपयोग कर सकते हैं sigcheck.exe SysInternals से:

sigcheck.exe C:\Windows\Notepad.exe

आउटपुट:

Sigcheck v2.1 - File version and signature viewer
Copyright (C) 2004-2014 Mark Russinovich
Sysinternals - www.sysinternals.com

c:\windows\notepad.exe:
    Verified:       Signed
    Signing date:   8:59 AM 8/22/2013
    Publisher:      Microsoft Windows
    Description:    Notepad
    Product:        Microsoft« Windows« Operating System
    Prod version:   6.3.9600.16384
    File version:   6.3.9600.16384 (winblue_rtm.130821-1623)
    MachineType:    64-bit

41
2017-09-06 15:02



हमेशा सटीक नहीं लगता है: इसे LinqPad.exe (AnyCPU-64bit संस्करण) के साथ उपयोग करने का प्रयास करें और सिग्चेक आपको बताएगा कि यह "32 बिट" है ... - Matt
@ मैट दिलचस्प है। लिंकपैड एक .net ऐप की तरह लगता है; मुझे आश्चर्य है कि सिग्चेक केवल देशी निष्पादन योग्य (इस उद्देश्य के लिए) पर सही ढंग से काम करता है। - briantist
हां, यह एक .NET ऐप है। .NET में, यदि यह precompiled नहीं है, तो आप या तो "x86" या "AnyCPU" को लक्षित कर सकते हैं। "x86" हमेशा 32 बिट के रूप में चलाएगा, लेकिन कोई भी बिटसी 64 बिट सिस्टम पर 64 बिट के रूप में चलाएगा, लेकिन 32 बिट सिस्टम पर 32 बिट के रूप में। सिग चेक को इस पर विचार करना चाहिए और कम से कम ".NET 32 बिट या 64 बिट (AnyCPU)" दिखाना चाहिए। उदाहरण के लिए ILSpy इस मामले में कहता है "आर्किटेक्चर: AnyCPU (64-बिट पसंदीदा)" - लेकिन ILSpy गैर- .NET EXE के लिए काम नहीं करेगा। - Matt
यह मामला हो सकता है, पुराने "एमजेड" हेडर की तरह जो गैर-विंडोज ("डॉस") ओएस के लिए है, "यह एप्लिकेशन माइक्रोसॉफ्ट विंडोज की आवश्यकता है" ...-) - Matt
हाँ, अच्छे पुराने समय, जहां आपके पास खोल में एक डॉस डीबगर था और कोड को अलग कर सकता था (जिसमें सिर्फ एक ही डॉस कॉल इस संदेश को प्रिंट कर रहा था) ... और "उत्तर 42 है" द्वारा टेक्स्ट को प्रतिस्थापित करें। :-D - Matt


मैं पुष्टि कर सकता हूं कि file उपयोगिता (उदाहरण के लिए साइगविन से) 32- और 64-बिट निष्पादन योग्य के बीच अंतर करेगा। वे निम्नानुसार दिखाई देते हैं:

32.exe: PE32 executable (GUI) Intel 80386, for MS Windows
64.exe: PE32+ executable (console) x86-64, for MS Windows

जैसा कि आप देख सकते हैं, यह बहुत स्पष्ट है जो कि है। इसके अतिरिक्त यह कंसोल और जीयूआई निष्पादन योग्य के बीच अंतर करता है, यह भी स्पष्ट है कि कौन सा है।


33
2018-01-17 02:08



यह समाधान msysgit स्थापित करने वाले किसी भी डेवलपर के लिए आमतौर पर उपलब्ध है। - FrontierPsycho
विंडोज़ में निष्पादन योग्य फाइलें क्यों हैं MZ के बजाय PE? - Mohammadreza Panahi


इसे चलाने के लिए एक आसान तरीका है (मान लीजिए कि आप इसे भरोसा करते हैं) और टास्क मैनेजर में प्रक्रिया टैब पर नज़र डालें। 32 बिट प्रक्रिया प्रक्रिया नाम के अंत में "* 32" दिखाएगी। यदि ऐसा कुछ नहीं है जो आप अपने कंप्यूटर पर चलाने के इच्छुक हैं तो आप कोशिश कर सकते हैं एक्सई एक्सप्लोरर। यह निष्पादन योग्यों पर जानकारी का पूरा समूह दिखाएगा, भले ही यह 32 या 64 बिट हो।


30
2017-11-17 10:39



दुर्भाग्यवश, इसके लिए आपको निष्पादन योग्य चलाने की आवश्यकता है। शायद आपको प्रोग्राम की आर्किटेक्चर को समस्या निवारण विधि के रूप में जांचना होगा कि यह क्यों नहीं चल रहा है। - Mike Christiansen
कैसे करें आप एक डीएलएल चलाओ? - user34660
@ user34660 RUNDLL32.EXE <dllname>, <entrypoint> - samsara
@ सैमसुरीन जो पद में होना चाहिए। - user34660
@ user34660 आप तकनीकी रूप से सही हैं, एक डीएलएल में कोई नहीं है main प्रवेश बिंदु और इसलिए स्टैंड स्टैंड प्रक्रिया के रूप में निष्पादित नहीं होगा। प्रारंभिक फ़ंक्शन होता है जिसे इसे लोड किया जाता है लेकिन यह "मुख्य" नहीं है। - samsara


बहुत से लोगों को उत्कृष्ट है 7-ज़िप स्थापित, और उनके लिए 7-ज़िप फ़ोल्डर जोड़ा है PATH। 7-ज़िप ज़िप और आरएआर के अलावा फ़ाइल स्वरूपों को समझता है, जैसे कि एमएसआई फाइलें और पीई एक्जिक्यूटिव। बस कमांड लाइन का उपयोग करें 7z.exe प्रश्न में पीई फ़ाइल (एक्सई या डीएलएल) पर:

7z l some.exe | more
7z l some.exe | findstr CPU

आउटपुट में निम्नानुसार लाइनें शामिल होंगी CPU लाइन पढ़ने या तो x86 या x64, जो यहां पूछा जा रहा है:

Path = C:\Extra\AV\neroAacEnc.exe
Type = PE
CPU = x86
Characteristics = Executable 32-bit

Path = C:\Extra\AV\LAME\lame_enc.dll
Type = PE
CPU = x86
Characteristics = Executable DLL 32-bit

Path = C:\Extra\AV\FFmpeg\bin\ffmpeg.exe
Type = PE
CPU = x64
64-bit = +
Characteristics = Executable LargeAddress NoRelocs NoLineNums NoLocalSyms NoDebugInfo

Path = C:\Extra\AV\FFmpeg\bin\avcodec-56.dll
Type = PE
CPU = x64
64-bit = +
Characteristics = Executable DLL LargeAddress NoLineNums NoLocalSyms NoDebugInfo

21
2017-10-04 10:56



वाह मैं कभी नहीं जानता कि 7z यह कर सकता है। शायद इसमें एक है file अंदर कार्यान्वयन? - phuclv


का 64-बिट संस्करण प्रक्रिया एक्सप्लोरर आपको बता सकता हूँ बस निष्पादन योग्य चलाएं और प्रक्रिया की गुण विंडो खोलें। मुख्य टैब पर एक प्रविष्टि है जो "छवि: 32 बिट" या "छवि: 64 बिट" कहती है।

enter image description here


18
2017-11-17 13:36



Simply run the executable और क्या होगा यदि आप नहीं चाहते हैं रन कार्यक्रम? - Synetech
@Synetech मूल प्रश्न यह नहीं है कि यह मामला है। - Andrew Lambert
मेरे लिए यह सबसे आसान तरीका है, जब तक कि निष्पादन योग्य बहुत तेज़ न हो जाए। - starbeamrainbowlabs
कैसे करें आप एक डीएलएल चलाओ? - user34660


सबसे आसान तरीका (जब डेटा गोपनीय नहीं होता है)

मुझे वह मिल गया VirusTotal  File detail यह पता लगाने का सबसे आसान तरीका है कि बाइनरी 32 बिट या 64 बिट है या नहीं।

Additional information विकल्प फ़ाइल के बारे में बहुत उपयोगी जानकारी प्रदान करता है।

Virustotal analysis


[Virustotal TrID


14
2018-01-05 16:53





निष्पादन योग्य चलाने और फिर प्रक्रिया एक्सप्लोरर या इसी तरह के टूल में जांच करने की विधि में कुछ स्पष्ट दोष हैं:

  1. हमें प्रक्रिया को निष्पादित करना है।
  2. अल्पकालिक प्रक्रियाओं के लिए (जैसे हैलो विश्व प्रकारों को गूंजें।), प्रक्रिया एक्सप्लोरर यह भी पंजीकृत नहीं कर सकता कि एक नई प्रक्रिया शुरू हो गई है।

Dumpbin.exe विधि शायद उद्देश्य को हल कर सकते हैं।

साइगविन का उपयोग करने का एक और विकल्प होगा फ़ाइल आदेश। हालांकि, मैंने विंडोज़ पर इसका परीक्षण नहीं किया है। यह लिनक्स पर अच्छी तरह से काम करता है।

Usage: file program_under_test.exe

संपादित करें: विंडो पर बस file.exe का परीक्षण किया। ठीक काम करता है। :)


13
2017-09-27 07:08



बस कहना चाहता था कि कुछ स्थितियां हैं, जहां ड्रैक्स की विधि बहुत उपयोगी नहीं होगी। - anishsane
>> यह अभी भी उस प्रोग्राम को चलाने की आवश्यकता है जिसे लेखक टालना चाहता था: नहीं .. हम इसे इस तरह चलाते हैं: file.exe program_under_test.exe - anishsane
और जो लोग पूरी तरह से स्थापित करने से बचना चाहते हैं cygwin पैकेज पकड़ सकते हैं gnuwin32 file पैकेज। - Bob
@anishsane पूरी तरह गलत है। file बस बाइनरी प्रारूप में डिस्क से डेटा पढ़ता है और किसी डेटाबेस के मुकाबले तुलना करने वाले किसी भी जादू संख्या के लिए जांच करता है। विंडोज़ 32-बिट प्रोग्राम पीई 32 के रूप में आते हैं, और 64-बिट और .NET प्रोग्राम दोनों पीई 32 + के रूप में आते हैं। का गवाह file स्वयं बिल्कुल शून्य अंतर बनाता है - 32-बिट और 64-बिट दोनों अनुप्रयोग डिस्क से डेटा पढ़ सकते हैं, जिसे इसकी आवश्यकता है। - Bob
@MarcH हा! उस है दिलचस्प। मुझे लगता है कि इसका मतलब है कि .NET रनटाइम स्टब 32-बिट है। तो यह एक सेकंड के एक अंश के लिए 32-बिट प्रक्रिया चलाता है, लेकिन वह सभी प्रक्रिया .NET रनटाइम शुरू होती है, जो मूल 64-बिट प्रक्रिया बनाता है। - clacke


यहां एक पावरहेल समाधान, कोई बाहरी निर्भरता या कुछ भी नहीं है। ओपन पावरहेल, वहां फ़ंक्शन पेस्ट करें (दो बार एंटर दबाएं ताकि आप प्रॉम्प्ट पर वापस आएं), फिर फ़ंक्शन के नीचे मेरे उदाहरणों में इसका उपयोग करें:

function Test-is64Bit {
    param($FilePath=“$env:windir\notepad.exe”)

    [int32]$MACHINE_OFFSET = 4
    [int32]$PE_POINTER_OFFSET = 60

    [byte[]]$data = New-Object -TypeName System.Byte[] -ArgumentList 4096
    $stream = New-Object -TypeName System.IO.FileStream -ArgumentList ($FilePath, 'Open', 'Read')
    $stream.Read($data, 0, 4096) | Out-Null

    [int32]$PE_HEADER_ADDR = [System.BitConverter]::ToInt32($data, $PE_POINTER_OFFSET)
    [int32]$machineUint = [System.BitConverter]::ToUInt16($data, $PE_HEADER_ADDR + $MACHINE_OFFSET)
    $stream.Close()

    $result = "" | select FilePath, FileType, Is64Bit
    $result.FilePath = $FilePath
    $result.Is64Bit = $false

    switch ($machineUint) 
    {
        0      { $result.FileType = 'Native' }
        0x014c { $result.FileType = 'x86' }
        0x0200 { $result.FileType = 'Itanium' }
        0x8664 { $result.FileType = 'x64'; $result.is64Bit = $true; }
    }

    $result
}

यहां उदाहरण आउटपुट है:

D:\> Test-is64bit

FilePath               FileType Is64Bit
--------               -------- -------
C:\Windows\notepad.exe x64         True


D:\> Test-is64bit 'C:\Program Files (x86)\Mozilla Firefox\firefox.exe'

FilePath                                           FileType Is64Bit
--------                                           -------- -------
C:\Program Files (x86)\Mozilla Firefox\firefox.exe x86        False

10
2018-03-19 12:09



Slickness। उपरोक्त स्क्रिप्ट फ़ाइल को खोलने का संदर्भ छोड़ती प्रतीत होती है। जब तक मैंने पहली बार पावरहेल बंद नहीं किया तब तक निर्माण नहीं किया जा सका (\ bin में डीएलएल से पूछताछ करने के लिए स्क्रिप्ट चलाया गया)। - samsara
बहुत ही शांत। +1। इटेनियम निश्चित रूप से 64 बिट है :) - Rich Homolka
@ सैमुसरिन: शायद जोड़ें $stream.dispose(); करीब के बाद? फ़ाइल हैंडल जारी करना चाहिए। ( stackoverflow.com/questions/1999858/... ) - Yorik
एक और पूर्ण संस्करण में पाया जा सकता है जांचें कि एक्सई 64-बिट है या नहीं - phuclv


यहां तक ​​कि 32-बिट के रूप में चिह्नित निष्पादन योग्य भी 64-बिट के रूप में चलाया जा सकता है, उदाहरण के लिए, यह एक .NET निष्पादन योग्य है जो 32- या 64-बिट के रूप में चलाया जा सकता है। अधिक जानकारी के लिए देखें https://stackoverflow.com/questions/3782191/how-do-i-determine-if-a-net-application-is-32-or-64-bit, जिसका उत्तर है जो कहता है कि कॉरफ्लग्स उपयोगिता का उपयोग यह निर्धारित करने के लिए किया जा सकता है कि एक .NET एप्लिकेशन कैसे चलाएगा।

CORFLAGS.EXE आउटपुट

32-बिट निष्पादन योग्य के लिए:

Version   : v2.0.50727
CLR Header: 2.5
PE        : PE32
CorFlags  : 0x3
ILONLY    : 1
32BITREQ  : 1
32BITPREF : 0
Signed    : 0

64-बिट निष्पादन योग्य के लिए:

Version   : v2.0.50727
CLR Header: 2.5
PE        : PE32+
CorFlags  : 0x1
ILONLY    : 1
32BITREQ  : 0
32BITPREF : 0
Signed    : 0

निष्पादन योग्य के लिए जो 32- या 64-बिट के रूप में चलाया जा सकता है और जब संभव हो तो 64-बिट के रूप में चलाया जाएगा:

Version   : v2.0.50727
CLR Header: 2.5
PE        : PE32
CorFlags  : 0x1
ILONLY    : 1
32BITREQ  : 0
32BITPREF : 0
Signed    : 0

निष्पादन योग्य के लिए जो 32- या 64-बिट के रूप में चलाया जा सकता है, लेकिन 64-बिट प्रक्रिया में लोड होने तक 32-बिट के रूप में चलाया जाएगा:

Version   : v4.0.30319
CLR Header: 2.5
PE        : PE32
CorFlags  : 0x20003
ILONLY    : 1
32BITREQ  : 0
32BITPREF : 1
Signed    : 0

6
2017-10-07 15:32



कूल कमांड, लेकिन यह देशी (गैर-प्रबंधित) निष्पादन योग्य / डीएलएस के लिए काम नहीं करेगा। (corflags : error CF008 : The specified file does not have a valid managed header) - Tomasz Gandor
@TomaszGandor हां, इस उत्तर का संदर्भ केवल प्रबंधित कोड था। अप्रबंधित कोड का उत्तर अन्य उत्तरों द्वारा दिया जाता है। जहां तक ​​मुझे पता है, केवल प्रबंधित कोड 32- और 64-बिट दोनों के रूप में निष्पादन के बीच स्विच कर सकता है। - BlueMonkMN