send
Grupo de Telegram
play_arrow
Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

Jugando con las API de Windows (by pRotos)

  • 0 Respuestas
  • 1179 Vistas

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

Desconectado ANTRAX

  • *
  • Administrator
  • Mensajes: 5267
  • Actividad:
    48.33%
  • Reputación 26
  • ANTRAX
    • Ver Perfil
    • Underc0de
    • Email
  • Skype: underc0de.org
  • Twitter: @Underc0de
« en: Febrero 24, 2010, 04:21:30 pm »
Vamos a ver como con Ruby podemos utilizar las API de Windows. Esto nos puede servir para troyanos, keyloggers, virus varios etc... Es un tema que no se suele dar mucho en Ruby, pero que puede hacerlo, f?cilmente, y que nos puede ayudar mucho, y le da m?s potencia al lenguaje. vamos a all?!



require 'Win32API' #Necesitamos incluir la libreria necesaria (hay que bajarla primero)

Y ahora viene la parte interesante: llamaremos a la funcion de la API que queramos. de la siguiente manera:

Código: You are not allowed to view links. Register or Login
var = Win32API.new(api, funcion, param3, param4)
var.Call(parametros)

en una variable (var) creamos un objeto de la clase Win32API, con cuatro parametros:
-1) Nombre de la API (sin el '.dll')
-2) Nombre de la funci?n a utilizar de la API
-3) Este parametro es un array, que contiene el tipo de cada uno de los parametros que luego mandaremos al .Call
-4) Tipo de dato que te devolver? la API

Los tipos pueden ser: 
   - N o L => numeros
   - I  => Integer
   - P  => Es un puntero que blalblal...en definitiva, string
   - V  => Void

Y luego llamamos al metodo .Call() del objeto para llamar a la funci?n determinada, pasandoles los parametros determinados para cada funcion.

Y hasta aqu? la teoria, veamos un ejemplo para verlo todo m?s clarito ^^

Código: Ruby
  1. require 'Win32API'
  2.  
  3. a = Win32API.new("user32", "SystemParametersInfo", ['L', 'L', 'P', 'L'], 'L')
  4. a.Call(20, 0, "\miimagen.bmp", 0)
  5.  

Y con este code lograriamos cambiar la imagen del escritorio del que lo ejecute ( en windows)

Explicacion del code:
Primero requerimos libreria.
Metemos en la variable a el objeto del metodo de las apis de windows, llamando a la api user32.dll, la funcion de la cual requerimos es SystemParametersInfo, le indicamos en un array, que le enviaremos 4 parametros al Call, L, L, P y L, (como vemos luego en el Call, se tiene que cumplir), y recibiremos un L, (esto no es tan importante, pero hay que ponerlo)
Luego llamamos (.Call) al objeto con sus cuatro parametros:

20, un parametro determinado de la funcion, que le dice a la funcion qeu lo que queremos es cambiar el escritorio (en realidad este 20 quiere decir SPI_SETDESKWALLPAPER, podriamos haber puesto eso) (tipo L)

0, es una constante, no la explicar?. (tipo L)

"\miimagen.bmp", la imagen que pondremos de fondo (tipo string P)

0, otra constante, quiere decir que no queremos notificacion de la accion. (tipo L)

Como vemos los datos ha enviar los hemos puesto bien antes: L, L, P, L ;).

Decir, que solo la user32.dll tiene unas 780 funciones, tengo la lista, si alguien la quiere que me la pida por pm, adem?s ya postear? informaci?n sobre algunas de lsa funciones m?s interesantes, y como usarlas, pero bueno, eso es cosa de googlear, aqu? ya teneis la base ;).


Decir que ademas de la Win32API, ruby tiene la libreria Win32OLE, que utiliza tambien las apis del sistema pero a un nivel mas alto, y ons permite utilizar los programas del sistema de una manera mas sencilla , ya har? otro capitulo sobre eso ;).




 

¿Te gustó el post? COMPARTILO!



Instalar Rubygems y la Libreria Tk en Windows - by Bocvk

Iniciado por ANTRAX

Respuestas: 0
Vistas: 1921
Último mensaje Febrero 24, 2010, 04:15:28 pm
por ANTRAX
Instalar Ruby on Rails en Windows, Linux y MAC

Iniciado por Alejandro9999

Respuestas: 0
Vistas: 891
Último mensaje Julio 07, 2013, 10:57:18 pm
por Alejandro9999
Ruby HTTP Toolz - by pRotos

Iniciado por ANTRAX

Respuestas: 0
Vistas: 1242
Último mensaje Febrero 24, 2010, 04:11:16 pm
por ANTRAX
MultiConsole (pequeña libreria) - by pRoTos

Iniciado por ANTRAX

Respuestas: 0
Vistas: 1103
Último mensaje Febrero 24, 2010, 04:10:25 pm
por ANTRAX
Escribir scripts CGI (by pRotos)

Iniciado por ANTRAX

Respuestas: 0
Vistas: 1581
Último mensaje Febrero 24, 2010, 04:20:31 pm
por ANTRAX