elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Estamos en la red social de Mastodon


+  Foro de elhacker.net
|-+  Sistemas Operativos
| |-+  GNU/Linux (Moderador: MinusFour)
| | |-+  Entrada __NR_getdents de la sys_call_table del kernel
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Entrada __NR_getdents de la sys_call_table del kernel  (Leído 4,305 veces)
4v1dy4

Desconectado Desconectado

Mensajes: 139



Ver Perfil
Entrada __NR_getdents de la sys_call_table del kernel
« en: 2 Enero 2023, 15:50 pm »

Hola,

Contexto: Preguntaba por la funcion kallsyms_lookup_name en tema anterior ya que la estaba usando para atravesar la sys_call_table luego de investigar sobre la programacion de modulos en linux. Ahora me encuentro con un problema cuando me puse a jugar con la tabla:

El valor de la syscall __NR_getdents es 141. Sin embargo, para mi sistema (x86_64) se supone que el valor es 78 y no 141.

¿Alguien tiene idea de que pasa auqui?


(perdon por el tamaño del meme, busque como ajustar el tamaño y no tengo idea)


En línea

MCKSys Argentina
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.524


Diviértete crackeando, que para eso estamos!


Ver Perfil
Re: Entrada __NR_getdents de la sys_call_table del kernel
« Respuesta #1 en: 2 Enero 2023, 17:21 pm »

Hola!

No soy experto en kernel de linux; pero en windows los valores de las syscalls cambian con las versiones. Imagino que en linux pasa lo mismo...

Saludos!


En línea

MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."

4v1dy4

Desconectado Desconectado

Mensajes: 139



Ver Perfil
Re: Entrada __NR_getdents de la sys_call_table del kernel
« Respuesta #2 en: 3 Enero 2023, 15:10 pm »

Hola, gracias por contestar.

Linux funciona diferente.

Citar
[...] Each system call has a fixed number. Linux persistently guarantees backward compatibility, thus once a number was assigned to a system call it will never change. Ever. The numbers differ between int $0x80 and syscall ! [...]

La pregunta viene a caso por algo que vi en un modulo del kernel (lkm):

Código
  1. #ifndef __NR_getdents
  2. #define __NR_getdents 141
  3. #endif

Para empezar, no se como la syscall podria no estar definida... pero bueno.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ayuda para simular un dispositivo de entrada o periferico de entrada
Programación C/C++
bardackx 0 2,695 Último mensaje 9 Septiembre 2010, 23:23 pm
por bardackx
Toro Kernel un kernel en Pascal
GNU/Linux
portaro 0 3,499 Último mensaje 24 Noviembre 2010, 16:44 pm
por portaro
entrada avg
Windows
pABL012 1 1,913 Último mensaje 13 Septiembre 2013, 14:33 pm
por vangodp
kernel detective:cannot load the kernel driver; tuluca: se ha bloqueado driver
Software
Hason 0 3,168 Último mensaje 21 Octubre 2015, 18:30 pm
por Hason
Transformar una entrada de palabras en entrada matematica
Programación C/C++
Milagrosh25 3 3,311 Último mensaje 16 Septiembre 2017, 23:41 pm
por Serapis
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines