[NASM] Bot irc basique
|
10-05-2013, 23h51
Message : #1
|
|
Darmo
Newbie Messages : 22 Sujets : 3 Points: 6 Inscription : Mar 2013 |
[NASM] Bot irc basique
Bonsoir!
Après une semaine à bouffer de l'asm, moi et Trivial avons enfin fini de coder notre bot irc en NASM. Bon ok il est très basique, il ne fait que lire en brut les messages renvoyés par le serveur auquel on est connecté (irc.big-daddy.fr) et du channel. Code : BITS 32 Toutes critiques / remarques ou commentaires sont les bienvenus évidemment |
|
11-05-2013, 00h36
Message : #2
|
|
ark
Psyckomodo! Messages : 1,033 Sujets : 48 Points: 317 Inscription : Sep 2011 |
RE: [NASM] Bot irc basique
Cool du code assembleur!
Tiens, ca vous dis je vous fait la version 64 bits demain ? |
|
11-05-2013, 00h38
Message : #3
|
|
Trivial
Membre actif Messages : 223 Sujets : 10 Points: 29 Inscription : Aug 2011 |
RE: [NASM] Bot irc basique
Salut Ark.
Oui, ça serai plutôt simpa Je compte sur toi pour recevoir ça The game, Trivial. Citation :manger informatique, dormir informatique, chier informatique sans jamais avoir l'impression que ça nous accable ou que c'est relou, c'est ça être passionné - j0rn |
|
11-05-2013, 00h57
Message : #4
|
|
fr0g
NTEuNDI2MzcsLTEuNzc4NDg4 Messages : 348 Sujets : 22 Points: 56 Inscription : Aug 2011 |
RE: [NASM] Bot irc basique
Nice
|
|
11-05-2013, 01h05
(Modification du message : 11-05-2013, 01h07 par b0fh.)
Message : #5
|
|
b0fh
Membre actif Messages : 210 Sujets : 17 Points: 309 Inscription : Jul 2012 |
RE: [NASM] Bot irc basique
Très impressionnant, sauf que votre bot ne répond pas aux messages PING, il ne pourra donc pas rester connecté bien longtemps (et sur certains serveurs, il ne se connectera pas du tout).
Mais quitte a faire ce genre de trucs, faites-le jusqu'au bout: appeler la libc en externe c'est de la triche, faites tous les syscalls a la main. Et sinon, gcc -S, ça va bien aussi. |
|
11-05-2013, 01h15
Message : #6
|
|
Trivial
Membre actif Messages : 223 Sujets : 10 Points: 29 Inscription : Aug 2011 |
RE: [NASM] Bot irc basique
(11-05-2013, 01h05)b0fh a écrit : Très impressionnant, sauf que votre bot ne répond pas aux messages PING, il ne pourra donc pas rester connecté bien longtemps (et sur certains serveurs, il ne se connectera pas du tout). Exact, disons qu'on a arrête de coder le bot, dès qu'il s'est connecté au CHAN en question. A vrai dire, on a 2 autres projet à réaliser (Un keylogger en C), ainsi qu'un Snake en C++. Je vais faire ça dans la soirée (11-05-2013, 01h05)b0fh a écrit : Mais quitte a faire ce genre de trucs, faites-le jusqu'au bout: appeler la libc en externe c'est de la triche, faites tous les syscalls a la main. Oui, tu as tous à fais raison. Disons que grace à ce projet, j'ai appris beaucoup de chose en Assembleur. Je suis déjà fier de ce projet, même si ce n'est pas grand chose. Et pour ce qui est de gcc -S, crois moi que j'en ai mangé The game, Trivial Citation :manger informatique, dormir informatique, chier informatique sans jamais avoir l'impression que ça nous accable ou que c'est relou, c'est ça être passionné - j0rn |
|
11-05-2013, 12h31
Message : #7
|
|
sakiir
[sakiir@Ubuntu]:~$ ./ExploitMe ShellC0de Messages : 411 Sujets : 51 Points: 34 Inscription : Sep 2012 |
RE: [NASM] Bot irc basique
Bien joué les gars ! désolé pour mon absence on refait un truc du genre vite
|
|
13-05-2013, 15h14
Message : #8
|
|
ark
Psyckomodo! Messages : 1,033 Sujets : 48 Points: 317 Inscription : Sep 2011 |
RE: [NASM] Bot irc basique
Yo, bon, j'ai toujours pas fini la versions 64 bit, je me heurte en effet a un petit problème que je ne comprends pas...
Il s'agit d'un problème de passage de paramètres a la fonction connect(). Voici ce que me print un strace du binaire: Code : connect(3, {sa_family=AF_INET, sin_port=htons(0), sin_addr=inet_addr("0.0.0.0")}, 16) = -1 ECONNREFUSED (Connection refused) On peux voir que le port et l'ip sont tous les deux a 0, ca me gene un peu ^^ voila le code (ampute de certaines parties): Code ASM :
Voili voilou, donc si quelqu'un a une idee de pourquoi, je veux bien savoir! ^^ |
|
13-05-2013, 18h50
Message : #9
|
|
gruik
gouteur de savon Messages : 757 Sujets : 44 Points: 482 Inscription : Oct 2012 |
RE: [NASM] Bot irc basique
bon du coup t'as timeout sur irc donc je post ici
comme dit tu fais un connect() qui prend en paramètre une IP (dword/32) et tu lui files le pointeur sur "irc.n-pn.fr", entre les deux il manque un gethostbyname() ou au moins l'IP hardcodée du serveur (ex: 0x0100007f == 127.0.0.1) d'autre part tu fais un push QWORD 0x0b1a0000, c'est pas bon du tout, le port est un unsigned short (netinet/in.h) donc il faut mettre push word 0x0b1a à la place et idem pour le push AF_INET qui suit, sin_family est défini sur 16bits donc push word AF_INET dans la structure, pour ce qui est de sa taille ca ne change pas entre 32/64, ca fait bien 16 octets, hardcodé ça marche très bien |
|
14-05-2013, 01h50
Message : #10
|
|
ark
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 |
|
14-05-2013, 13h19
Message : #11
|
|
Trivial
Membre actif Messages : 223 Sujets : 10 Points: 29 Inscription : Aug 2011 |
RE: [NASM] Bot irc basique
Vraiment pas mal Ark \o/.
Dès que tu as finis, la meilleure solution, est d'éditer le Post de Darmo, histoire de foutre ton code . Trivial. Citation :manger informatique, dormir informatique, chier informatique sans jamais avoir l'impression que ça nous accable ou que c'est relou, c'est ça être passionné - j0rn |
|
14-05-2013, 14h01
Message : #12
|
|
gruik
gouteur de savon Messages : 757 Sujets : 44 Points: 482 Inscription : Oct 2012 |
RE: [NASM] Bot irc basique
ben euh.. non, ça dépend ce que tu cherches, perso je trouve intéressant de voir l'historique des démarches/des pb rencontrés, voir d'où c'est parti et où ça arrive à la fin, sinon on perd la cohérence temporelle en lisant le 1er post qui finalement est le post final et ceux qui suivent n'ont plus aucun intérêt, on pourrait aussi bien les supprimer dans ce cas ?
sinon en terme de bonne idée un lien pastebin et/ou un lien pour télécharger directement, voir le code un peu mieux ou autre, pourquoi pas... |
|
14-05-2013, 16h55
Message : #13
|
|
supersnail
Éleveur d'ornithorynques Messages : 1,609 Sujets : 71 Points: 465 Inscription : Jan 2012 |
RE: [NASM] Bot irc basique
Sinon pour ce qui est des structures, ben la macro NASM "struc" is your friend (et nomdelastruct_size pour avoir sa taille )
Mon blog
Code : push esp ; dec eax ; inc ebp ; and [edi+0x41],al ; dec ebp ; inc ebp "VIM est merveilleux" © supersnail |
|
« Sujet précédent | Sujet suivant »
|
Sujets apparemment similaires… | |||||
Sujet | Auteur | Réponses | Affichages | Dernier message | |
[NASM] Création d'un thread sous Linux uniquement avec les syscalls | supersnail | 2 | 230 |
04-03-2013, 23h36 Dernier message: Dobry |
|
[ASM] hello world 64bits (nasm) | gruik | 2 | 231 |
01-12-2012, 13h02 Dernier message: gruik |
Utilisateur(s) parcourant ce sujet : 1 visiteur(s)