2010-02-15 8 views
14

में मर्ज करें क्या दो exe फ़ाइलों को एक प्रोग्राम में रूपांतरित करने का कोई तरीका है, ताकि इसे चलाने से पुरानी एक्सई फ़ाइलों को एक साथ निष्पादित किया जा सके। मुझे Google पर कुछ चीजें कोड या डीएलएल फाइलों को इंजेक्शन देने के बारे में मिलीं, लेकिन क्या यह संभव है कि दो एक्सई फाइलों को दो विलय करें या exe में exe इंजेक्ट करें?दो exe फ़ाइलों को एक प्रोग्रामेटिक रूप से

अग्रिम धन्यवाद।

[संपादित करें] सभी को धन्यवाद। सिर्फ उन लोगों के लिए जिन्होंने कहा कि यह संभव नहीं है, मुझे कहना है कि मैंने कुछ सुझाव दिए हैं। यह लगभग इस तरह से चला जाता है (मुझे यह सब याद नहीं है क्योंकि यह बहुत समय पहले था):

[सावधानी: यह एल्गोरिदम कुछ कीड़े और वायरस के समान ही है। मैं एक हैकर या एक वायरस लेखक नहीं हूँ! और इसका प्रयोग केवल प्रयोगात्मक या अवांछनीय कारणों से किया जाना चाहिए - कोड में गलतियों को निष्पादन में निष्पादन योग्यों को बर्बाद कर सकते हैं।]

1- एक्सई स्वयं का आकार यह जांचने के लिए जांचता है कि क्या कुछ भी स्वयं में जोड़ा गया है या नहीं।

 1.1- The exe finds other executable files in its directory (lets call one of them as victim!) 
    1.2- it makes a copy of itself (lets call it newMe) 
    1.3- it copies the other executable found in the directory to the end of newMe. 
    1.4- it deletes the other executable file found and renames newMe to its victim's name. 

2- exe पता लगाता है कि कुछ इसे करने के लिए तो जोड़ा गया है: अगर यह तो नहीं है

 2.1- Then it copies data from itself (from ORIGINAL_FILE_SIZE to the end of file) to a new file (lets call it newBorn.exe) 
    2.2- It runs itself's code and then executes the newBorn. 

मैंने कहा कि मैं लगभग किया यह इस तरह से exe एक और जोड़ देता में क्योंकि खुद से exe। लेकिन इसे 2 या 3 या अधिक एक्जिक्यूटिव को एक में जोड़ने और निष्पादित करने के लिए दोहराया जा सकता है। आपको बस लिखित कार्यक्रम के ORIGINAL_FILE_SIZE को जानना होगा।

+1

exefusion एक ट्रोजन है मैलवेयर। – BioDeveloper

उत्तर

5

सैद्धांतिक रूप से यह संभव है, लेकिन यह आपकी तरफ से कुछ प्रयास करेगा।

आप एक exe फ़ाइल में डेटा जोड़ सकते हैं, इस प्रकार स्वयं निकालने वाले अभिलेखागार काम करते हैं। हालांकि, आपको फ़ाइल सिस्टम के समान, अपने डेटा प्रारूप की आवश्यकता होगी, क्योंकि आपके पास केवल एक फ्लैट .exe फ़ाइल है।
इस Microsoft लेख देखें (एक बहुत गूगल पर अधिक नहीं है) http://support.microsoft.com/?scid=kb%3Ben-us%3B84062&x=12&y=13

exe ​​आप चाहिए में अपने दो फ़ाइलों पैकिंग कर रहे हैं तो उन फ़ाइलों को अलग और अंत में उन्हें चला सकते हैं।

शुभकामनाएं।

5

नहीं, आपकी सबसे अच्छी शर्त .bat फ़ाइल (विंडोज) बनाने के लिए है जो निष्पादन योग्य फ़ाइलों को चलाती है।

@echo off 
c:\path\to\first\exe\file1.exe 
c:\path\to\second\exe\file2.exe 

तुम भी लिनक्स में एक shell script बना सकते हैं एक ही बात करने के लिए

#!/bin/sh 
/path/to/first/exe/file1 
/path/to/second/exe/file2 

ध्यान दें, यह करें 2 से पहले file1 पर अमल होगा।

+1

यह एक अच्छा सुझाव नहीं है और ज्यादातर काम नहीं करेंगे। सभी तीन फाइलों को एक ही डीआईआर में होना होगा। दो बाइनरी को एक साथ पैक करना भी संभव है, और उन्हें दोनों चलाएं। – Dio

-3

नहीं, किसी अन्य में एक exe "इंजेक्ट" करना संभव नहीं है। यह क्रिया भी परिभाषित नहीं की जाती है क्योंकि आपके पास निष्पादन आंतरिक पर नियंत्रण नहीं होता है जब आप वस्तुओं को एक-दूसरे में इंजेक्ट करते हैं।

one.exe | two.exe 
+0

विंडोज़ पर, मुझे पूरा यकीन है कि एक। Exe दो.exe से पहले पूरी तरह से निष्पादित होगा। यकीन नहीं है कि यह वांछित है। –

+3

-1। चूंकि एक एक्सई के आउटपुट को दूसरे के इनपुट में रीडायरेक्ट करना ओपी के समान नहीं है। बहुत अलग। –

4

आप अपनी खुद की EXE फ़ाइल बना सकते हैं कि दो अन्य EXE में शामिल हैं:

निकटतम बात संभव exe फ़ाइलों के साथ पाइपिंग, जहाँ आप एक दूसरे के इनपुट के लिए एक exe फ़ाइल के उत्पादन अनुप्रेषित कर सकते हैं है एम्बेडेड संसाधनों और निष्कर्षों के रूप में फ़ाइलें और उनमें से प्रत्येक को निष्पादित करता है।

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

1

1 फ़ाइल से डेटा को तीसरे स्थान पर कॉपी करें ईओफ़ की स्थिति याद रखें। दूसरी फ़ाइल से तीसरी तक बाइनरी जोड़ें। फिर ईओएफ मूल्य के अंत संख्या (int में) जोड़ें। पहली फ़ाइल में एक कोड होना चाहिए जो पूरी फ़ाइल को इस मान से फ़ाइल के अंत तक दूसरी फ़ाइल में कॉपी कर सकता है।

और निष्पादित करें।

ऐसा करने का यह आसान तरीका है।

3

तकनीकी रूप से आपके exe में कुछ अन्य exes फ़ाइलों को एम्बेड करना संभव है, कुछ पैकर्स जैसे अपक्स करते हैं। तो आप 2 exes के साथ ऐसा करने में सक्षम होना चाहिए।

फैशन की तरह एक यूनिक्स में आपका एक्स फोर्क सकता है, तो पहली प्रक्रिया पहले पुराने निष्पादन योग्य को निष्पादित करती है, और नई प्रक्रिया दूसरे exe निष्पादित करती है, शायद पहले उनके बीच एक पाइप स्थापित कर सकती है।

लेकिन यह स्पष्ट रूप से करना इतना आसान नहीं है और शायद आपकी आवश्यकताओं के लिए बेकार ओवरकिल। आपको शायद एक छोटे से .bat या .sh

3

मैं अपने "प्रोग्राम के रूप में" क्वालीफायर देखा, लेकिन सिर्फ मामले में एक आउट-ऑफ-कोड समाधान जो कुछ भी आप कर रहे हैं के लिए स्वीकार्य है ...

IExpress एक EXE जो दो अन्य व्यय निष्पादित करता है बना सकते हैं। आप कमांडलाइन से एक आईईएक्सप्रेस पैकेज बना सकते हैं।

एसईडी फ़ाइल:

[संस्करण]
कक्षा = IExpress
SEDVersion = 3
[विकल्प]
PackagePurpose = InstallApp
ShowInstallProgramWindow = 1
HideExtractAnimation = 1
UseLongFileName = 0
InsideCompressed = 0
CAB_FixedSize = 0
CAB_ResvCodeSigning = 0
RebootMode = एन
InstallPrompt =% InstallPrompt%
DisplayLicense =% DisplayLicense%
FinishMessage =% FinishMessage%
टार्गेटनाम =% टार्गेटनाम%
FriendlyName = % FriendlyName%
AppLaunched =% AppLaunched%
PostInstallCmd =% PostInstallCmd%
AdminQuietInstCmd =% AdminQuietInstCmd%
UserQuietInstCmd =% UserQuietInstCmd%
SourceFiles = SourceFiles
[स्ट्रिंग्स]
InstallPrompt =
DisplayLicense =
FinishMessage =
टार्गेटनाम = C: \ combined.exe
FriendlyName = उदाहरण शीर्षक
AppLaunched = रन
.bat PostInstallCmd =
AdminQuietInstCmd =
UserQuietInstCmd =
FILE0 = "FirstProgram.exe"
File1 = "SecondProgram.exe"
करें 2 = "run.bat"
[SourceFiles]
SourceFiles0 = C: \ कार्यक्रमों \
[SourceFiles0]
% FILE0% =
% file1% =
% करें 2% =

run.bat फ़ाइल:

FIRSTP ~ 1.EXE
दूसरा ~ 1.EXE

जब आप combined.exe चलाने के लिए, firstProgram.exe निष्पादित करेंगे। जब यह समाप्त हो जाए, तो दूसराProgram.exe निष्पादित होगा। यदि आप पहले प्रोग्राम चलाने के लिए firstProgram.exe और secondProgram.exe चाहते थे, तो यह बीएटी फ़ाइल में बदलाव के साथ किया जा सकता है।

1

यह कैसे मैं C++ प्रणाली मेरी वायरस लिखा था ("प्रकार virus.exe > > not_virus.exe") लेकिन यदि आप इसे कमांड प्रॉम्प्ट के माध्यम से कर रहे हैं तो बस यह करते हैं। प्रकार virus.exe > > not_virus.exe लेकिन मैं आगे एक तरह से मैं यह पहले गोटो पहली पंक्ति के लिए यह पूछकर जोड़कर बजाय पहले जोड़ें कर सकते हैं करने के लिए देख रहा हूँ तो शिकार निष्पादन योग्य फ़ाइल में अपने कोड को कॉपी