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

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


  Mostrar Temas
Páginas: [1] 2
1  Programación / Programación C/C++ / Inicializar LCD (Linux) en: 16 Julio 2010, 16:17 pm
Hola a todos,

Estoy usando un powertip pc1602f directamente conectado al puerto paralelo del pc utilizando el esquema este:
http://www.beyondlogic.org/parlcd/parlcd.htm

Todo bien lo energizo el lcd y me muestra la primera fila con bloques negros, hasta ahí bien pero ahora quiero mandar información por el puerto paralelo.

Si mirais la página vereis que hay un código fuente para mandar información al lcd, pero usa librerias de windows  :huh:

Dejo mi código intentado convertido en linux.

Código
  1. #include <stdio.h>  
  2. #include <string.h>  
  3. #include <unistd.h>  
  4. #include <fcntl.h>  
  5. #include <errno.h>  
  6. #include <termios.h>
  7. #include <stdlib.h>
  8. #include <unistd.h>
  9. #include <sys/io.h>
  10. #define PORTADDRESS 0x3f8
  11. #define DATA PORTADDRESS+0
  12. #define STATUS PORTADDRESS+1
  13. #define CONTROL PORTADDRESS+2
  14.  
  15. main(int argc, char **argv)
  16. {char string[] = {"Testing 1,2,3"};
  17.  
  18.    int count;
  19.    int len;
  20.  
  21.    char init[10];
  22.    init[0] = 0x0F; /* Init Display */
  23.    init[1] = 0x01; /* Clear Display */
  24.    init[2] = 0x38; /* Dual Line / 8 Bits */
  25.  
  26.    if (ioperm(PORTADDRESS,1,1))
  27.        fprintf(stderr, "No se puede acceder al: %x\n", PORTADDRESS), exit(1);
  28.  
  29.    outb(CONTROL, inb(CONTROL) & 0xDF);
  30.    outb(CONTROL, inb(CONTROL) & 0x08);
  31.  
  32.  
  33.    for (count = 0; count <= 2; count++)
  34.    {
  35.  
  36.        outb(DATA, init[count]);
  37.        outb(CONTROL,inb(CONTROL) | 0x01);
  38.        sleep(20);                                
  39.        outb(CONTROL,inb(CONTROL) & 0xFE);
  40.        sleep(20);                                  
  41.    }
  42.    outb(CONTROL, inb(CONTROL) & 0xF7);  
  43.  
  44.    len = strlen(string);
  45.  
  46.    for (count = 0; count < len; count++)
  47.    {
  48.        outb(DATA, string[count]);
  49.        outb(CONTROL,inb(CONTROL) | 0x01);
  50.        sleep(2);
  51.        outb(CONTROL,inb(CONTROL) & 0xFE);
  52.        sleep(2);
  53.    }
  54.  
  55. }


Compila perfectamente pero cuando lo quiero provar lo ejecuto como root y me arroja esto

