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

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  ASM (Moderador: Eternal Idol)
| | | |-+  Pregunta sobre ASM y WinAPI
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Pregunta sobre ASM y WinAPI  (Leído 8,923 veces)
Shrick

Desconectado Desconectado

Mensajes: 259


Yo no se nada, sino ¿porque pregunto?


Ver Perfil
Pregunta sobre ASM y WinAPI
« en: 22 Noviembre 2009, 17:38 pm »

Tengo la curiosidad de saber que si siempre que se va a crear programillas como por ejemplo pues el notepad mismo, es totalmente necesario usar la WinAPI o ¿hay otras formas de hacerlo?.

Un Saludo.


En línea

Ubuntu User
Pascal (2008/2009)
C/C++ (2009/¿?)
8080 Assembler (2009/2010)
MIPS I Assembler (2010/¿?)

Todo lo que yo haga o diga esta bajo:



No pertenece ni a mi ni a nadie :P .
Eternal Idol
Kernel coder
Moderador
***
Desconectado Desconectado

Mensajes: 5.937


Israel nunca torturó niños, ni lo volverá a hacer.


Ver Perfil WWW
Re: Pregunta sobre ASM y WinAPI
« Respuesta #1 en: 22 Noviembre 2009, 17:47 pm »

Si, independientemente del lenguaje tenes que usar los servicios del S.O. (o en su defecto una libreria que los encapsule).


En línea

La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón
Shrick

Desconectado Desconectado

Mensajes: 259


Yo no se nada, sino ¿porque pregunto?


Ver Perfil
Re: Pregunta sobre ASM y WinAPI
« Respuesta #2 en: 22 Noviembre 2009, 17:58 pm »

Imagínate que quiero usar desde ensamblador la librería stdio, esto luego lo traduciría a funciones de WinAPI?

Un Saludo.
En línea

Ubuntu User
Pascal (2008/2009)
C/C++ (2009/¿?)
8080 Assembler (2009/2010)
MIPS I Assembler (2010/¿?)

Todo lo que yo haga o diga esta bajo:



No pertenece ni a mi ni a nadie :P .
Eternal Idol
Kernel coder
Moderador
***
Desconectado Desconectado

Mensajes: 5.937


Israel nunca torturó niños, ni lo volverá a hacer.


Ver Perfil WWW
Re: Pregunta sobre ASM y WinAPI
« Respuesta #3 en: 22 Noviembre 2009, 18:01 pm »

Si, en realidad la RTL esta programada de tal manea que usa los servicios del S.O. en cuestion siempre que sea necesario, podes comprobarlo depurando un programa escrito en C/C++.
En línea

La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón
Shrick

Desconectado Desconectado

Mensajes: 259


Yo no se nada, sino ¿porque pregunto?


Ver Perfil
Re: Pregunta sobre ASM y WinAPI
« Respuesta #4 en: 22 Noviembre 2009, 18:46 pm »

Es bueno saberlo ;D , supongo que esto también se aplicara a lo mismo en los demás sistemas operativos que harán uso de API de POSIX, si estoy en GNU/Linux. Era por curiosidad porque no tenia ni idea de que esto funcionaba así, ni no hacia más que ver código en ASM, las cuales todas usaban la API de Windows, por lo que veo los lenguajes con librerías, solo nos proporcionan una abstracción del ensamblador y de la API del SO, respectivamente.
Yo la verdad es que de sistemas operativos a un nivel profundo ni papa, dentro de un año si todo sale como debiera me voy a comprar y leer el libro de sistemas operativos de Tenambaum y me entero un poco más del tema.

Un Saludo.
En línea

Ubuntu User
Pascal (2008/2009)
C/C++ (2009/¿?)
8080 Assembler (2009/2010)
MIPS I Assembler (2010/¿?)

Todo lo que yo haga o diga esta bajo:



No pertenece ni a mi ni a nadie :P .
Eternal Idol
Kernel coder
Moderador
***
Desconectado Desconectado

Mensajes: 5.937


Israel nunca torturó niños, ni lo volverá a hacer.


Ver Perfil WWW
Re: Pregunta sobre ASM y WinAPI
« Respuesta #5 en: 22 Noviembre 2009, 19:01 pm »

Exactamente, en GNU/Linux podes ver como pthread usa los servicios futex o clone por ejemplo.
En línea

La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón
Shrick

Desconectado Desconectado

Mensajes: 259


Yo no se nada, sino ¿porque pregunto?


Ver Perfil
Re: Pregunta sobre ASM y WinAPI
« Respuesta #6 en: 22 Noviembre 2009, 20:12 pm »

Una última pregunta.

Tomemos por ejemplo la función opendir() dentro de dirent.h (POSIX).

Cuyo prototipo es:

Código
  1. DIR* opendir(const char* dirname)

Se supone que como es una función que esta incrustado dentro del kernel tengo total libertad para programar esta función.

Esto se podría programar en C, así a pelo o ¿se usa ensamblador?, es decir por ejemplo:

