26 de Septiembre de 2018

Archivo para Febrero de 2011 en Ctrl+Alt+Supr, blog de Ollydbg

Feb
28

.NET Tutorial 42. XNA simulando luces en un entorno 2D

Categorías: 

El efecto que hoy vamos a ver es bastante curioso y puede dar mucho juego a nuestros juegos, valga la redundacia :)

El resultado del efecto es el siguiente:

Para ver este video es necesario tener JavaScript activado y el plugin Flash instalado en el navegador.

Como podéis observar en el vídeo (y al ejecutar el tutorial) se simulan varias fuentes de luz. El efecto queda bastante resultón y puede dar el "pego"en según que situaciones.

Aquí el "asunto" lo maneja el pixel shader, en concreto este:

En determinadas ocasiones nos puede interesar ocultar la barra de tareas de Windows. Esto suele ocurrir básicamente en aplicaciones "a pantalla completa" o también conocidas como aplicaciones "kiosko".

Este tipo de aplicaciones están pensadas para que el usuario interaccione con "la pantalla". Lógicamente no podemos dejar visible la barra de tareas, ya que desde ahí pueden acceder al menú de inicio, configuración del sistema, etc.

En Windows XP se podía ocultar automáticamente la barra de tareas. En Vista y 7 también se puede:

El problema está en que en Windows Vista / 7, aunque hayamos establecido la propiedad TopMost del formulario a true ocurre que la barra de tareas se visualiza cuando desde nuestra aplicación ejecutamos otro proceso.

Supongamos la siguiente aplicación a pantalla completa:


(Haz click para agrandar)

Feb
12

Crear y leer códigos QR desde VB.NET

Categorías: ,

Supongo que muchos de vosotros habréis visto en más de una ocasión los códigos QR (Quick Response Barcode).

Estos códigos de barras actualmente están haciendo "furor" debido a la proliferación de los dispositivos móviles de tipo iPhone y Android.
De hecho, en la Android Market se pueden instalar directamente las aplicaciones en el móvil enfocando éste hacia la pantalla del ordenador y "leer" el código que aparece en la página:

Gracias al auge de los dispositivos móviles de nueva generación, las cabecezas pensantes de los departamentos de marketing de las empresas no han tardado en ver un filón a todo esto. Se pueden encontrar QR Codes incluso en las marquesinas de las paradas del bus:

...como reclamo publicitario en congresos:

...incluso en latas de refrescos:

 

Feb
11

.NET Tutorial 40. Usando el puerto serie (Parte II)

Categorías: ,

En el Tutorial 31 vimos como simular un dispositivo que enviaba "cosas" por el puerto serie. En aquel tutorial usamos el hyperterminal para verificar que era lo que se estaba enviando.

Hoy veremos la "parte interesante", es decir, realizaremos un programa para poder procesar una comunicación con un dispositivo serie.

Tal y como vimos en el tutorial anterior tendremos dos posibilidades para realizar las pruebas.

Configuración 1)

Esto quiere decir que o bien usamos un cable Null-Modem o bien programas para virtualizar puertos (ver tutorial anterior)

En el caso de arriba, el Tutorial 31 utiliza el COM1 y el Tutorial 40 utiliza el COM2.

Configuración 2)

En este caso tendremos que usar forzosamente un cable Null-Modem.

El tutorial 31 utiliza el COM1 del PC1, mientras que el Tutorial 40 utiliza el COM1 del PC2.

La longitud máxima para este tipo de conexiones es de 15 metros.

El Reconocimiento Óptico de Caracteres (OCR), así como el reconocimiento de texto, en general son aplicaciones dirigidas a la digitalización de textos. Identifican automáticamente símbolos o caracteres que pertenecen a un determinado alfabeto, a partir de una imagen para almacenarla en forma de datos con los que podremos interactuar mediante un programa de edición de texto o similar. (wikipedia)

Por si la definición anterior no es demasiado clara, lo explicaré con un ejemplo:
Supongamos que nos piden escribir 20 páginas sobre el tratado de Mastrich (ZzzZZZzzz :)
Nosotros que somos la mar de vagos, escaneamos esas 15 páginas de la enciclopedía Espasa Calpe con lo que tendremos 15 archivos *.jpg (0001.jpg, 0002.jpg, 0003.jpg)

El "problema" es que los archivos "jpg" no se pueden editar en el "Word", cambiarles la fuente, hacer doble espaciado, etc, porque no dejan de ser fotos.

Pues los OCRs lo que hacen es "convertir" esas "fotos" en texto que es editable.

Otro tipo de OCRs más sofisticados son los que son capaces de "leer" las matrículas de los coches, códigos de barras, o los captchas de Megaupload ( L o L ??? do_ob )

Feb
6

.NET Tutorial 38. Cliente Telnet sin librerías externas

Categorías: 

Por motivos que no vienen al caso he necesitado realizar una comunicación Telnet, en mi caso particular para comunicarme con un router.
Buscando documentación por internet encontré diversos componentes "ActiveX" y DLLs que servían para realizar este tipo de comunicaciones.
En la medida de lo posible, os recomiendo "huir" de este tipo de librerías e intentar utilizar o bien "librerías" en código nativo de .NET o directamente intentar utilizar las propias clases que nos ofrece el .NET Framework.

Buscando un poco más encotre una clase realizada por un tal Tom Janssens, que utiliza el Namespace System.Net.Sockets.

La clase se llama TelnetConnection y apenas tiene un centenar de líneas.

En base a dicha clase me he montado una pequeña aplicación para poder enviar "comandos" al router. Podéis modificar la aplicación para realizar vuestros propios cometidos y/o investigar como realizar una comunicación Telnet.
Hay abundante información sobre el protocolo Telnet aquí: http://es.wikipedia.org/wiki/Telnet

Os muestro un poco por encima la aplicación. El código lo encontraréis como de constumbre al final de esta entrada.

Feb
5

Nuevos enlaces descagas Tutoriales

Categorías: 

Debido a un problema con el hosting donde tenía los archivos de descargas, todos los enlaces hasta el Tutorial 24 incluido se han perdido.

He reagrupado todas las descargas afectadas en este post. Espero que funcionen bien

Os pido disculpas por ello
(...aunque pensándolo bien, solo se ha "quejado" una persona hasta la fecha, por lo tanto, no sé que pensar... :S )

 

Saludos.
mov eax,ollydbg; Int 13h  


Nuevos Links de descargas:

Tutorial24.zip (210,56 kb)

Tutorial23.zip (503,28 kb)

Tutorial21.rar (39,30 kb)

Tutorial18.rar (41,33 kb)

Tutorial16.rar (128,51 kb)

Tutorial15.rar (42,35 kb)

Feb
3

.NET Tutorial 37. Creando Thumbnails por código

Categorías: 

En el tutorial de hoy veremos como será posible "redimensionar" una imagen para conseguir determinados efectos.
Estas transformaciones se hacen mediante la GDI del .NET Framework.
En el NameSpace System.Drawing.Image hay un método llamado GetThumbnailImage que genera una vista en miniatura. 

El "problema" del método GetThumbnailImage son sus parámetros: Es necesario usar dos "callbacks", uno para llamar al método GetThumbnailImageAbort y otro callback a un puntero, que debe ser System.IntPtr.Zero

Los métodos mostrados aquí realizarán lo mismo pero sin el engorro de utilizar "callbacks". Los métodos los he encapsulado en una clase llamada Thumbnail. Dicha clase tendrá 4 funciones publicas que realizarán las transformaciones de las imágenes tal y como veremos a continuación.