• STATISTIQUES
  • Il y a eu un total de 0 membres et 21905 visiteurs sur le site dans les dernières 24h pour un total de 21 905 personnes!
    Membres: 2 605
    Discussions: 3 579
    Messages: 32 816
    Tutoriels: 78
    Téléchargements: 38
    Sites dans l'annuaire: 58


  • ANNUAIRE
  • [EN] Defcon
    Lancé en 1992 par Dark Tangent, DEFCON est la plus ancienne et la plus grande conférence underground de...
    Hacking
    [EN] w3challs
    Ce site propose différents types de défis informatiques: piratage, craquage, cryptographie, stég...
    Hacking
    [EN] Framework Metasploit
    Le Framework Metasploit est un logiciel gratuit, open source de tests de pénétration développ&ea...
    Vulnérabilités
    [FR] Cyber-Hacker
    CH - Cyber Hacker est un jeu par navigateur de simulation de hack, programmez et envoyez vos virus et piratez les aut...
    Hacking
    [EN] phrack
    Lot's of stuff !
    Hacking
    [EN] Net Force
    Javascript: 9, Java Applets: 6, Cryptography: 16, Exploits: 7, Cracking: 14, Programming: 13, Internet: 15, Steganograph...
    Challenges
    [EN] Gekko
    Site de challenge présenter sous la forme d'une quête. Vous êtes un agent secret qui répond sous le nom...
    Challenges

  • DONATION
  • Si vous avez trouvé ce site internet utile, nous vous invitons à nous faire un don du montant de votre choix via Paypal. Ce don servira à financer notre hébergement.

    MERCI!




Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
[NASM] Bot irc basique
14-05-2013, 01h50
Message : #10
ark Hors ligne
Psyckomodo!
*****



Messages : 1,033
Sujets : 48
Points: 317
Inscription : Sep 2011
RE: [NASM] Bot irc basique
Okay, donc j'ai un peu avancer, on a le droit a un bot qui se co/deco instant! \o/ Magnifique. x) le seul probleme etant que j'ai hardcoded pas mal de trucs.

Voici le code pour l'instant, je compte virer mes trucs trop hardcoded et les remplacer par des trucs plus generiques. Et une fois que ca sera fait, je rajouterais la reponse au ping.

Code ASM :
BITS 64

    EXTERN  puts

    %DEFINE    BUFF_SIZE    1024
    %DEFINE INT_SIZE    4
    %DEFINE AF_INET        2
    %DEFINE    SOCK_STREAM    1

    %DEFINE SYS_SOCKET    41
    %DEFINE SYS_CONNECT    42
    %DEFINE SYS_CLOSE    3
    %DEFINE SYS_WRITE    1

    SECTION .rodata
            sock_error      db      "[-] Error while creating socket", 0
            sock_ok         db      "[+] The socket have been successfuly created", 0
            connect_error   db      "[-] Error: connexion to server failed", 0
            connect_ok      db      "[+] Connecting to irc.n-pn.fr", 0
            nick_cmd        db      "NICK asm64_bot", 0xd, 0xa, 0
            user_cmd        db      "USER BotDe7Lieu 0 0 :BotDe7Lieu", 0xd, 0xa, 0
            input_print     db      "\ninput: %s", 0
            channel         db      "JOIN #bot", 0xd, 0xa, 0
        server        db    "localhost", 0
    SECTION .bss
            buffer          resb    1024
        sock_fd        resb    4

    SECTION .text

        GLOBAL  main
main:
        push rbp
        mov rbp, rsp
;; make_socket
            mov     rdi, AF_INET
            mov     rsi, SOCK_STREAM
        mov    rdx, 0
            mov     rax, SYS_SOCKET
            syscall            ; Syscall socket()
            mov      [sock_fd], eax     ; Saving socket fd
            cmp     rax, 0
            jl      sock_fail
        mov     rdi, sock_ok
            call    puts