Tengo en el VTOC (o como se llame la tabla de contenidos, que tiene referencias a ficheros), voy a la dirección donde este el VTOC, que estará puesto a pelo en el disco duro, y supongo que para acceder al disco duro habrá una dirección o direcciones que puedo usar como referencia estando esta en la RAM(si mal no recuerdo esto era mapeo de memoria) y a través de esa referencia llegar al VTOC, mediante el cambio de valor de esa referencia, que apuntaría VTOC, y luego buscaría la linea que correspondiera con dirname, el bloque que esta al lado, que se supone que es la dirección y tamaño, entonces cambiaría el puntero de disco duro a esa dirección y devolveria el valor del puntero.

¿Seria algo así no?.

Puedo deducir que si esto es así, las demás las podría deducir, y asi he aprendido un poquito más sobre sistemas operativos xD .

Un Saludo.
En línea

Ubuntu User
Pascal (2008/2009)
C/C++ (2009/¿?)
8080 Assembler (2009/2010)
MIPS I Assembler (2010/¿?)

Todo lo que yo haga o diga esta bajo:



No pertenece ni a mi ni a nadie :P .
Eternal Idol
Kernel coder
Moderador
***
Desconectado Desconectado

Mensajes: 5.937


Israel nunca torturó niños, ni lo volverá a hacer.


Ver Perfil WWW
Re: Pregunta sobre ASM y WinAPI
« Respuesta #7 en: 22 Noviembre 2009, 20:29 pm »

No veo que opendir sea un servicio. ¿Lo encontras en /usr/include/asm/unistd.h?

Practicamente nada se programa en ensamblador ya que no es portable.
En línea

La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón
Shrick

Desconectado Desconectado

Mensajes: 259


Yo no se nada, sino ¿porque pregunto?


Ver Perfil
Re: Pregunta sobre ASM y WinAPI
« Respuesta #8 en: 22 Noviembre 2009, 20:54 pm »

No solo encuentro un montón de #define con valores estilo:

Código
  1. #define __NR_eventfd 323
  2. #define __NR_fallocate 324
  3. #define __NR_timerfd_settime 325
  4. #define __NR_timerfd_gettime 326
  5. #define __NR_signalfd4 327
  6. #define __NR_eventfd2 328
  7. #define __NR_epoll_create1 329
  8. #define __NR_dup3 330
  9. #define __NR_pipe2 331
  10. #define __NR_inotify_init1 332
  11. #define __NR_preadv 333
  12. #define __NR_pwritev 334
  13. #define __NR_rt_tgsigqueueinfo 335
  14. #define __NR_perf_counter_open 336
  15.  

Entonces cuales son exactamente los servicios, es decir, los prototipos de las funciones de la API del SO?

Lo puse porque ponía que estaba dentro del estándar POSIX, y de hay deduci malamente eso.
« Última modificación: 22 Noviembre 2009, 20:56 pm por Shrick » En línea

Ubuntu User
Pascal (2008/2009)
C/C++ (2009/¿?)
8080 Assembler (2009/2010)
MIPS I Assembler (2010/¿?)

Todo lo que yo haga o diga esta bajo:



No pertenece ni a mi ni a nadie :P .
Eternal Idol
Kernel coder
Moderador
***
Desconectado Desconectado

Mensajes: 5.937


Israel nunca torturó niños, ni lo volverá a hacer.


Ver Perfil WWW
Re: Pregunta sobre ASM y WinAPI
« Respuesta #9 en: 22 Noviembre 2009, 22:52 pm »

Lo servicios son esos justamente, con sus respectivos numeros en la version especifica del Kernel que tengas. Como te decia antes en GNU/Linux podes ver como pthread usa los servicios futex o clone por ejemplo.

No soy un experto en *NIX justamente pero supongo que habra funciones POSIX que sean servicios directamente implementados y otras que esten basadas en otros servicios.
« Última modificación: 22 Noviembre 2009, 22:55 pm por Eternal Idol » En línea

La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón
Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Problemas con WinApi
Programación C/C++
Nobody12 0 2,949 Último mensaje 10 Enero 2011, 21:47 pm
por Nobody12
Sobre menu en winapi
Programación C/C++
d00ze13 2 3,791 Último mensaje 29 Marzo 2011, 17:46 pm
por d00ze13
duda sobre strstr en c++ (WinApi) « 1 2 »
Programación C/C++
xkiz ™ 13 7,585 Último mensaje 23 Septiembre 2011, 18:21 pm
por naderST
[pregunta]copiar y reescribir directorios de forma recursiva winapi
Programación C/C++
daryo 0 1,448 Último mensaje 15 Julio 2015, 21:13 pm
por daryo
Mi programa WINAPI se come el 100% de la CPU. ¿Como lo reduzco? « 1 2 »
Programación C/C++
Desiresportal 11 5,897 Último mensaje 14 Octubre 2020, 00:09 am
por Eternal Idol
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines