Strona 1 z 4 123 ... OstatniOstatni
Pokaż wyniki od 1 do 15 z 47

Temat: Piszemy Konfigurator pod keylogera/trojana/itp

  1. #1
    Użytkownik
    Dołączył
    10-02-2007
    Posty
    714

    Domyślnie Piszemy Konfigurator pod keylogera/trojana/itp

    W tutku opiszę jak utworzyć prosty konfiguratorek pod keyloger'a/serwer/itp.

    Co będzie nam potrzebne?:

    -Borland Delphi 7
    -Mózg

    Do roboty...

    Stworzymy 2 pliki, jeden będzie konfiguratorem a drugi serwerem. Efektem pracy będzie Generowanie serwera poprzez konfigurator i konfigurowanie go.

    Serwer

    Odpalamy Delphi i tworzymy nowy projekt.

    Na forme wrzucamy komponenty:

    -Edit x2

    Tak powinna wyglądać nasza 'Forma':



    No i teraz na łatwizne, skorzystamy z gotowca znalezionego w necie...

    W głównym Var dodajemy:
    Kod:
    XXX : string;

    Pod
    Kod:
    implementation
    
    
    
    {$R *.dfm}
    Wklejamy ten kod:

    Kod:
    function Split(input:string;s:integer):string;
    
    var
    
    l : integer;
    
    d : integer;
    
    finish :string;
    
    begin
    
    l :=0;
    
    d :=0;
    
    while (d <= s) and (length(input) >= l) do
    
    begin
    
    l := l + 1;
    
    if d = s then
    
    finish := FINISH + copy(input,l,1);
    
    if copy(input,l,1) = '|' then
    
    d := d + 1;
    
    end;
    
    while Pos('|', finish) > 0 do
    
    delete(finish, Pos('|', finish), 1);
    
    split := finish;
    
    end;
    
    
    
    //
    
    
    
    function LoadFromExe(FName: string): string;
    
    var
    
    F : file of Byte;
    
    i : Integer;
    
    begin
    
    Result := '';
    
    AssignFile(F, FName);
    
    FileMode := fmOpenRead;
    
    Reset(F);
    
    try
    
    Seek(F, FileSize(F) - SizeOf(i));
    
    BlockRead(F, i, SizeOf(i));
    
    if (i < SizeOf(i)) or (i > FileSize(f)) then Exit;
    
    Seek(F, FileSize(F) - i);
    
    SetLength(Result, i - SizeOf(i));
    
    BlockRead(F, Result[1], Length(Result));
    
    XXX := Result;
    
    Split(XXX,0); // Odpowiada Edit1 z konfiguratora
    
    Split(XXX,1); // Odpowiada Edit2 z konfiguratora
    
    //Ile editów, tyle razy powielamy Split...
    
    finally
    
    CloseFile(F);
    
    end;
    
    end;
    Teraz do zdarzenia OnCreate Formy wklejamy:
    Kod:
    CopyFile(Pchar(paramstr(0)),Pchar('c:plik.exe'),True); // skopiowanie pliku na dysk c:
    
    LoadFromExe('c:plik.exe'); // zaladowanie stringów
    
    Edit1.text:=Split(XXX,0); // przypisanie edit1 wartosci z pierwszego stringa
    
    Edit2.text:=Split(XXX,1); // -||- -||- ... z drugiego stringa 
    
    DeleteFile('c:plik.exe'); //kasuje plik.exe z C:
    Kompilujemy i zapisujemy nasz program.

    Dobra to by było na tyle jeśli chodzi o serwer, ofc. można to urozmaicić ale to już według waszych potrzeb =p

    Konfigurator

    Odpalamy delphi i tworzymy nowy projekt.

    Na forme wrzucamy:

    -Edit x2
    -Button

    Tak powinna wyglądać nasza 'Forma':



    Pod
    Kod:
    implementation
    
    
    
    {$R *.dfm}
    wklejamy:


    Kod:
    procedure SaveToExe(FName, Str: string);
    
    var
    
    F : File of Byte;
    
    I : Integer;
    
    begin
    
    AssignFile(F, FName);
    
    Reset(F);
    
    try
    
    Seek(F, FileSize(F) - SizeOf(I));
    
    BlockRead(F, I, SizeOf(I));
    
    if (I < SizeOf(I)) or (I > FileSize(F)) then I := 0;
    
    Seek(F, FileSize(F) - I);
    
    Truncate(F);
    
    BlockWrite(F, Str[1], Length(Str));
    
    I := Length(Str) + SizeOf(I);
    
    BlockWrite(F, I, SizeOf(I));
    
    finally
    
    CloseFile(F);
    
    end;
    
    end;
    Klikamy teraz 2 razy na button i wklejamy:

    Kod:
    SaveToExe('serwer.exe',Edit1.Text+'|'+Edit2.Text); //konfigurator //zapisuje dane z pól edit1 i edit2 Konfiguratora i zapusuje je w //serwerze
    Kompilujemy i zapisujemy nasz projekt.

    Narazie to nie wszystko z konfiguratorem... zaraz do niego wrócimy

    Zasoby

    Utworzymy teraz zasób który upchamy do konfiguratora. Zasobiem konfiguratora będzie właśnie serwer.

    Robimy sobie nowy oddzielny folder (zeby sie pozniej nie pogubić). Do tego folderu musisz wkleić plik brcc32.exe który znajduje się:
    (doyślnie)
    Kod:
    C:Program FilesBorlandDelphi7Bin
    Wklejamy również nasz serwer.
    W tym samym folderze tworzymy nowy dokument tekstowy(*txt) załóżmy pod nazwą zasob.txt, i piszemy w nim:
    Kod:
    serwer RCDATA "serwer.exe"
    Podsumowywując: W naszym folderze powinniśmy mieć 3 pliki:
    -brcc32.exe
    -serwer.exe
    -zasob.txt

    Jesli wszystko się zgadza to otwieramy CMD (uruchomić można Start>uruchom>(wpisujesz)CMD i Enter
    i teraz musimy podać ścieżkę do pliku brcc32.exe(spacja)ścieżka do zasob.txt. Podam przykład:
    Kod:
    C:Documents and Settings3rr0rxPulpitkonfiguratorzasobbrcc32.exe C:Documents and Settings3rr0rxPulpitkonfiguratorzasobzasob.txt
    Jesli wszystko będzie OK to w folderze powinien ukazać się plik zasob.res.

    No to zasób gotowy, czas dokończyć konfigurator.

    Konfigurator/Upychanie zasobów

    Do folderu z źródłem konfiguratora musimy skopiować zasob.res, który przed chwilką utworzyliśmy.
    Jak już to zrobiliśmy to otwieramy nasz projekt (źródełko konfiguratora) i piszemy:
    Pod
    Kod:
    implementation
    
    
    
    {$R *.dfm}
    wpisuesz:
    Kod:
    {$R zasob.RES}
    W całości powinno to wyglądać tak:
    Kod:
    implementation
    
    
    
    {$R *.dfm}
    
    {$R res.RES}
    Jak już to zrobiliśmy to przydałoby się ten serwer wypakować no więc...
    Do głównego Var wpisujemy:
    Kod:
     Res : TResourceStream;
    
     Dir : String;
    Klikamy teraz 2x na naszego Buttona i przed wcześniej wpisanym kodem piszemy:
    Kod:
    Res:=TResourceStream.Create(hInstance, 'serwer', RT_RCDATA);
    
    **Res.SaveToFile(GetCurrentDir+'serwer.exe'); //pobiera aktualna //sciezke i wypakowywuje nasz serwer jako serwer.exe
    
    **Res.Free;
    
    sleep(500);
    W całości kod z buttona powinien wyglądać tak:

    Kod:
    Res:=TResourceStream.Create(hInstance, 'serwer', RT_RCDATA);
    
    **Res.SaveToFile(GetCurrentDir+'serwer.exe'); //pobiera aktualna //sciezke i wypakowywuje nasz serwer jako serwer.exe
    
    **Res.Free;
    
    sleep(500);
    
    SaveToExe('serwer.exe',Edit1.Text+'|'+Edit2.Text); //konfigurator //zapisuje dane z pól edit1 i edit2 Konfiguratora i zapusuje je w //serwerze
    To by było na tyle

    Tutek created by: 3rr0rx

    Jakieś pytania? to pisać Tu a nie spamować mi gg (:

  2. #2
    Dawni Moderatorzy
    Dołączył
    30-03-2005
    Skąd
    Fabryka Wina
    Posty
    393

    Domyślnie

    Wrescie ktos to zebrał do kupy :-)
    Mozna wprowadzic do tego kilka poprawek badz zrobic to ciut prosciej za pomoca MadRes, ale topic git , wiec przyklejam :-)

  3. #3
    Użytkownik
    Dołączył
    05-09-2007
    Posty
    44

    Domyślnie

    Jesli wszystko się zgadza to otwieramy CMD (uruchomić można Start>uruchom>(wpisujesz)CMD i Enter
    i teraz musimy podać ścieżkę do pliku brcc32.exe(spacja)ścieżka do zasob.txt. Podam przykład:
    Kod:

    Cocuments and Settings3rr0rxPulpitkonfiguratorzasobbrcc32.exe Cocuments and Settings3rr0rxPulpitkonfiguratorzasobzasob.txt[/b]

    Może wystąpić problem ze ścieżką, jak dobrze pamiętam, kiedy wystepują spacje w ścieżce nalezy wziąć całą ścieżkę w '....' cudzysłowy. Ja tam zrobiłem sobie D:zasobbrcc32.exe i mam luzz )

    [ Dodano: 16-09-2007, 12:03 ]
    poza tym wszystko działa dobra robota wielkie dzięki

  4. #4
    Użytkownik
    Dołączył
    21-05-2007
    Posty
    416

    Domyślnie

    Artykuł fajny ale trzeba mieć pojęcie o delphi żeby zrozumieć kod a jak ktoś chce zrobić np. 3 edity to nie wie e trzeba rozdzielić je | i potem odczytać split(XXX,2) itd.

  5. #5
    Użytkownik
    Dołączył
    10-02-2007
    Posty
    714

    Domyślnie

    Originally posted by adikx
    a jak ktoś chce zrobić np. 3 edity to...
    ...to zapyta w tym temacie a ja postaram mu sie pomoc

  6. #6
    Użytkownik
    Dołączył
    07-07-2007
    Posty
    36

    Domyślnie

    A może dałbyś jeszcze jakieś screeny jak co wygląda ??

  7. #7
    Użytkownik
    Dołączył
    10-02-2007
    Posty
    714

    Domyślnie

    OK dodałem wygląd 2 'Form', konfiguratora i serwera. Może potem dam gotowe źródełko.

  8. #8
    Użytkownik
    Dołączył
    04-06-2007
    Skąd
    Świnoujście
    Posty
    334

    Domyślnie

    wielki + przyda mi sie
    ze wzgledu na liczne bledy w moim ;/

    // Edit Wszystko bylo by pieknie gdyby nie to :

  9. #9
    Użytkownik
    Dołączył
    10-02-2007
    Posty
    714

    Domyślnie

    Musisz wpisac jednorazowo sciezke do brcc32 i do .txt

  10. #10
    Użytkownik
    Dołączył
    16-08-2007
    Posty
    7

    Domyślnie

    Nie ma jakiegoś innego sposobu? Bo za każdym razem, gdy uruchomię serwer, to program coś robi... ;/ A powinno być tak, że tylko raz tak się robi, a nie za każdym razem...
    A poza tym świetny tutek Działa w 100%

  11. #11
    Użytkownik
    Dołączył
    10-02-2007
    Posty
    714

    Domyślnie

    Originally posted by mateok
    Nie ma jakiegoś innego sposobu? Bo za każdym razem, gdy uruchomię serwer, to program coś robi...
    Mozesz jasniej :E ?

  12. #12
    Użytkownik
    Dołączył
    16-08-2007
    Posty
    7

    Domyślnie

    No bo w serwerze w OnCreate jest jakis kod. I oto chodzi, zeby mi serwer za kazdym razem nie przetwarzal tego kodu, tylko raz a dobrze Zeby te dane byly juz wprowadzone na zawsze ;]

  13. #13
    Użytkownik
    Dołączył
    23-07-2007
    Skąd
    Olesno
    Posty
    207

    Domyślnie

    Moim zdaniem żeby było "all in one" to jeszcze brakuje tutaj: "Jak napisać bindera?"
    Nie ma wiele roboty, bo wystarczy podąć zwykłą funkcje UpdateResource i tyle, ale ludziom
    się przyda :]

  14. #14
    Dawni Moderatorzy Avatar grzonu
    Dołączył
    26-12-2006
    Skąd
    Gdansk, Poland, Poland
    Posty
    1 392

    Domyślnie

    ale już own3r napisal arta o tworzeniu bindera pozatym przy tworzeniu bindera nie zawsze trzeba kozystac z zasobow
    Filmy online---Grzonu Blog

    1) Moje gg to nie pomoc techniczna w obsludze keyloggerow!!! Na gg i pw pomagam tylko w kwestiach organizacyjnych forum. Masz problem to pisz na forum.
    2) Nie zajmuje sie malware a uprzedzajac pytanie "czemu?" - bo taki mam kaprys!

  15. #15
    Użytkownik
    Dołączył
    22-05-2007
    Skąd
    Giżycko
    Posty
    104

    Domyślnie

    Klikamy teraz 2x na naszego Buttona i przed wcześniej wpisanym kodem piszemy:
    Kod:

    Res:=TResourceStream.Create(hInstance, 'serwer', RT_RCDATA);
    Res.SaveToFile(GetCurrentDir+'serwer.exe'); //pobiera aktualna //sciezke i wypakowywuje nasz serwer jako serwer.exe
    Res.Free;
    sleep(500);[/b]

    Mi wyskakuje blad, jak to dam...
    [Error] Unit2.pas(53): Undeclared identifier: 'Res'

    PROSZĘ O POMOC!!

Podobne wątki

  1. Tutorial: Piszemy notatnik(szczegółowo opisane)
    Przez Bezel21
    w forum Delphi/Pascal
    Odpowiedzi: 11
    Ostatni post / autor: 01-10-2011, 21:51
  2. Maskowanie keylogera
    Przez Mordok
    w forum Bindery
    Odpowiedzi: 8
    Ostatni post / autor: 29-12-2008, 22:10
  3. Piszemy Exploita
    Przez sinis
    w forum Tutoriale - częste pytania i odpowiedzi.
    Odpowiedzi: 0
    Ostatni post / autor: 04-01-2008, 17:02
  4. Jak usunąć keylogera?
    Przez chudy166
    w forum Security
    Odpowiedzi: 19
    Ostatni post / autor: 02-09-2006, 10:28
  5. Potrzebuje keylogera
    Przez dewa
    w forum Keyloggery
    Odpowiedzi: 15
    Ostatni post / autor: 29-06-2004, 23:58

Uprawnienia

  • Nie możesz zakładać nowych tematów
  • Nie możesz pisać wiadomości
  • Nie możesz dodawać załączników
  • Nie możesz edytować swoich postów
  •