Si j'ai l'adresse virtuelle de l'appel système, puis-je désassembler cet appel système? Je veux le faire sur le noyau en cours d'exécution pour trouver ce que toutes les adresses sont traitées par l'appel système particulier en cours d'exécution. J'utilise un noyau 32 bits 2.6.38 (x86).Comment faire pour désassembler un appel système
Répondre
Je ne suis pas sûr que votre question soit très significative.
S'il vous plaît lire davantage system calls, kernels, operating systems, linux, et le linux kernel
Essentiellement, un appel système (du point de vue de l'application) une opération atomique mis en oeuvre par une instruction de machine (int 0x80
, syscall
, etc.) avec quelques instructions de tenue de livres avant (par exemple chargement des arguments d'appel système dans les registres) et après (par exemple, réglage errno
). Quand cela arrive, le contrôle va dans le noyau, avec un (différent) espace d'adresse différent et un protection ring différent; voici le list of linux syscalls
Le code réel faisant l'appel système est à l'intérieur du noyau. Vous pouvez obtenir le code du noyau Linux sur kernel.org
Voir aussi la Linux Assembly Howto et asm.sourceforge.net
Pour comprendre ce système appels est en train de faire, utiliser une application ou processus strace
Désolé de ne pas avoir clarifié la question. Je veux désassembler un appel système particulier pour le noyau en cours d'exécution afin que je puisse trouver si une attaque de rootkit s'est produite ou non. – user567879
Comme je vous l'ai expliqué, cette question n'a aucun sens. Le code machine d'un appel système est essentiellement une instruction machine ('syscall') et vous ne pouvez pas le" désassembler ". S'il vous plaît prenez le temps de lire tous les liens que je vous ai donnés. –
J'ai compris que GDB pouvait le faire par gdb /boot/vmlinux-2.4.*/proc/kcore. Mais dans mon Debian, je n'ai que vmlinuz pas vmlinux. Est-ce qu'il y a un autre moyen? Ce lien donne l'explication http://www.symantec.com/connect/articles/detecting-rootkits-and-kernel-level-compromises-linux – user567879
- 1. comment désassembler un appel système?
- 2. Comment faire un appel système à partir d'un autre appel système dans l'espace noyau
- 3. Comment faire pour désassembler une création d'objet en Python?
- 4. En Perl, comment faire un appel système non bloquant?
- 5. Comment faire un appel
- 6. Comment faire pour installer un appel système dans un module noyau
- 7. Écrire un appel système pour Linux
- 8. Comment désassembler AMD ELF?
- 9. Travailler pour accepter() appel système
- 10. Comment puis-je faire un « appel système Tar fichiers (avec exclusion tag) » pour travailler en Perl
- 11. Comment désassembler le bytecode ABC?
- 12. J2ME: Comment faire un appel?
- 13. Appel système interrompu pour posix_memalign
- 14. Comment faire un appel récursif
- 15. Désassembler CGContextReplacePathWithShapePath()?
- 16. getaddrinfo() est un appel système?
- 17. Application ASP.NET pour faire un appel skype
- 18. Application iPhone pour faire un appel vocal
- 19. Comment untaint appel système CGI.pm
- 20. appel système Ruby
- 21. Comment faire un appel système et recharger un fichier dans une macro Visual Studio 2010?
- 22. système python appel
- 23. appel système pour tuer un processus dans le noyau linux
- 24. faire un appel sytem simple pour linux 2.6.39 kernel
- 25. Appel système depuis Ruby
- 26. appel système ouvert - Linux
- 27. Comment désassembler le code x86 brut?
- 28. Comment faire pour reprendre l'application iPhone après un appel téléphonique
- 29. Comment utiliser le HTML pour faire un appel Skype?
- 30. Comment faire pour que jQuery fonctionne après un appel AJAX
Je l'ai lu plusieurs fois et Je n'arrive toujours pas à comprendre ce que tu veux dire. Quelle est "l'adresse" d'un appel système? –
@DavidSchwartz Pour savoir si un rootkit a affecté le système en regardant les instructions désassemblées – user567879
Quelle CPU? "32 bits" n'est pas assez d'informations –