Código
  1. root@ubuntu:/media/E80C-30D5/LCD/build# ./lcd
  2. Fallo de segmentación (`core' generado)
  3. root@ubuntu:/media/E80C-30D5/LCD/build#

Mirando el dmesg me encuentro con esto.

Código
  1. [ 3176.691837] lcd[3867] general protection ip:400cb4 sp:7fff887ad290 error:0 in lcd[400000+2000]
  2. root@ubuntu:/media/E80C-30D5/LCD/build#

Dejo el dmesg del ttyS*
Código
  1. root@ubuntu:/media/E80C-30D5/LCD/build# dmesg |grep ttyS
  2. [    2.335717] serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
  3. [    2.335817] serial8250: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
  4. [    2.336100] 00:0b: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
  5. [    2.336207] 00:0c: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
  6. root@ubuntu:/media/E80C-30D5/LCD/build#

PD:És el hilo de http://foro.elhacker.net/electronica/inicializar_lcd_linux-t299539.0.html ; pero puesto aquí haber si me podeis ayudar.


2  Informática / Electrónica / Inicializar LCD (Linux) en: 14 Julio 2010, 13:26 pm
Hola a todos,

Estoy usando un powertip pc1602f directamente conectado al puerto paralelo del pc utilizando el esquema este:
http://www.beyondlogic.org/parlcd/parlcd.htm

Todo bien lo energizo el lcd y me muestra la primera fila con bloques negros, hasta ahí bien pero ahora quiero mandar información por el puerto paralelo.

Si mirais la página vereis que hay un código fuente para mandar información al lcd, pero usa librerias de windows  :huh:

Dejo mi código intentado convertido en linux.

Código
  1. #include <stdio.h>  
  2. #include <string.h>  
  3. #include <unistd.h>  
  4. #include <fcntl.h>  
  5. #include <errno.h>  
  6. #include <termios.h>
  7. #include <stdlib.h>
  8. #include <unistd.h>
  9. #include <sys/io.h>
  10. #define PORTADDRESS 0x3f8
  11. #define DATA PORTADDRESS+0
  12. #define STATUS PORTADDRESS+1
  13. #define CONTROL PORTADDRESS+2
  14.  
  15. main(int argc, char **argv)
  16. {char string[] = {"Testing 1,2,3"};
  17.  
  18.    int count;
  19.    int len;
  20.  
  21.    char init[10];
  22.    init[0] = 0x0F; /* Init Display */
  23.    init[1] = 0x01; /* Clear Display */
  24.    init[2] = 0x38; /* Dual Line / 8 Bits */
  25.  
  26.    if (ioperm(PORTADDRESS,1,1))
  27.        fprintf(stderr, "No se puede acceder al: %x\n", PORTADDRESS), exit(1);
  28.  
  29.    outb(CONTROL, inb(CONTROL) & 0xDF);
  30.    outb(CONTROL, inb(CONTROL) & 0x08);
  31.  
  32.  
  33.    for (count = 0; count <= 2; count++)
  34.    {
  35.  
  36.        outb(DATA, init[count]);
  37.        outb(CONTROL,inb(CONTROL) | 0x01);
  38.        sleep(20);                                
  39.        outb(CONTROL,inb(CONTROL) & 0xFE);
  40.        sleep(20);                                  
  41.    }
  42.    outb(CONTROL, inb(CONTROL) & 0xF7);  
  43.  
  44.    len = strlen(string);
  45.  
  46.    for (count = 0; count < len; count++)
  47.    {
  48.        outb(DATA, string[count]);
  49.        outb(CONTROL,inb(CONTROL) | 0x01);
  50.        sleep(2);
  51.        outb(CONTROL,inb(CONTROL) & 0xFE);
  52.        sleep(2);
  53.    }
  54.  
  55. }


Compila perfectamente pero cuando lo quiero provar lo ejecuto como root y me arroja esto

Código
  1. root@ubuntu:/media/E80C-30D5/LCD/build# ./lcd
  2. Fallo de segmentación (`core' generado)
  3. root@ubuntu:/media/E80C-30D5/LCD/build#

Mirando el dmesg me encuentro con esto.

Código
  1. [ 3176.691837] lcd[3867] general protection ip:400cb4 sp:7fff887ad290 error:0 in lcd[400000+2000]
  2. root@ubuntu:/media/E80C-30D5/LCD/build#

Dejo el dmesg del ttyS*
Código
  1. root@ubuntu:/media/E80C-30D5/LCD/build# dmesg |grep ttyS
  2. [    2.335717] serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
  3. [    2.335817] serial8250: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
  4. [    2.336100] 00:0b: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
  5. [    2.336207] 00:0c: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
  6. root@ubuntu:/media/E80C-30D5/LCD/build#



3  Informática / Electrónica / Comunicación directa LCD y puerto paralelo. en: 13 Julio 2010, 20:27 pm
Hola a todos,

Estoy haciendo un experimento en casa con un lcd powertip pc1602f que me prestaron para imprimir en una pantalla lcd alguna cadena de carácteres
Datasheet: http://www.powertipusa.com/pdf/pc1602f.pdf

Entonces se me plantea un problema y serio porque no se si me he cargado el lcd o no.

Problema:

He soldado los pines que estan hechos en este esquema:
http://www.beyondlogic.org/parlcd/parlcd.htm
Entonces del esquema en el pin del puerto paralelo el 17 que va al pin 4 del lcd no lo he puesto el pin 17 del puerto, lo e puesto al 16, ya que  he visto en 2 páginas que se tenia que conectar aquí:
http://personal.telefonica.terra.es/web/soloelectronicos/reproductor/construccion.htm                 <--- Por el medio o así sale el pinout 
o aqui tambien:
http://electrosofts.com/parallel/lcd.html
Entonces no se si va al 16 o al 17.

Entonces lo e conectado al 16 al pc y me a salido la primera linea del lcd de color como bloques en forma cuadrada solo la primera fila. Eso quiere decir que me lo he cargado?:duda:
Si no me lo he cargado y es porque no le estoy mandando nada por eso sale así
Que tengo que hacer para mandarle información por el com al lcd? hay algun programa hecho ya?

PD: El caso es que en la web  de electrosofts sale que la misma pantalla que ami cuando lo energizo pero dudo ahi en ese pin.
Alguna ayuda?
Muchas gracias por leer.

Saludos.
4  Programación / Scripting / Ordenar array perl y regex en: 8 Julio 2010, 14:59 pm
Hola :)

