Pregunta sobre ASM y WinAPI

Iniciado por Shrick, 22 Noviembre 2009, 17:38 PM

0 Miembros y 1 Visitante están viendo este tema.

Shrick

Pues podrías ponerme un prototipo función o servicio de Windows (que supongo que si controlaras), que no derive de otros, es que asi como lo dices si busco servicio en google me sale esto: http://www.wininfo.com.ar/main.html, que no creo que sea exactamente eso, es solo para saber..., nada más por si algún día me entra la locura y creo un servicio básico para algún UN*X, para ver como funciona.

Un Saludo.
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

Aca los tenes (nada que ver con ese enlace que dejaste):
http://www.metasploit.com/users/opcode/syscalls.html

Dudo muchisimo que jamas agregues un servicio en un *NIX (salvo que se refiera a lo del enlace, un demonio).
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

Hombre no veo imposible coger el kernel de Minix o algún otro un*x "sencillo", mirar como programa lo servicios, y crear yo uno que escriba en el disco duro "hola mundo" cuando lo llame, que sea difícil es otra cosa.
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

No imposible pero si 100% inutil, ya existen los servicios para hacer eso correctamente.
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

Ya lo se es simplemente inútil, porque habrá eso y de forma más eficiente, si lo hiciera seria claramente con un fin didáctico, para ver como demonios el SO hace las funciones de la nada, me apuesto lo que quieras que luego me serviría para otra cosa, te permite tener una visión más amplia, esto también me ha pasado con otro asunto, que ya esta hecho y rehecho tropecientasmil veces, pero del que si no lo haces, es imposible que puedas avanzar en el tema, pongo la mano sobre fuego sobre esto último.
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 .

dark_hat

Las Apis en Linux se basan normalmente en la int 80h http://www.int80h.org/. Si quieres programar una api en linux pues claro no lo vas a hacer con un elf, sino q tendrás que agregar el código en el kernel y volver a compilarlo.
Las apis están declaradas en el kernel de esta forma si no me equivoco

asmlinkage long sys_nombreapi()
{
...
}

Buscan donde están y añade una nueva api para probar. También hay un archivo en el code del kernel en el que pone de cada api que número es (porque cada api se llama dandole a EAX su número y después haciendo un int 80h), ahí también tendrás que añadir tu API y el número que le das.
Eso que huele es un poco de incienso,
eso marrón una tableta de turrón...