- ВАЖНО: Я заменила AlphaSkin, так как моя Delphi ругалась на старую версию, оригинальные скины программы лежат в папке AlphaSkinks. - Недавно листала темы на разных форумах, изучала рынок программ и что вообще сейчас продают и вот наткнулась на соседнем борде на продажу исходника софта All Combine 2.0.2 [MNTL] с ценой кхе-кхе 20 000 рублей... В комплект входят: защита, сорец софта, движок и прочее. Учитывая что я ранее ломала данный софт, мне стало интересно увидеть код, который находится в движке / софте детально. Потратив немного своего времени я провела полную декомпиляцию данной программы и выкладываю ее исходный код. - Честно большего говна я не встречала еще нигде, так что фагам Object Pascal стоит пройти мимо и даже не заглядывать в эту хрень, а это еще продавалось и продается на рынке... И самое главное за исходник этого гибрида исходного кода кодера N и куска дерьма предлагали цену 20 000 рублей! - Исходный код программы восстановлен на 80%, соблюдены все "ошибки" отсутствующие TObject.Free, костыли, порядок действий и имена переменных насколько было возможно. В софте полностью восстановлены: Unit1, Unit2, Unit3, Unit4, Unit5, Unit6, Unit7, Unit9. Также исходный код соержит ряд комментариев, на которые прошу не обращать внимание, в частности адреса инструкций из оригинального файла. Из содержимого софта восстановлена работа прокси парсера с сервисов: BestProxies, FineProxy, ProxyElite, ProxyBox. Из содержимого брута восстановлена структура движка программы и авторизации сервисов: Mail, WF, Ubi, VK, OK, D2D, McGame. - Структура движка и потоков брута максимально сохранена насколько это было возможно, дабы вы понимали за что вы платите деньги и как это г* работает. Обращаю внимание, что лично моих функций в коде только две, которые я написала самостоятельно не выдирая код из отладчика и файла оригинала и это: GenerateHardWareId и GenerateRandomString. Также частично урезала код потока FThread.Execute вырезав оттуда блоки с кучей if else и прочей байды оставив общую структуру кода в неизменном виде. Больше всего меня поразило количество структур try finally end, а в частности Synchronize внутри которого был EnterCriticalSection и в последствии LeaveCriticalSection... P.S. Функциональность без допиливания участков кода не гарантируется, для запуска проекта после компиляции требуется вырезать защиту на Unit5 и авторизацию в программе. По крайней мере я старалась и претензии принимать по факту декомпиляции не буду - не довольны идите лесом мимо темы. Спойлер: Одна из функций сделанных мною Код: {------------------------------------------------------------------------------- Функция: GenerateRandomString Автор: [PC-RET] Yulya Дата: 2017.06.17 Входные параметры: strLength: Integer Результат: string -------------------------------------------------------------------------------} function GenerateRandomString(strLength: Integer): string; const strArray: string = '0123456789qwertyuiopasdfghjklzxcvbnm'; var Indexed: Integer; begin Result:= ''; Randomize; for Indexed:= 1 to strLength do begin Result:= Result + strArray[RandomRange(Low(strArray), High(strArray))]; end; end; Спойлер: Еще одна функция сделанная мною Код: {------------------------------------------------------------------------------- Функция: GenerateHardWareId Автор: [PC-RET] Yulya Дата: 2017.06.16 Входные параметры: Нет Результат: string -------------------------------------------------------------------------------} function GenerateHardWareId: string; var aBuffer: array[0..255] of Char; dwTemp, pdwSerial: DWORD; Bytes: TBytes; hardWareHash: string; ch: Byte; begin GetVolumeInformation('c:\', aBuffer, SizeOf(aBuffer), @pdwSerial, dwTemp, dwTemp, nil, 0); hardWareHash:= MD5(AnsiString(IntToStr(pdwSerial))); Bytes:= BytesOf(hardWareHash); for ch in Bytes do begin Result:= Result + IntToHex(ch, 2); end; end; - Я надеюсь что не найдется людей, кто решится писать на этом говне, выложено в ознакомительных целях и в целях чтобы показать что из себя представляют софты RC-SFT на самом деле и на чем они пишут. P.S. Спасибо за внимание, с уважением @K4RKON. Скрытый контент. Для просмотра Вы должны быть зарегистрированным участником