Estoy intentando cojer unos links y unas imagenes tal que queden así ordenado el array:

Dirección URL
Enlace de imagen
Dirección URL
Enlace de imagen


Así hasta que recorra el bucle y los encuentre todos.

Problemas:

No consigo que al recorrer el bucle los ponga ordenados y tampoco consigo que la expresión regular recoja el enlace de la imagen acuerdo a regex, los consigo todos pero todos los de la página.

Recojo los enlaces de las imagenes con $Explorador->find_all_images() del módulo WWW:Mechanize.

El tipo de html que esta especificado en el DOM de la página es este:

Código
  1.   <table border="0" cellpadding="0" cellspacing="0" bgcolor="#ffffff">
  2.            <tr>
  3.  
  4.            <td>
  5.                <a href="http://valeptr.com/scripts/runner.php?PA=4749" target="_ptc" onclick="javascript:reloadpage(11)">
  6.                    <img src="http://valeptr.com/scripts/runner.php?REDIRECT=http%3A%2F%2Fwww.e-qoo2.net%2Fimages%2Fbanner2.gif&amp;hash=fc93bac327d1672abbe159e0a1fc17cd" alt="e-qoo2"   border="0">
  7.                </a>
  8.            </td>
  9.            </tr>
  10.            </table>
  11.  

Y  no consigo poner el link y la imagen que tiene debajo como he puesto arriba marcado en negrita.

Pongo todo el script en perl.

