Что нового
Теневой форум

Добро пожаловать на FSELL- крупнейший теневой форум. У нас Вы сможете найти огромное количество заработка в интернете, купить паспорт, ксиву, оружие, куча многих товаров и услуг, в виде пробива, взлома, нанять киллера. Все это Вы найдете на нашем форуме! Не пренебрегайте услугами Гарант-Сервиса, это убережет Вас от мошенников.

[Source] All Combine 2.0.2 [MNTL] - (D3c0mp1l3d By PC-RET)

Чёрнокнижник

Администратор
Команда форума
5QO2OMk.png


- ВАЖНО: Я заменила 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.


Скачать
 
Вверх