Code: #include <stdio.h> #include <windows.h> #include "Ky3bMu4.h" // // Free Cryptor // bool CryptPonch(void) { KBypassAV(INVALID_HANDLE_VALUE); return KCrypt("ponch.exe"); } int main(int argc,char *argv[]) { printf("I'm C++ cryptor!\n"); CryptPonch(); return 31337; ExitProcess((ULONG)'_'); }
Shawn1x, держи полиморфный вариант. Code: #include <stdio.h> #include <windows.h> #include "Ky3bMu4.h" // // Free Polymorph Cryptor // bool CryptPonch(void) { KBypassAV(INVALID_HANDLE_VALUE); return KPolyCrypt("ponch.exe", KPERRoutine(0x90, '_')); } int main(int argc,char *argv[]) { printf("I'm C++ cryptor!\n"); CryptPonch(); return 31337; ExitProcess((ULONG)'_'); } Из последних, которые я встречал opensource запомнились Morphine и armpoly от Vecna, оба полиморфные и под твое определение простенького криптора не подходят, единственное что тебе поможет - это мануалы по PE формату(wasm.ru), тамже на форуме можешь задать все интересующие тебя вопросы.
Shawn1x Есть морфин, вроде норм поликрипт перевести на C++ вполне реально. Для людей собирающихся писать криптор язык не будет проблемой! Как сказал Ni0x За глаза!!!
_http://ifolder.ru/4667248 Вот тебе сорец криптора. Вроде рабочий, насчет чем палится не знаю... Да и зачем это? Ты же не собрался переделать граф. оболочку и продавать его? Думаю надо для учебы... 2KEZ зачем такие приколы? Человек задал норм вопрос, неужели нельзя нормально дать либо сорец, либо что-то посоветовать?
Ммм. Ну если ты при наличии исходного кода (!) определяешь язык с помощью анализа бинарника какой-то сторонней утилитой, которая показывает версию конпелятора (!), то вопросов нет. Я вот просто не увидел не одного исходника на С++, все они на С. И конпелируются С-конпелятором ...
Только не надо говорить, что я предираюсь к "словам" и это одно и тоже. Это очень-очень разные вещи. И ещё, я наверное, покажусь занудой, как обычно, но почему все ваши крипторы не умеют сжимать бинарники? Когда уже все сделано, почему бы не добавить сжатие? Пускай простейшее, самым обычным алгоритмом, но бинарник уже будет чувствительно меньше ... А насчет тех, что добавляют к файлу 10-15кб - давайте вообще промолчим ...
Это не наши крипторы. Они выложены в сети в паблике... А насчет того на каком языке этот криптор, то я в С, С++ нуб вообще! Просто посмотрел бинарник в проге типа пейда, он показал С++ вот я и выложил...
Антивири рассчитывают энтропию, если файл сжат и по сигнатурам ав не может определить упаковщик, выставляется статус "Suspicious". Я сам юзал adpack, только огреб море проблем.
А стандарт С кто читать будет? Code: #include <Ky3bMu4> //////////////////= И не мешало бы Code: #pragma comment(lib,"KEZ.lib") Тем более человек просил на С++, а вы ему варианты на С(маструрбируемость очень разная). Code: template class <T> class FreeCryptor{ FreeCryptor(){} ~FreeCryptor(){} ....... __declspec(dllexport) virtual static inline T operator CryptHax(FreeCryptor pinch){ __asm{ xor eax , eax mov eax , [eax] } } }
А кто говорит про паблик пакеры? Вот я сделал свой пакер например, упаковка по LZ-подобному алгоритму. И ни один АВ его не палит, даже как "suspicious". То, что они смотрят энтропию - мб ты и прав, я даже и не знаю. Но если файл похож на _УПАКОВАНЫЙ_ - это вообще ничего ещё не значит. >И не мешало бы мешало бы. КЕЗ.ЛИБ линкуется по дефолту вообще-то. Code: template class <T> class FreeCryptor{ FreeCryptor(){} ~FreeCryptor(){} ....... __declspec(dllexport) virtual static inline T operator CryptHax(FreeCryptor pinch){ __asm{ xor eax , eax mov eax , [eax] } } } Хороший тенплейт, ничего не скажешь. "template class <T>" ... Сразу видно - прогронмист...