Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

comprendre getchar()

59 réponses
Avatar
bpascal123
Je trouve getchar() assez difficile =E0 comprendre. Au lieu de saisir du
clavier, getchar lit directement dans la m=E9moire? Presser une touche
du claver entraine un signal dans le bios qui "renvoie" ce signal dans
le kernel puis dans la m=E9moire (buffer) et de ce dernier est affich=E9
le caract=E8re de la touche press=E9e (par ex.: a) pr=E9c=E9demment. Par
contre le caract=E8re reste toujours dans le buffer mais dans la partie
"ancienne" du buffer. Dans la partie "neuve", se trouverait les
caract=E8res qui n'ont pas =E9t=E9 affich=E9s =E0 l'=E9cran ou trait=E9s d'=
une autre
mani=E8re.

Ce code d'apparence simple pour la saisie me laisse perplexe:

#include <stdio.h>

int main(void)
{
char c ;
c =3D getchar() ;

while ( c !=3D EOF )
{
putchar(c) ;
c =3D getchar() ;
}
return 0 ;
}

Je me demande si un petit apprentissage de l'assembleur jusqu'=E0
comprendre ce code, ne serait pas utile dans ce cas?

9 réponses

2 3 4 5 6
Avatar
tth
Antoine Leca a raconté :

donc oui, l'appel système write passera par l'instruction int 0x80.



Non ! Plus depuis une petite dizaine d'années. Aujourd'hui c'est
sysenter/syscall. Et c'est dans un groupe Linux qu'on aura plus de
détail, cela n'a rien à voir avec le C.



/me va aller se faire remettre à jour :)

--
Seeking for a new job : http://tboudet.free.fr/cv.html
Avatar
Samuel DEVULDER
Antoine Leca a écrit :

Non ! Plus depuis une petite dizaine d'années. Aujourd'hui c'est
sysenter/syscall. Et c'est dans un groupe Linux qu'on aura plus de
détail, cela n'a rien à voir avec le C.



Néanmoins quelques détails supplémentaires sur le sujet pour ceux que ça
intéresse:

http://articles.manugarg.com/systemcallinlinux2_6.html

(en gros c'est à cause du Pentium IV qu'il y a eu un changement)

sam.
Avatar
bpascal123
En fait, ma curiosité sur l'assembleur et la lecture des caractères
saisie sur le clavier serait d'avoir une petite idée du fonctionnement
des keyloggers.
A bon entendeur, merci
Avatar
Ael Rowen TERENCE
a écrit dans le message de groupe de discussion
:
En fait, ma curiosité sur l'assembleur et la lecture des caractères
saisie sur le clavier serait d'avoir une petite idée du fonctionnement
des keyloggers.
A bon entendeur, merci



Soit, mais ce n'est pas une question sur le C.
Ni de l'assembleur, d'ailleurs.
C'est une question à poser sur un forum traitant des OS que tu cibles.
Avatar
-ed-
On 29 juin, 14:51, ""
wrote:
En fait, ma curiosité sur l'assembleur et la lecture des caractères
saisie sur le clavier serait d'avoir une petite idée du fonctionnement
des keyloggers.



Plutôt malsain comme curiosité ... Tu a l'intention de relever des
mots de passe ?
Avatar
xtof pernod
Le 30/06/2010 10:26, -ed- a fait rien qu'à écrire:
On 29 juin, 14:51, ""
wrote:
En fait, ma curiosité sur l'assembleur et la lecture des caractères
saisie sur le clavier serait d'avoir une petite idée du fonctionnement
des keyloggers.





Okaaay.. Ca explique pas mal de choses.. Le prog qui cause au bios mode
années 80, la réticence à ouvrir un bouqin..

Bon, la bonne nouvelle, c'est que c'est pas "compliqué" à faire:
# ls -l /usr/src/linux/drivers/input/evdev*
-rw-r--r-- 1 root root 3107 2010-06-12 04:14 drivers/input/evbug.c
-rw-r--r-- 1 root root 4975 2010-06-18 20:12 drivers/input/evbug.ko

Usage:
# cat /proc/kmsg &
# modprobe evbug
et regarde ce qui se passe si tu touche au clavier, à la souris..

La mauvaise, c'est qui faut connaître un minimum de C. Et de manip's de bits.


Plutôt malsain comme curiosité ... Tu a l'intention de relever des
mots de passe ?




Va savoir. C'est peut-être pour une bonne cause ?! Un détournement
de capitaux, par ex. Le monsieur a dit être comptable de son état..

[profession respectable s'il en est, bien sûr]

--
christophe.
Avatar
-ed-
On 30 juin, 14:47, xtof pernod wrote:
> Plutôt malsain comme curiosité ... Tu a l'intention de relever des
> mots de passe ?

Va savoir. C'est peut-être pour une bonne cause ?! Un détournement
de capitaux, par ex. Le monsieur a dit être comptable de son état..

[profession respectable s'il en est, bien sûr]




Kerviel, on t'a démasqué !
Avatar
Gabriel Dos Reis
Samuel DEVULDER writes:

| Ah? Mon man n'indique rien de tel.

Mauvais man ; changer de man.

-- Gaby
Avatar
Gabriel Dos Reis
Samuel DEVULDER writes:

[...]

| Ca serait quand même curieux que la doc utilisateur, le manpage, ne
| donne pas l'info suffisante pour pouvoir utiliser feof().

Oui. Et ?

-- Gaby
2 3 4 5 6