;; connect
        xor     rax, rax
        push       rax                ; padding
        push     DWORD 0xc589bf58     ; Hardcoded server's IP
        push     WORD 0x0b1a
        push     WORD AF_INET
        mov    rsi, rsp
        xor     rdi, rdi
        mov     edi, DWORD [sock_fd]
        mov    rdx, 0x10
        mov     rax, SYS_CONNECT
        syscall
        cmp    rax, 0
        jl    connect_fail
        mov    rdi, connect_ok
        call    puts

;; send data identification
        xor    rdi, rdi
        mov    edi, [sock_fd]
        mov    rsi, nick_cmd
        mov    rdx, 16
        mov     rax, 1
        syscall
        xor    rdi, rdi
        mov    edi, [sock_fd]
        mov    rsi, user_cmd
        mov    rdx, 33
        mov     rax, 1
        syscall

;; receive datas
        xor     rax, rax
        inc    rax            ; set rax to 1 for the cmp
        jmp     recv_data_loop1
recv_data_start1:
        xor     rdi, rdi
        mov    edi, [sock_fd]
        mov    rsi, buffer
        mov    rdx, 1024
        mov     rax, 0
        syscall                ; read what's on the socket 'till there's nothing left

        push     rax            ; save rax's value  which is read's return value
        mov    rdi, 1
        mov    rsi, buffer
        mov    rdx, rax
        mov     rax, 1
        syscall                ; print the buffer to stdout
        pop    rax

recv_data_loop1:
        cmp rax, 287            ; Hardcore cheat of the death <img src="https://dev.n-pn.fr/forum/images/smilies/confused.png" alt="Confused" title="Confused" class="smilie smilie_13" />hame:
        jne recv_data_start1

;; join chan
        xor    rdi, rdi
        mov    edi, [sock_fd]
        mov    rsi, channel
        mov    rdx, 11
        mov     rax, 1
        syscall

;; close connexion and exit
        call     close_socket
        mov     rax, 0
        leave
        ret

sock_fail:
        mov     rdi, sock_error
        call     puts
        mov     rax, 1
            leave
            ret

connect_fail:
        mov    rdi, connect_error
        call    puts
        call     close_socket
        mov     rax, 1
        leave
        ret

close_socket:                     ; This just closes the socket
        push     rbp
        mov    rbp, rsp
        xor    rdi, rdi
        mov     edi, DWORD [sock_fd]
        mov     rax, SYS_CLOSE
        syscall
        leave
        ret
 
+1 (3) -1 (0) Répondre


Messages dans ce sujet
[NASM] Bot irc basique - par Darmo - 10-05-2013, 23h51
RE: [NASM] Bot irc basique - par Ark - 11-05-2013, 00h36
RE: [NASM] Bot irc basique - par Trivial - 11-05-2013, 00h38
RE: [NASM] Bot irc basique - par fr0g - 11-05-2013, 00h57
RE: [NASM] Bot irc basique - par b0fh - 11-05-2013, 01h05
RE: [NASM] Bot irc basique - par Trivial - 11-05-2013, 01h15
RE: [NASM] Bot irc basique - par sakiir - 11-05-2013, 12h31
RE: [NASM] Bot irc basique - par Ark - 13-05-2013, 15h14
RE: [NASM] Bot irc basique - par gruik - 13-05-2013, 18h50
RE: [NASM] Bot irc basique - par Ark - 14-05-2013, 01h50
RE: [NASM] Bot irc basique - par Trivial - 14-05-2013, 13h19
RE: [NASM] Bot irc basique - par gruik - 14-05-2013, 14h01
RE: [NASM] Bot irc basique - par supersnail - 14-05-2013, 16h55

Sujets apparemment similaires…
Sujet Auteur Réponses Affichages Dernier message
  [NASM] Création d'un thread sous Linux uniquement avec les syscalls supersnail 2 324 04-03-2013, 23h36
Dernier message: Dobry
  [ASM] hello world 64bits (nasm) gruik 2 343 01-12-2012, 13h02
Dernier message: gruik

Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)
N-PN
Accueil | Challenges | Tutoriels | Téléchargements | Forum | Retourner en haut