Arama butonu
Bu konudaki kullanıcılar: 1 misafir, 1 mobil kullanıcı
20
Cevap
894
Tıklama
1
Öne Çıkarma
Cevap: Şifrelenmiş bir Executable'ı şifresini açmadan çalıştırmak. (2. sayfa)
G
5 yıl
Yüzbaşı
Konu Sahibi

@Determinist Sizin dediğinizi scantime bir crypter ile yaptım. Builder stub'a şifrelenecek exe'yi şifreleyerek yazıyor. Ve bizden bir output path'i istiyor.

cin>>output;
CopyFile("stub.exe", output/*L"Crypted.exe"*/, 0);// Copy stub , so we done need to download a new one each time we crypt


Output'a kopyalanmış Stub.exe'nin resource'sine encrypt edilmiş exe'nin datasını yazıyor.

WriteToResources(output, 10, (BYTE *)file_data.data(), file_data.size());

Ve başarılı bir şekilde sonuçlandığında output olarak file.exe karşıma çıkıyor.

Sonradan file.exe'yi açmak istediğimde bu hatayı alıyorum.

< Resime gitmek için tıklayın >



Çözümünü araştırdım.
https://www.drivereasy.com/knowledge/solved-how-to-fix-0xc0000005-error/

Linkteki denileni yaptım fakat değişen bir şey olmadı.



Sorunun şundan dolayı olduğunu düşünüyorum :

Derlenmiş stub.exe'yi tek çalıştırmak istediğimde bu hatayı alıyorum.


< Resime gitmek için tıklayın >


Bu hatanın çözümünü araştıracağım.

Bir bildiğiniz varsa söylersiniz diye bu sorunları yazdım buraya.

Ama dediğinizi yapabildim. problem yok





< Bu mesaj bu kişi tarafından değiştirildi Guest-8F0924900 -- 22 Şubat 2020; 9:24:55 >
Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @Determinist
G
5 yıl
Yüzbaşı

Hocam scantime falan hiç karıştırma, yapacaklarını sırasıyla yazayım öncelikle dosyayı şifrelemeden çalıştır daha sonra şifrelersin

1: file.exe yi stub.exe ismiyle kopyala CopyFile("file.exe", "stub.exe", 0);
2: stub.exe nin sonuna bir string yaz "fStart"
3: şifrelemek istediğin dosyayı oku (calc.exe) stub.exe nin sonuna calc.exe verisini yaz (şifrelemeden).
4: stub.exe yi çalıştır ve kendini okut, daha sonra yazdığın stringi arat

char *p = NULL;
for(int i=0;i<stubsize;++i) //strcmp, strstr ile aratma
if(stubdata[i] == 'f' && stubdata[i+1] == 'S' && stubdata[i+2] == 't' && stubdata[i+3] == 'a' && stubdata[i+4] == 'r' && stubdata[i+5] == 't')
p = stubdata + i + strlen("fStart");
if(p)
{
runPE rp;
GetModuleFileNameA(0, LPSTR(szFilePath), 1024);
rp.run(szFilePath, p);
}


Test etmedim sadece mantığı yazmaya çalıştım.

Size önerim linkteki ekitabı okuyunhttps://gofile.io/?c=47BrVf

Temelde bazı problemler gördüm bende sizin gibi amatörüm yanlış anlamayın linkteki e-kitap kafanızdaki bir çok soruyu cevaplayacak.

Edit: for döngüsünün yanında uyarı yapmıştım kendim aynı hataya düşmüşüm strlen("fStart"); //"strcmp, strstr ile aratma"

Sebep şu; dosyada "fStart" stringini ararken ilk bulacağı p = stubdata + i + strlen("fStart"); daki "fStart" olacak bunun yerine (strlen("fStart");) string boyutunu el ile yaz p = stubdata + i + 6;





< Bu mesaj bu kişi tarafından değiştirildi Guest-4D62BFE91 -- 23 Şubat 2020; 1:34:50 >


Bu mesajda bahsedilenler: @codforc
DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.