Código
  1. #!/usr/bin/perl    
  2. #<table border="0" cellpadding="0" cellspacing="0" bgcolor="#ffffff">
  3. #            <tr>
  4. #
  5. #            <td>
  6. #               <a href="http://valeptr.com/scripts/runner.php?PA=4749" target="_ptc" onclick="javascript:reloadpage(11)">
  7. #                    <img src="http://valeptr.com/scripts/runner.php?REDIRECT=http%3A%2F%2Fwww.e-qoo2.net%2Fimages%2Fbanner2.gif&amp;hash=fc93bac327d1672abbe159e0a1fc17cd" alt="e-qoo2"   border="0">
  8. #                </a>
  9. #            </td>
  10. #           </tr>
  11. #            </table>
  12.  
  13. use WWW::Mechanize;
  14. use WWW::Mechanize::Sleepy;
  15. my $Explorador = WWW::Mechanize::Sleepy->new( agent => 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4) Gecko/20030624', sleep => '1' );
  16. my @Array_PTC;
  17. $Explorador->get("file:/home/alejandro/Escritorio/1appsearch.php.html") #Proceed to access the URL to find all the links in emails
  18.     or die q{Ha ocurrido un error obteniendo la página http://valeptr.com/pages/1appsearch.php.html};
  19.  
  20. #print $Explorador->content();
  21. foreach my $link ( $Explorador->links, $Explorador->find_all_images()  )
  22. {
  23.    if ( my ($interesting) = $link->url =~ qr{scripts/runner\.php\?PA=})
  24. {
  25. push @Array_PTC, $link->url;
  26.     }
  27.    if ( my ($interesting) = $Explorador->find_all_images()=~ #Aqui expresión regular)
  28. {
  29. push @Array_PTC, $link->url;
  30.     }
  31. }
  32.  
  33. print "$_\n" for @Array_PTC;
  34.  

Resumiendo:
Consigo todos los enlaces que cumplen con el pattern scripts/runner\.php\?PA=
pero lo que consigo es:
    1.- Conseguir todos los enlaces de debajo de el enlace <img src=" ... "
    2.- Ordenar los enlaces para que queden link y debajo el enlace


Saludos,
5  Programación / Scripting / Perl Regular Expressions (Regex) en: 5 Julio 2010, 20:40 pm
Hola :)

Estoy haciendo un script en Perl para que haga un HTTP Post en una url, y cuando me logeo quiero cojer un trozo de texto y retocarlo para que quede concorde y no salgan todas las etiquetas del html etc..

El código que quiero cojer es este:

Código
  1.     <td class="tm"><b>AQUI QUIERO COJER ESTO1</b><br>
  2. Welcome back to your members area.<br><br>
  3. Your username here is <b>AQUI QUIERO COJER ESTO2</b>.<br>
  4.  
  5. <script language="javascript" type="text/javascript">

Por supuesto que es un trozo de código del DOM de la página.
En todo caso quiero cojer lo que hay dentro del AQUI QUIERO COJER ESTO1 y del AQUI QUIERO COJER ESTO2

PD: Llevo aquí 2h y no lo consigo :S

Aquí pongo todo mi script:

Código
  1. #!/usr/bin/perl
  2. #=======================================================================
  3. #
  4. #
  5. #  DESCRIPCIÓN:
  6. #
  7. #      OPTIONS:  ---
  8. #         BUGS:  ---
  9. #        NOTAS:  ---
  10. #      VERSION:  1.0
  11. #     CREADO:  Lunes 5 de julio del 2010
  12. #    REVISIÓN:  1
  13. #=======================================================================
  14.  
  15. use warnings;
  16. use strict;
  17. use WWW::Mechanize;
  18.  
  19.  
  20.    my $Explorador = WWW::Mechanize->new( agent => 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4) Gecko/20030624' ); #Constructor del explorador con un UserAgent falso.
  21.    $Explorador->get("file://home/alejandro/enter.php.html"); #Se procede a acceder a la dirección url para hacer el HTTP Post
  22.    $Explorador->field('username','Miuser'); # Busca el campo username y pone el usuario
  23.    $Explorador->field('password','Mipass');  # Busca el campo password y pone la contraseña
  24.    $Explorador->submit(); # Hace el HTTP POST
  25.  
  26.    print $Explorador->content();
  27.  
  28.    if($Explorador->content() =~ m"\s/<td class=\"tm\"><b>")
  29.       {
  30.  
  31.       }
  32.    else
  33.    {
  34.      die "Error: No se puede encontrar el nombre.\n¿Ha provado que su usuario y contraseña sean correctos?";
  35.     }

6  Seguridad Informática / Hacking Wireless / Acceso remoto Router y Sniffar en: 6 Mayo 2010, 16:08 pm
Hola gente  :rolleyes:

Estoy haciendo un trabajo para ver si puedo conseguir esnifar todo lo que llega al router A desde una iP publica que no tengo acceso a otra IP publica que es la mía.

El esquema que tengo hecho es este:


RouterA                                                                           Router B Mio   
IP Pública                                                                         IP Pública

La cosa que esta clara es que estoy conectado a el, es decir puedo ver toda la configuración del router total.
Como puedo hacer para que desde mi casa pueda ver el router de mi compañero sin tener que conectarme físicamente contra el  es decir ir a su casa.

Saludos :)
Backglass.
7  Programación / Scripting / Leer fichero desde un punto a un punto(Python) en: 29 Marzo 2010, 18:41 pm
Hola de nuevo. :)

Estoy esta semana muy liado intentando utilizar el mechanize que es un modulo de python webbrowser para mirar unos links de una web y he llegado a un punto que no logro descifrar que es:

Sí tengo un archivo de texto donde ahí guardo todos los datos de la página fuente osea el código fuente de la web y quiero que lea solo el texto que hay entre 2 palabras que están en el mismo texto y que coja el link que hay en ellas.

Gráficamente seria así:

----------------Fichero de texto-----------------------
Muchas línias de código fuente de la web

Hola me llamo x

http://link

Hasta luego

Me despidasdas

----------------Fichero de texto-----------------------

Cómo puedo cojer el link de http://link sí hay más de uno y estan fuera del rango Hola me llamo x , y Me despidasdas?



Saludos, :-\

