Foro de elhacker.net

Programación => Ingeniería Inversa => Mensaje iniciado por: papelito en 9 Enero 2020, 18:44 pm



Título: Ayuda con las APIS de windows, soy principiante
Publicado por: papelito en 9 Enero 2020, 18:44 pm
Hola, Soy nuevo y cometeré muchos errores en este mundo interesante del cracking, llevo 3 meses estudiando los cursos de ollydbg de Ricardo Narvaja.
Sé hacer pequeños bucles en python.
En algunos parámetros de las apis de windows me pierdo, Quiero aprender mas sobre las apis de windows ¿Creen que aprendiendo C++ o ensamblador pueda entenderlas mejor?

Gracias  :rolleyes:





Título: Re: Ayuda con las APIS de windows, soy principiante
Publicado por: AlbertoBSD en 9 Enero 2020, 19:17 pm
¿Creen que aprendiendo C++ o ensamblador pueda entenderlas mejor?

Posiblemente si necesitas algo de C++, las apis de windows tienen algunos nombres un tanto rebuscados para los tipos de datos.

Utilizan por ejemplo Dword cuando realmente una variable entera sin signo de 32 bits

Código:
int dato;

Empieza con un poco de background de C++ versiones modernas ya que lo es C y el C++ clásico a cambiado mucho desde hace tiempo.

Saludos.


Título: Re: Ayuda con las APIS de windows, soy principiante
Publicado por: apuromafo CLS en 10 Enero 2020, 16:51 pm
da igual si llevas 3 meses, 2 años o 10 años, mucho código se asocia al análisis del mismo,

aqui hay un pequeño manual, y me detengo ahora
https://foro.elhacker.net/ingenieria_inversa/taller_de_cracking_desde_cero_actualizado_27julio2008-t180886.0.html

Citar
402500| PUSH Título
402504| PUSH Cuerpo
402508| PUSH Botones
40250A| CALL MessageBoxA
40250F| MOV EAX, EBX

tu idea seria estudiar una api, desde msdn sería asi (google msdn api)
MessageBoxA function
 
Displays a modal dialog box that contains a system icon, a set of buttons, and a brief application-specific message, such as status or error information. The message box returns an integer value that indicates which button the user clicked.

Syntax
C++

Citar
int MessageBoxA(
  HWND   hWnd,
  LPCSTR lpText,
  LPCSTR lpCaption,
  UINT   uType
);

ahi tienes lo que pide la api para ser usada
https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-messageboxa



ahora la idea es que aprendas, comencemos hablando de API

WinAPI (también conocida como Win32; oficialmente llamada API de Microsoft Windows) es una interfaz de programación de aplicaciones escrita en C por Microsoft para permitir el acceso a las funciones de Windows. Los componentes principales de WinAPI son:
• WinBase: las funciones del kernel, CreateFile, CreateProcess, etc.
• WinUser: las funciones GUI, CreateWindow, RegisterClass, etc.
• WinGDI: las funciones gráficas, Ellipse, SelectObject, etc.
• Controles comunes: controles estándar, vistas de lista, controles deslizantes, etc.

un enlace con contenido está en inglés
https://docs.microsoft.com/es-es/windows/win32/apiindex/windows-api-list?redirectedfrom=MSDN

si sigues buscando tutoriales por la red encuentras material como
http://winprog.org/tutorial/es/

en lo personal, prefiero que las personas aprendan a codear sus pequeños programas pequeños en asm , c++/c y luego comenzar a explorarlos, te darás cuenta como aveces no es todo tan automático



pd: estudiar solo las apis de un programa, puedes tardar dias, meses o hasta años, intenta ver la idea de lo que hacen solamente.

Saludos Apuromafo



Título: Re: Ayuda con las APIS de windows, soy principiante
Publicado por: papelito en 11 Enero 2020, 21:23 pm
Gracias por su ayuda AlbertoBSD y apuromafo, ya lo tengo claro.


Título: Re: Ayuda con las APIS de windows, soy principiante
Publicado por: xor.pt en 12 Enero 2020, 12:13 pm
Microsoft en sus sitios web detalla todas las API de su sistema operativo con la máxima precisión. Busque esta documentación oficial en estos sitios.