त्वरित तरीका यह बताने के लिए कि क्या एक स्थापित अनुप्रयोग 64-बिट या 32-बिट है


107

मुझे 64-बिट विंडोज सर्वर 2003 में स्थापित एक तृतीय-पक्ष एप्लिकेशन (इस मामले में कॉग्नोस डेटा मैनेजर) मिला है।

क्या यह निर्धारित करने का एक त्वरित तरीका है कि किसी एप्लिकेशन को 64-बिट एप्लिकेशन के रूप में बनाया गया है या 32-बिट एप्लिकेशन के रूप में संकलित किया गया है?

डिफ़ॉल्ट रूप से एक प्रोग्राम प्रोग्राम फाइल (x86) में स्थापित किया जाना चाहता था। मैं अनुमान लगा रहा हूं कि इसका मतलब है कि यह 32-बिट संस्करण है। मुझे इसे Oracle डेटाबेस से बात करने के लिए प्राप्त करना था और उस काम को प्राप्त करने के लिए मैंने अंततः इसे एक निर्देशिका पथ में पुनः स्थापित किया, जिसमें "ब्रैकेट" ("और") नहीं था, क्योंकि यह एक समस्या पैदा कर रहा था। मैंने 64-बिट और 32-बिट ओरेकल दोनों क्लाइंट भी इंस्टॉल किए हैं।

भविष्य के संदर्भ के लिए, मैं एक कमांड "xxxx fred.exe" टाइप करने में सक्षम होना चाहता हूं और उसने मुझे बताया है कि क्या fred.exe को 32-बिट या 64-बिट सेटअप (जैसे ODBC डेटा स्रोत आदि) की आवश्यकता होगी।


1
यदि कोई ऐप Progam Files (x86) फोल्डर में है तो यह सुनिश्चित करता है कि ऐप 64 बिट संकलित है। यह सिर्फ एक सम्मेलन है जिसे अधिकांश इंस्टॉलर अनुसरण करते हैं। उदाहरण के लिए, क्रोम 64 बिट x86 फ़ोल्डर (दुख की बात) में स्थापित हो जाता है।
नवफाल

जवाबों:


92

यदि आप एप्लिकेशन चलाते हैं, तो टास्क मैनेजर में यह 32-बिट इंगित करने के लिए इसके पास एक * 32 होना चाहिए। मुझे पूरा यकीन है कि उन्होंने इसे सर्वर 2003 में लागू किया था, हालांकि सकारात्मक नहीं, उम्मीद है कि कोई स्पष्ट कर सकता है।

आप इसे PEiD के माध्यम से भी चला सकते हैं । PEiD 64-बिट PEs का समर्थन नहीं करता है, इसलिए यह 64-बिट होने पर चोक हो जाएगा।

विंडोज के लिए प्रसिद्ध जीएनयू फ़ाइल भी है । यह आपको एक निष्पादन योग्य के बारे में सभी प्रकार की जानकारी बताएगा।

उदाहरण:

$ file winrar-x64-392b1.exe
winrar-x64-392b1.exe: PE32+ executable for MS Windows (GUI)

$ file display.exe
display.exe: PE32 executable for MS Windows (GUI) Intel 80386 32-bit</pre>

जैसा कि आप देख सकते हैं, 64-बिट WinRAR इंस्टॉलर को PE32 + के रूप में वर्गीकृत किया गया है, जो 64-बिट निष्पादन योग्य को दर्शाता है । 32-बिट एप्लिकेशन केवल PE32 है, एक 32-बिट निष्पादन योग्य है।


1
आपका बहुत बहुत स्वागत है :)
John T

1
टास्क मैनेजर का एक विकल्प प्रोसेस एक्सप्लोरर हो सकता है, आप वहां इमेज टाइप कॉलम जोड़ सकते हैं। विकल्प मेनू के माध्यम से आप टास्क मैनेजर को इसके द्वारा बदल सकते हैं यदि आप चाहते हैं ... :-)
तमारा विजसमैन

जीएनयू फ़ाइल प्रक्रिया एक्सप्लोरर जैसे कार्यक्रमों के साथ क्या दिखाता है, जिसमें 32-बिट स्टब है जो यह पता लगाता है कि यह 64-बिट सिस्टम पर चल रहा है और निष्पादित करने के लिए 64-बिट छवि को अनपैक करता है?
दोपहर

इसे डाउनलोड करें और अपने लिए प्रयास करें?
जॉन टी

2
fileGnuWin32 से स्थापित करने के लिए , gnuwin32.sourceforge.net/packages/file.htm से 'पूरा पैकेज' ('बायनेरिज़') डाउनलोड करें
कर्नल पैनिक

40

सबसे आसान तरीका है, किसी अन्य प्रोग्राम को इंस्टॉल किए बिना या फ़ाइल को चलाने के लिए, बस फ़ाइल पर राइट क्लिक करें, गुण चुनें , और फिर कम्पैटिबल टैब पर जाएं। अगर कोई ग्रेप आउट विकल्प नहीं है और विंडोज एक्सपी और 9x मोड की पेशकश की जाती है, तो यह 32-बिट है। अगर वहाँ विकल्प बाहर greyed हैं और विस्टा की पेशकश की सबसे प्रारंभिक विधा है, यह 64-बिट है। आवेदन शुरू करने की कोई आवश्यकता नहीं है।

यदि आवेदन पहले ही शुरू हो गया है, तो आप निश्चित रूप से अन्य उत्तरों में वर्णित * 32 विचार का उपयोग कर सकते हैं। हालाँकि, यह विंडोज 8.x और इसके नए टास्क मैनेजर में उपलब्ध नहीं है। सौभाग्य से, आप विवरण टैब में कॉलम हेडर पर राइट-क्लिक करके और चयन कॉलम का चयन करके प्लेटफ़ॉर्म कॉलम को सक्षम कर सकते हैं । कॉलम में उपयुक्त रूप में "32-बिट" या "64-बिट" होगा।


उचित उचित लगता है।
आर्टऑफवर्फ

1
हाँ मुझे यह पसंद है। मैं इसे एक सिंगल फ़ाइल के लिए जाँचना चाहता हूँ और डाउनलोड किए गए बकवास से भरे अपने लैपटॉप को लोड नहीं करना चाहता ...
Gottlieb Notschnabel

विंडोज 8 के टास्क मैनेजर में * 32 नोटिस उपलब्ध नहीं है लेकिन इसमें एक "प्लेटफ़ॉर्म" कॉलम है, जो डिफ़ॉल्ट रूप से दिखाई नहीं देता है। 7tutorials.com/…
पीनो

साभार @Pino मेरे पास कभी भी यह पता लगाने का कोई कारण नहीं था कि मैंने विंडोज 8 का उपयोग किया है (मैं विंडोज 7 में वापस चला गया जब मेरा एचडी दुर्घटनाग्रस्त हो गया और मुझे एहसास हुआ कि मैंने कभी भी कोई डब्ल्यू 8 ऐप्स का उपयोग नहीं किया है।) मैं अपना जवाब अपडेट करूंगा।
trlkly

25

यदि आपको विजुअल स्टूडियो या प्लेटफ़ॉर्म एसडीके स्थापित है तो आप dumpbin /headersपीई हेडर मानों को देखने के लिए उपयोग कर सकते हैं ।

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

PE signature found

File Type: EXECUTABLE IMAGE

FILE HEADER VALUES
            8664 machine (x64)
               5 number of sections
        4987EDCA time date stamp Tue Feb 03 08:10:02 2009
               0 file pointer to symbol table
               0 number of symbols
              F0 size of optional header
              23 characteristics
                   Relocations stripped
                   Executable
                   Application can handle large (>2GB) addresses

OPTIONAL HEADER VALUES
             20B magic # (PE32+)
            8.00 linker version
           2A600 size of code
           18A00 size of initialized data
               0 size of uninitialized data
           2AE90 entry point (000000000042AE90)
            1000 base of code
               ...

और 32 बिट के लिए:

PE signature found

File Type: EXECUTABLE IMAGE

FILE HEADER VALUES
             14C machine (x86)
               3 number of sections
        4B0C786D time date stamp Wed Nov 25 01:21:01 2009
               0 file pointer to symbol table
               0 number of symbols
              E0 size of optional header
             103 characteristics
                   Relocations stripped
                   Executable
                   32 bit word machine

OPTIONAL HEADER VALUES
             10B magic # (PE32)
            9.00 linker version
           42000 size of code
            4000 size of initialized data
           6F000 size of uninitialized data
           B0EE0 entry point (004B0EE0)
           70000 base of code
               ...

फ़ाइल हेडर में पहला मान आपको आर्किटेक्चर बताता है: x86 के लिए 0x14C या x64 के लिए 0x8664।


दिलचस्प और विस्तृत दृष्टिकोण, मुझे वास्तव में फिर से प्रोग्रामिंग शुरू करने की आवश्यकता है, +1।
जॉन टी।

18

यदि आपके पास एक हेक्स संपादक प्रोग्राम है, तो बस इसके साथ अपनी फ़ाइल खोलें और मानक हेडर परिचय सामान के तुरंत बाद (जैसे "यह प्रोग्राम डॉस मोड में नहीं चलाया जा सकता ...") या तो आप देखेंगे

"PE..L" (हेक्स कोड: 504500004C) = 32 बिट

या

"PE..d PE" (हेक्स कोड: 504500006486) = 64 बिट


मैं अपने फ़ाइल प्रबंधक के रूप में कुल कमांडर का उपयोग करता हूं, इसलिए मेरे लिए, यह एक सरलतम समाधान है। मैं फ़ाइल की शुरुआत को देखने के लिए F3 दबा सकता हूं और तुरंत उत्तर दे सकता हूं।
20

1
ईव, उन्होंने वास्तव में "बिट" के रूप में लिखा "64" मानव-पठनीय बाइट्स के रूप में 64 बिट इंगित करने के लिए। कितना बदसूरत :)
Nyerguds

@ नीरज क्यों बदसूरत? इसे हेक्सस्पेक कहा जाता है और इसका आमतौर पर उपयोग किया जाता है, esp। जादुई संख्या में। उदाहरण के लिए फेसबुक का IPv6 है*:FACE:B00C:*
phuclv

वह बिलकुल नहीं है। आप सिर्फ हेक्स लेट्सपेक के बारे में बात कर रहे हैं। यह वस्तुतः "100" के रूप में 100 की संख्या का उपयोग कर रहा है, क्योंकि यह हेक्साडेसिमल में 6 और 4 जैसा दिखता है।
Nyerguds

@Nyerguds स्ट्रिंग "6486" हेक्स में है, जो स्पष्ट रूप से हेक्सस्पेक है जहां आप वर्णों के रूप में हेक्स अंक पढ़ते हैं। 0xDEADBEEF के साथ क्या गलत है जब आप D के लिए 0xD का उपयोग करते हैं क्योंकि यह D जैसा दिखता है? यदि यह बदसूरत है, तो बीसीडी भी बदसूरत है, जहाँ आप सचमुच 100 नंबर का उपयोग 64 मतलब के लिए करते हैं
phuclv

5

वैकल्पिक शब्दEXE एक्सप्लोरर
OS / 2, NE, PE32, PE32 + और VxD फ़ाइल प्रकारों के लिए निष्पादन योग्य फ़ाइल एक्सप्लोरर।

यह एप्लिकेशन MiTeC पोर्टेबल एक्ज़ीक्यूटेबल रीडर पर आधारित है । यह निष्पादन योग्य फ़ाइल गुणों और संरचना को पढ़ता है और प्रदर्शित करता है। यह PE32 (पोर्टेबल निष्पादन योग्य), PE32 + (64 बिट), NE (विंडोज 3.x नई निष्पादन योग्य) और VxD (विंडोज 9x वर्चुअल डिवाइस ड्राइवर) फ़ाइल प्रकारों के साथ संगत है। .NET निष्पादनयोग्य भी समर्थित हैं।

यह Borland संकलक द्वारा संकलित फ़ाइलों के लिए शुरू की गई कक्षाएं, प्रयुक्त इकाइयाँ और प्रपत्रों की गणना करता है।

नोट: यह एक GUI के साथ आता है और आपको विंडोज बाइनरी फाइल स्ट्रक्चर को 'एक्सप्लोर' करने देता है।
अफसोस की बात है कि कमांड लाइन से खोलने के लिए लक्ष्य बाइनरी को स्वीकार करना भी संभव नहीं लगता है। लेकिन यह जो विवरण देता है वह कुछ मामलों में उपयोगी हो सकता है।


3

आप जाँच कर सकते हैं sigcheck.exeकि कौन सा Sysinternals सूट का हिस्सा है , उदा

$ sigcheck.exe some_app.exe

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

C:/Program Files (x86)/Foo App\some_app.exe:
    Verified:   Signed
    Signing date:   14:48 23/12/2015
    Publisher:  X
    Company:    X
    Description:    X
    Product:    Some App
    Prod version:   5.0.0.1241
    File version:   5.0.0.1241
    MachineType:    32-bit

1
यह DLL के लिए भी काम करता है।
user34660

2

PESnoop का उपयोग करने का एक और सरल तरीका है:

C:\> pesnoop photoshop.exe /pe_dh


-------------------------------------------------------------------------------
 PESnoop 2.0 - Advanced PE32/PE32+/COFF OBJ,LIB command line dumper by yoda
-------------------------------------------------------------------------------

Dump of file: photoshop.exe...
Modus:        64bit Portable Executable Image...
...

PESnoop पाने के लिए एक जगह यहाँ है: http://www.prestosoft.com/download/plugins/PESnoop.zip

- डेव



2

निर्भरता वॉकर न केवल exe फ़ाइलों बल्कि DLL फ़ाइलों को सत्यापित करने के लिए एक उपयोगी GUI उपकरण है। 64 बिट DLL या EXE फ़ाइल के बगल में थोड़ा 64 आइकन होगा।


1
filever /bad *.exe

WAMD64 या W32i या W16 पहले कॉलम में होंगे।


1

यदि आप प्रोग्राम चलाते हैं, तो आप Sysinternal Suite से "प्रोसेस मॉनिटर" (ProcMon) का उपयोग कर सकते हैं ।

यह पोर्टेबल है और आपको अपनी प्रक्रियाओं के बारे में बहुत सारी जानकारी देता है।


1
वह शायद ओवरकिल है।
सिंथेटिक्स
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.