Backglass
8  Programación / Scripting / Expresiones regulares --->(Python)[Resuelto] en: 28 Marzo 2010, 15:58 pm
Hola a todos, ::)

Estoy liado haciendo un script en python y tengo que quitar cosas de los links que recorro por el for de una página web.

El bucle lo paso asi:
Código
  1. for link in br.links(url_regex=re.compile('.*')):
  2.    print link
  3.  

Una vez que lo paso me muestra todas esto y otros links que no necesito parsear de:
Link(base_url='file:/home/alejandro/Escritorio/1biinox.php.html', url='http://vale.com/scripts/runner.php?IM=45b2a2ec96953.', text='* Ejemplo* aquamails', tag='a', attrs=[('href', 'http://vale.com/scripts/runner.php?IM=45b2a2ec96953.'), ('target', '_inbox')])

En el link de arriba quiero cojer todo lo que esta en url osea todo el link:
http://vale.com/scripts/runner.php?IM=45b2a2ec96953.

Y lo demás descartarlo.
¿Como lo podria hacer?

Saludos
Backglass





9  Programación / Scripting / Python- Leer línia archivo bucle[Solucionado] en: 27 Marzo 2010, 16:19 pm
Hola,

Llevo ya 2 horas mirando como puedo hacer que de un archivo de texto recorrerlo completamente línia a línia y si coincide con una linia entonces haga una cosa que es saltar de línia por ejemplo si se encuentra una coincidencia que es por ejemplo:
-->"Alejandro Jussdcggd"

Si entonces se encuentra coja la línia y salte de línia por ejemplo si -->"Alejandro Jussdcggd" esta en la línia 4 que coja la línia 4 y le sume 3 para ir a la línia "vdasd"

Os dejo la porción del código que tengo hecho.

Código
  1. if __name__ == "__main__":
  2.    f= open('/home/alejandro/Escritorio/s.php')
  3.    for linas in f:
  4.        if linas.startswith('-->"Alejandro Jussdcggd"'):
  5.            v= linas+3 #Fallo aquí
  6.            print v
10  Programación / .NET (C#, VB.NET, ASP) / Clickar imagen WebBrowser de C# en: 10 Enero 2010, 11:18 am
Hola a todos,

Estoy haciendo un bot para Beruby, todo va bien cuando carga la página y tal pero cuando quiero hacer click en una imagen tipo


en las flechas verdes no lo se hacer.. He estado mirando el webbrowser.document.invokescript  pero no lo sé hacer funcionar..
Dentro de la imagen cuando haces click tiene esto dentro



Código
  1. <td class="SubCatCell3centered"><form action="http://clk.tradedoubler.com/click" id="form_for_category_webmasters_1543" method="get" name="form_for_category_webmasters_1543" onsubmit="new Ajax.Request('/portal/click_account?submit_control_var=submit_form_for_category_webmasters_1543&amp;widget_id=1543', {asynchronous:false, evalScripts:true, parameters:Form.serialize('form_for_category_webmasters_1543') + '&amp;authenticity_token=' + encodeURIComponent('0639b0c3f9de5f39a5d34e9081837c96084441ec')});return submit_form_for_category_webmasters_1543;" target="_blank">
  2.      <input id="a" name="a" value="1388433" type="hidden"><input id="p" name="p" value="66819" type="hidden"><input id="g" name="g" value="17296302" type="hidden"><input id="epi" name="epi" value="116058" type="hidden">
  3.      <a href="#" class="" onclick="if(document.form_for_category_webmasters_1543.onsubmit()) {document.form_for_category_webmasters_1543.submit();$('category_box_floating_div').hide();}" title="Visitar"><img alt="Visitar" src="/images/icon-greenarrow-big.gif?1261987623" height="29" width="29"></a>
  4.    </form>
  5. <span id="placeholder_for_1543">&nbsp;</span>
  6. </td>

Pienso que el código a ejecutar esta aquí
      <a href="#" class=""
Código
  1. onclick="if(document.form_for_category_webmasters_1543.onsubmit()) {document.form_for_category_webmasters_1543.submit();$('category_box_floating_div').hide();}" title="Visitar"><img alt="Visitar" src="/images/icon-greenarrow-big.gif?1261987623" height="29" width="29"></a>


Alguna ayuda de como puedo ejecutar-lo?
Gracias,
Páginas: [1] 2
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines