Windows x64 y drivers ODBC (Oracle, Sybase, Excel, Access…)

¿No encuentras tu controlador ODBC en Windows x64? Pues eso mismo me ha pasado a mi, y tras intentar utilizar un software que utiliza los drivers ODBC de ORACLE a un Windows 2003 x64 (Supongo que todo lo que aquí explique es válido también para XP x64, visa y w7) he conseguido no desquiciarme y morir en el intento encontrando una bonita solución.

Explico un poquito: cuando accedes al panel de control y pulsas sobre Herramientas Administrativas > Data Sources (ODBC) te encontrarás en tu sistema x64 que solo tienes el driver de “SQL Server” pues bien, esto es porque al acceder desde panel de control ejecutamos la herramienta ODBC x64, situada en “C:\WINDOWS\system32 \Odbcad32.exe” y los únicos drivers puramente x64 ODBC que se han desarrollado han sido estos [Oracle también tiene sus propietarios compilados para x64].

Para ejecutar la herramienta ODBC x32 con todos los drivers ODBC x32 que hay en el sistema y los que trae Windows por default deberemos ejecutar la herramienta: “C:\WINDOWS\SysWOW64\Odbcad32.exe”; Con esto la mayoría de vuestros problemas se verán solucionados.

Pero aún hay más, porque si como yo, lo que pretendes utilizar es la librería de Oracle, aún no termina aquí la lucha; Pues resulta que Oracle envía el PATH de la aplicación que está realizando la conexión parametrizado con paréntesis por lo que si esta aplicación está instalada en el “Program Files (x86)” nunca conseguirás conectar dado que el servidor ve un error de sintaxis; Así pues, la solución al error que probablemente te aparecerá ("ERROR [HY000] [Oracle][ODBC][Ora]ORA-06413: Connection not open.") Es siple y se trata de instalar todo software implicado en la conexión oracle fuera de la carpeta “Program Files (x86)” (y ninguna otra con paréntesis) y magia, todo volverá a funcionar.

Y para terminar, un apunte: Todo lo que configures en x32 y x64 será compatible y accesible desde software x64 pero lo que configures en x64 no será accesible desde x32 para este únicamente serán validas las configuraciones con drivers x32…
Read More!

Prueba de concepto: Generador "BruteForce"

Volviendo a los temas interesantes hoy tocaré los Brute Force y aprovecho para decir a todos los lectores que bajaré la frecuencia diaria que mantuve la primera semana a dos o tres actualizaciones semanales.

Entrando en el tema: Un Brute Force consiste en extraer "algo", sea una password u otra cosa mediante el uso indiscriminado de cientos, miles, o más bien, billones de combinaciones de letras generando así "palabras" con cierta, ínfima, posibilidad de encontrar lo que buscamos.
Pero... y si no tenemos prisa y nada nos limita las oportunidades de reintento, ¿llegaremos realmente a conseguirlo? ¿Es una opción el BF? ¿Realmente, podemos llegar a obtener "algo" a base de BF?
Al contrario de lo que muchos piensan; Con un motor optimizado y preparado para cada caso en concreto, siempre que se cuente con las maquinas suficientes como para dividir el trabajo o el tiempo sea algo irrelevante: Sí, es posible.
A modo de prueba de concepto y en ningún caso con intención de dañar ni de buscar tarifas gratuitas o cualquier otra actividad ilícita mostraré un ejemplo de un motor Brute Force que, pacientemente, hace peticiones al motor java que devuelve por AJAX las tarifas en la página web de la Renfe; Podéis entrar y ver el formato que utilizan, se trata de una petición javascript que, según la Key solicitada (p.ej: GL011 niños, GL016 adultos..) devuelve el precio al que saldrá. Captura con firebug:



En este "motor para estudio" programado, podéis hacer peticiones para los Euromed Valencia-Barcelona con fechas cambiantes para que no "caduque" el programa; La cosa es simple, como funciona por HTTPS el sistema viene integrado con un navegador el cual, tenemos que accionar a mano siguiendo el orden de los botones y pulsando donde corresponda, por ejemplo, primero, obtenemos la cookie (en cada paso hay que esperar a que la página termine de cargar al 100% en el navegador visual integrado, pues este no es una maravilla y puede provocar errores que requieran del reinicio de la aplicación añado: tarda y puede dar la sensación de estar "colgado"), después, realizamos la búsqueda de trenes, aquí, Renfe, nos solicita un "captcha", que muy amablemente el programa nos ofrecerá para escribir, más tarde solicitamos la página de compra y por último el "precio adultos" que lanzará contra el servidor una petición con la Key GL016; Aquí, podremos iniciar el Brute Force System, un generador integrado en el programa que realicé íntegramente en Delphi hace bastante tiempo y que da mucho juego por qué no carga a la maquina siendo bastante rápido; Por ejemplo, si en "Palabra inicial" insertamos (en mayúsculas) "GL010", e iniciamos el sistema pulsando el botón iniciar, este, empezará a lanzar peticiones siguiendo un orden alfabético, pocos segundos más tarde, ya habremos encontrado dos "Keys" la de niños, GL011, y la de adultos, GL016.

El programa, va creando un "log" con que Key's han retornado una respuesta válida, así como almacena la respuesta para su visualización posterior; Es cierto quela velocidad es mínima (aproximadamente unas 90 palabra por minuto), pero, teniendo en cuenta que podemos retomar el brute force en apenas unos segundos desde el punto donde se cortara (también guarda log de ultimas key's testeadas), y que podemos dividir la carga en segmentos de caracteres así como punto de inicio entre diferentes maquinas, y, contando que el estándar de la aplicación son exactamente 5 caracteres, la cosa, se reduce considerablemente; así que es más que una opción válida, y, por ejemplo, en este caso, si existiera una "Key" de "debug" cuya respuesta fueran siempre gratuitos, "0 €" a todos los billetes, ya tendríamos algo que de ningún otro método podríamos obtener.

Por favor, como ya digo mi intención es puramente educativa, no me gustaría que empezaran miles de peticiones contra la web de tarifas de Renfe, no obstante, adjuntaré la aplicación par que podáis ver en funcionamiento la "máquina" para aplicarlo en usos que hagan avanzar la ciencia.

Descarga la aplicación aquí
Pulsa aquí para descarga el código fuente (Para evitar abusos pídemelo personalmente en los comentarios y te lo enviaré).

Capturas de pantalla:







Suerte a tod@s.
Read More!

Una de programación BAT: Pasando parametros

Quiero hacer un sencillo y simple apunte sobre la programación batch:

¿Como pasar parametros a un código batch?
El asunto es simple; Los parámetros, se quedan almacenados en las variables %0 (este, siempre será el nombre del fichero .bat que estamos ejecutando), %1, %2 y así consecutivamente por tanto es bien fácil leerlos; Un ejemplo de utilización sencillo sería un .bat que al pasar un parámetro lanzase ping sobre la IP a la que apuntamos, la cosa sería así:

El fichero test.bat sería así:

ping.exe %1 <- Lanzamos ping contra el parametro 1.
@echo off <- Evitamos que se vea el comando que vamos a lanzar.
pause <- Pausamos la ventana para que no se cierre y se pueda leer.

Y lo lanzaríamos con "test.bat 127.0.0.1".
Fácil y bonito pero si no lo sabemos no podemos utilizarlo siendo un recurso con muchas posivildades para hacer output de información como por ejemplo un ping.
Claro que este ejemplo es solo una introducción al mundo del batch pues en realidad se pueden hacer maravillas con ellos.... Otro día mas y mejor sobre el mundo .bat. Read More!

lagTelCOM: El cliente TCP más versátil del universo conocido

Otro software propio realizado durante una tarea que mejor no explicaré y que con el tiempo mejoré porque es increíblemente útil, o al menos a mi me lo ha resultado.
Se trata de un cliente TCP (con 4 perfiles de configuración) al que podemos asignar mediante un fichero de configuración con el formato: "Nombre para visualización###Contenido del paquete" tantas líneas como queramos para después, una vez conectados, pulsar y enviarlas.
¿Que utilidad tiene? Cuando desarrollas un nuevo cliente para algo sobre lo que no hay especificaciones de protocolo, con este programa y un buen sniffer puedes ir probando sin desperdiciar tu tiempo; Así como es útil también para realizar conexiones de todo tipo puesto que puedes "grabar" paquetes para realizar cualquier tarea... Y con simples click's los irás enviando; así como los puedes bajar a el "editor tipo chat" y cambiar rápidamente el contenido de la línea (pensado para servidores que hacen "request" de códigos cambiantes como IRC con el PING).

Captura de pantalla:



Pulsa aquí para descargar el programa.
Pulsa aquí para descarga el código fuente (Para evitar abusos pídemelo personalmente en los comentarios y te lo enviaré).

Espero que os sea de utilidad.
Ah, en el Zip, además del ejecutable compilado, viene incluida como ejemplo la configuración para hacer GET's HTTP, Búsquedas en google, y como enviar caracteres en formato decimal. Read More!

Distorsionador de voz para tu teléfono móvil

Alguna vez, después de ver la típica película donde el malo malisimo tiene un complejo aparato que le cambia la voz, ¿has deseado tener lo mismo para reírte un poco por teléfono gastando bromas de buen gusto (prefiero no incitar a nada :P)?
¿y eso, donde se vende? Además, por como es, seguro que vale un dineral, pues bien, siguiendo la temática de "Móvil-tuning" (http://lveaf.blogspot.com/2009/10/como-hacer-que-tu-viejo-movil-tenga.html) os presento el "Distorsionador ve voz, para todos los modelos, para todas las marcas con un precio que oscila entre los 0 y 10 €"; Claro que además de dinero hay que invertir algo de tiempo, a mi, tomando fotos y todo me llevó 15 minutos; Empiezo con el ImagenTutorial y terminaré con un video de su funcionamiento:

1-Obtener el material más "caro" será obviamente el móvil, que ya doy por sentado y un manos libres; En el ejemplo, utilizaré uno que hace varios meses compré en una tienda Movistar a un precio de 5 €, es genérico, vamos, que no es Motorola como el móvil, por lo que sé que existe para diferentes marcas de móvil el mismo modelo de manos libres; Claro que si utilizáis el que os viene con el móvil o cualquier otro todo será muy muy parecido. En mi caso es este:



2-Romper la carcasa donde está contenido el micrófono del manos libres para retirarla por completo y dejarlo a la vista:



3-Observar y encontrar el micrófono, tened cuidado que si el manos libres tenía botón podéis confundirlo (aunque ya hay que ser cafre :P)...



4-Arrancar, o desoldar si sois profesionales, yo no y lo arranqué, el micrófono del circuito impreso (chip/plaquita de plastico con rayas/matrix...), no hagáis mucha fuerza, sale fácil, moved un poquito hacia los lados si veis que se resiste pero no lo hará, sin fuerza y saldrá:



5-Pelar un cable "stereo" o dos "mono" (para que nos entendamos todos) de tamaño más que considerable, entended que contra más largo sea más libertad tendréis y más posible será que no rompáis el invento a la primera de cambio, mi cable es aproximadamente de un metro y medio; En la foto lo he pelado mucho, pero solo para que se vea lo que quiero decir:



6-Soldar a los puntos de soldadura que hay por detrás de donde habéis arrancado el micrófono (es decir, por la parte donde no estaba el micrófono en sí) cada punta del cable de metro y medio que hemos pelado en el punto 5; También, podéis hacerlo con celo o silicona termofusible, pero si se os despega mil veces allá vosotros (que conste que yo no sé soldar, pero hacer este apaño sabemos tod@s, anímate):



7-Fijar con una bola enorme de silicona termofusible lo que habéis soldado, yo, no sé soldar como antes he dicho, y para evitar que se desuelde, primero, he puesto unos trozos de plástico entre los 2 cables y entre los cables y el circuito para evitar contactos que lleven a cosas raras, después, he fijado la parte más critica con un buen pegote de silicona termofusible y, según se quedaba dura, más y más hasta inundar todo el circuito y los cables completamente, ahora, ya no hay quien lo rompa! (en la foto tenía la mitad de silicona con la que ha terminado):



8-Gorronear conectores de cualquier lugar, el primero, un conector de audio/video "mono" que seguro tendrás mil por casa, puedes hacer dos cosas; La profesional: Utilizar lo que en la foto muestro; Un jack (también conocido como pitorro/enchufe/conector/cachirimbolo) puede desmontar y acoplarlo a la otra punta del cable que hemos soldado al circuito, o bien, ser menos profesional y cortar otro cable que tengas por casa (esta es la mia ;)) y empalmarlo con unas cuantas vueltas y celo a la otra punta del conector. El otro conector (la "Y") que muestro, es también una pieza necesaria, que pasaría 2 cables mono a uno esterio como el de los MP3, altavoces, etc. Se puede encontrar en cualquier tienda de electrónica o de sonido (en los chinos también venden, para que os voy a engañar) a un precio aproximado de 30 céntimos:



9-Finalizar empalmando (o montando) la otra punta al jack; Este es el gran resultado donde he puesto un pegote de silicona termofusible para evitar contactos, despegues y demás (aunque también valdría celo...):



10-Resultado:



¿Que? Aún no entiendes que tiene que ver esto con un distorsionador de voz?! Pues me explico:
Ahora, nuestro movil, dispone de una entrada "stereo" que podemos conectar a cualquier lugar, al MP3, a los cascos de la televisión, a la radio o lo más importante: Al PC.
Para conectarlo al PC, solo tendremos que enchufarlo en la clavija de los altavoces (o si nuestros altavoces permiten conexión de auriculares a esta). Así, a partir de ahora, cuando llames, todo lo que se escuche en tu PC se escuchará también por teléfono gracias a nuestro invento.

Puedes poner música, videos o lo que quieras, pero, como prometí, esto va a ser un distorsionador de voz. Para ello, necesitamos un micrófono conectado al conector del micrófono del PC; Esto, nos dejará dos opciones: Para hablar con nuestra voz, bastará que en el panel de control de volumen desmarquemos "silencio" al volumen del micrófono, y para distorsionar la voz, tendremos que dejarlo puesto y descargarnos algunos de los miles de programas que hacen esto a tiempo real. Mis preferidos son "Voice Changer 4.0 Diamond" y "MorphVOX Pro" aunque tengo que decir que el "MorphVOX Pro" en varias llamadas que he realizado ha sido el que mejores resultados ha dado con una diferencia abismal, se entiende todo perfectamente, mi voz no es mi voz y no hay ruidos extraños.

Captura de Morph Vox:

 



Activando el programa y silenciando el micrófono (en la utilidad del volumen de Windows), nuestros altavoces reproducirán la voz "distorsionada": que si un troll, que si un bebe, que si un hada... en fin, tenéis mil voces para escoger y muchos programas para probar, ahora, si enchufáis el "manos libres" a los altavoces del PC pues cuando llaméis escucharán la voz distorsionada y nada más. Vosotros, escucharéis por los cascos del manos libres.

Ah, lo más importante: Las redes de telefonía tienen un máximo de "volumen", así, que si se te cortan las llamadas nada más descolgar es porque te estás pasando tres pueblos con el volumen, y, llámate a ti mismo, escucha música; Si ves que se escucha mal, o solo se escucha la letra, la solución es fácil: Baja el volumen de los altavoces, hay que bajarlos mucho, tranquilo, se te escuchará a la perfección cuando encuentres el punto de volumen exacto.

Video de demostración del invento en funcionamiento:



Un defecto que he notado es que no te escuchas a ti mismo así que no sabes cómo está saliendo todo, si tienes ganas, puedes adaptar a "mono" un auricular y enchufarlo en el otro canal de la "Y" que conectas al PC así, por ese auricular, oirás lo que escucha la persona a la que llamas. Y si aún te quedan ganas y tienes 2 tarjetas de sonido (o un micrófono USB), puedes empalmar los auriculares con un jack "stereo" y conectarlo a el micrófono de tu PC, así, podrás escuchar por la salida de cascos del PC o o grabar las conversaciones directamente al PC con una calidad superior a todas.
Espero que no empiecen a aumentar las denuncias por llamadas anónimas :) Read More!