पर एक बाइट सरणी विभाजित करें मुझे कुछ समस्याएं आ रही हैं और, अन्य प्रश्नों ने मुझे बहुत मदद नहीं की है।एक डेलीमीटर
मैं एक सुरक्षा छात्र हूं और मैं एक परियोजना के लिए एक क्रिप्टर लिखने की कोशिश कर रहा हूं। उन लोगों के लिए जो नहीं जानते कि यह क्या है आप यहां पढ़ सकते हैं। http://www.gamekiller.net/tutorials-guides/17187-tut-making-crypter-vb6-using-rc4.html
फिर भी, एक त्वरित विवरण, crypters एक कार्यक्रम को एनक्रिप्ट और फिर एक "ठूंठ" जो एक प्रोग्राम है जो यह decrypts, मोर्चे पर है affixing द्वारा antiviruses बायपास करने के लिए होती कार्यक्रम हैं। मुझे अपनी फाइल को विभाजित करने के साथ बहुत परेशान करने वाला मुद्दा है।
बड़ी परेशानी यह है कि मुझे क्रिप्ट एक्जिक्यूटिव को बाइट सरणी में रखना होगा, क्योंकि स्ट्रिंग्स ने मेरे क्रिप्ट एक्जिक्यूटिव में कुछ पात्रों को मार दिया है, जिससे इसे अपरिवर्तनीय बना दिया गया है। मामलों को और भी खराब बनाने के लिए मुझे अभी भी exe "विभाजन" करना है, और यही वह जगह है जहां समस्या शुरू होती है।
ठूंठ के मूल विचार है करने के लिए:
- जाओ मौजूदा exe पथ
- File.ReadAllytes
- स्प्लिट सीमांकक पर फ़ाइल, "EVILDELIMITER" के माध्यम से सभी बाइट्स पढ़ें
- अंतिम फ़ील्ड प्राप्त करें (चूंकि वह क्रिप्टेड EXE)
- आरसी 4
- का उपयोग करके इसे डीक्रिप्ट करें रनपीई का उपयोग करके चलाएं।
मेरे पास विभाजन भाग को छोड़कर सबकुछ काम कर रहा है, जो सबसे कष्टप्रद है। मैं डिलीमीटर पर एक बाइट सरणी कैसे विभाजित करूं? क्या इसे करने का कोई आसान रास्ता है?
यहां तक कि अब तक के स्टब के लिए कोड है।
public void main()
{
string outpath = RandomString(8) + ".exe";
byte[] key = { 33, 44, 55, 66, 77 };
string apppath = Assembly.GetEntryAssembly();
byte[] exe = File.ReadAllBytes(apppath);
string strseperate = "EVILSEPERATOREVIL";
System.Text.UTF8Encoding encoding = new System.Text.UTF8Encoding();
byte[] seperator = encoding.GetBytes(strseperate);
//Split code should go here
exe = Decrypt(key, encrypted);
Process.Start(outpath);
}
किसी भी मदद के लिए धन्यवाद।
यूटीएफ 8 को एन्कोडिंग आदर्श नहीं है। आप अमान्य यूनिकोड कोडपॉइंट प्राप्त कर सकते हैं। आपको बाइट सरणी के माध्यम से पुन: प्रयास करना चाहिए। – Polynomial
मैं अपनी स्ट्रिंग को बाइट सरणी में कैसे बदलूं? इससे पहले कि मैं इसके लिए खोज कर सकूं, मुझे अपने डिलीमीटर को बदलने की ज़रूरत है, जब तक कि आप किसी फ़ंक्शन के बारे में नहीं जानते जो मुझे स्ट्रिंग मान के साथ बाइट सरणी के माध्यम से खोजने दे। मैंने कोड भी तय किया, मैंने गलती से पुराने स्टब संस्करण का इस्तेमाल किया था। – redcodefinal
@Roger यह मुझ पर त्रुटियों का एक गुच्छा फेंकता है :(यह कहता है कि स्ट्रिंग में ToArray() विधि नहीं है। –
redcodefinal