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ú

Mensajes - <<The Joker>>

#1
Para la gente interesada en el tema...
Logre resolver la duda con la ayuda de algunos compañeros de clases...
En ensablandor (en arquitectura IA-32, en la cual era mi duda) se pueden hacer llamadas a funcione spropias de C, en mi caso estoy programando en la consola de LINUX y simplemente se deben hacer los enlaces a las librerias o bibliotecas necesarias para poder hacer el uso a funciones como FOPEN y FGETC..
por ejemplo:

Para abrir un archivo simplemente se tiene le tiene que pasar como parametro a la funcion FOPEN el tipo de archivo que estas abriendo y el nombbre del archivo...

se hace asi:

push $r      #se apila R indicando que es un archivo de Lectura (READ)
push ARCHIVO #es la etiquiera que contiene el nombre del archivo a leer
call fopen #se llama a la funcion de C FOPEN y recibe por parametro R y ARCHIVO
add $8,%ebp #Se libera el marco de pila...


esta funcion te va a retornar en el registro %EAX un apuntador a la direccion absoluta del archivo... pór lo cual se debe almacenar dicha  variable en algun lado para no perder la referencia. (movl %eax,apuntador)

en el caso de leer caracter a caracer...

push  apuntador
call fgetc
add $4,%ebp

En este caso en retorna el valor del caracter en %EAX
y puede validar el Fin de ARchivo cuando %EAX es igual a 0.
si se quiere leer todo un archivo se crea un ciclo que haga un recorrido hasta que %EAX sea igual a 0.

vale?..
Espero que les sirva a futuras personas que tengan la duda que yo tuve...
#2
Hey que tal.
yo estoy mas o menos en el mismo proceso que tu, uniamente que ya tengo quiza un par de semanas mas en el aprendizaje de PERL...
El active Perl es quiza una especie de interpretador del lenguaje (si me equivoco disculpa y espero ser corregido). en linux el comando PERL forma parte del sistema y no neceistas instalar nada mas... en Windows si encesitas instalarlo.. en tu caso y el mio usamos Active Perl.. aparte de eso yo estoy usando un editor de codigos PERL que se llama OPTIPERL.. hay muchisimos editores, uno mejores que otros, el OPTIPERL te da la posibilidad de descargar una version gratuita y te da 50 usos, ahi puedes empezar a crear tu aplicaciones.. con opti perl puedes ejecutar el Script bien sea con salida en Browser o con salidaen Consola...

Pero esto es solo una de las herramientas que trae ese editor de codigo...  tu tienes Active Perl con lo cual ya puedes ejecutar programas desde la consola. si te fijas bien tienes una carpeta BIN en donde tienes el archivo PERL.EXE ese archivo es un interpretador que te va a permitir ejecutar tus programitas... lo que debes hacer (al menos asi lo hago yo) es poner en esa carpeta tus archivo .PL o .CGI y luego te diriges a la consola, exactamente a la carpeta BIN (ahi es donde esta PERL.EXE y tus programas).. luego escribes PERL y el nombre del archivo u VOILA!.. ya ejecutaste lo que deseabas...

espero haber respondido tu duda.. si quieres un consejo, buscate el tutorial de DDIEGO (en este foro te dan un link a ese tutorial) es muy bueno, completo y con muchos ejemplos para hacer COPY & PASTE y aprendas la sintaxis...

#3
Hey... saludos oootra vez a la comunidad de el hacker.net

Esta vez me comunico con ustedes a ver si me pueden ayudar a entender como manejar ciertas cosas de el lenguaje ENSAMBLADOR para arquitecturas IA-32.
Estoy programando para un proyecto de la universidad, un encriptador de datos en 4 metodos distintos, para realizar este encriptador necesito  pedir como entrada LA RUTA DEL ARCHIVO A cifrar y el nombre del archivo que se va a generar con el codigo cifrado... el asunto es QUE NO TENGO NI IDEA DE COMO MANEJAR ARCHIVOS EN ENSAMBLADOR...

Podria alguien darme un tutorial de ARCHIVOS para IA-32 o mandarme un pequeño SCRIPT de como abrir archivos y leerlos CARACTER por CARACTER!!!... muchas gracias....

#4
Saludos de nuevo a la comunidad de elhacker.net.

Esta vez acudo a ustedes para aclarar otras dudas que me tienen DE CABEZA...  continuando con  el mismo proyecto que les comente antes (ARCHIVOS EN PERL), necesito aclarar otras dudas antes que me boten de este trabajo  :rolleyes: .

Estoy editando una serie de archivos HTML, es una aplicacion de contenido dinamico. La cosa es la siguiente:

Estoy levamtando en memoria una serie de archivos (planos y html) para luego manipularlos y mandarlos a salir por algun Browser... el rollo es en UN CASO EN ESPECIAL.... necesito concatenar  ciertos campos para luego intercambiar toda la cadena por un Marcador dentro del HTML.

EXPLICACION DE MI APLICACION
[/size]
si te da fastidio entender lo que hace ESTA APLICACIOIN DETALLADAMENTE SALTA ESTE PARRAFO

En este punto del proyecto, tengo  3 campos que necesito montados en memoria almacenados en un arreglo (@resultado) este resultado debo meterlo dentro de un tag HTML , (ejemplo: EQUIPO1 4 contra EQUIPO2 5) el asunto es que son varios resultados y necesito meter ese arreglo "Resultado" en dos formatos distintos HTML (resultado es cargado cada vez que se necesita) ahora... al momento de concatenar los las variables, me retorna VACIO y no me muestra nada en el HTML

El codigo que tengo es este:
si no quieres leer el codigo, al final digo mas claramente que es esactamente lo que necesito

if (@contenedorHTML[$i]=~/TABLAuno/){
                   foreach $temporal(@cate1){
                @resultado="";
                if ((@cate1[$e]=~/INIRESUL/)||($logico1==1)){
                   $e++;
                   $j=0;
                   $logico1=1;
                        @resultado=split(/@/,@cate1[$e]);
                        #AKI EDITO EL HTML LINEA1 Y LINEA2 Y CONCATENO
                        if ($e%2==0){
                        foreach $temporal2(@contenedorLINEA1){

                                        if (@contenedorLINEA1[$j]=~/RESUL@arcosB/){@contenedorLINEA1[$j] =~ s|RESUL@arcosB|@resultado[0]|;}
                                        if (@contenedorLINEA1[$j]=~/COLE@contriB/){@contenedorLINEA1[$j] =~ s|COLE@contriB|@resultado[2]|;}
                                        if (@contenedorLINEA1[$j]=~/RESUL@contriB/){@contenedorLINEA1[$j] =~ s|RESUL@contriB|@resultado[1]|;}
                                        $j++;
                                    }
                                    $h++;
                                        $temporal2=$temporal2.@contenedorLINEA1;
                                        #print(@contenedorLINEA1);
                                    }

                        if ($e%2==1){
                        foreach $temporal3(@contenedorLINEA2) {
                                        if (@contenedorLINEA2[$j]=~/RESUL@arcos/){@contenedorLINEA2[$j] =~ s|RESUL@arcos|@resultado[0]|;}
                                        if (@contenedorLINEA2[$j]=~/COLE@contri/){@contenedorLINEA2[$j] =~ s|COLE@contri|@resultado[2]|;}
                                        if (@contenedorLINEA2[$j]=~/RESUL@contri/){@contenedorLINEA2[$j] =~ s|RESUL@contri|@resultado[1]|;}
                                        $j++;
                                        }
                                        $h++;
                                        $temporal3=$temporal3.@contenedorLINEA2;
                                        # print(@contenedorLINEA2);
                                    }

                    if($h==2){$temporal=$temporal.$temporal2.$temporal3;
                              $temporal2="";
                              $temporal3="";
                              $h=0;
                           }




                   }

                 if ($logico1==0){$e++;}
                    }
                    #$logico1=0;


          @contenedorHTML[$i] =~ s|TABLAuno|$temporal|;$i++;
          $temporal="";

          }


Un colega me comento que con "." se puede concatenar dependiendo del contexto en que uses ese "."

LA PREGUNTA QQUE NECESITO RESPONDER ES:

Como puedo concatenar UNA VARIABLE CON UN ARREGLO... y luego COMO CONCATENO ESE ARREGLO A OTRO ARREGLO FINAL... (imagino que sera igual)... solo necesito ayuda para concatenar valores almacenados en memoria ...

GRACIAS..


#5
Scripting / Re: LECTURA DE ARCHIVOS EN PERL
16 Enero 2006, 02:09 AM
Muchas gracias,  con ese link respondiste la pregunta....    la solucion era la unica opcion que no intente  :-[ ... <ARCHIVO>,  bueno GRACIAS
#6
Scripting / LECTURA DE ARCHIVOS EN PERL
13 Enero 2006, 22:38 PM
Saludos a la comunidad...
Esta vez recurro a ustedes ya que necesito URGENTEMENTE una solucion efectiva a mi aprendizaje del lenguaje PERL...
me estoy guiando por el tutorial "ddiego" que postularon en este foro, aparte del api de ActivePerl... pero como todo inicio en el aprendizaje de lenguajes, a veces las cosas mas basicas son las que cuestan.. estoy seguro que luego de entende run poco la sintaxys y procesos de este lenguaje, me podre desenvolver mejor...
el asunto es el siguiente:
Estoy programando una aplicacion web dinamica con Perl y CGI´s...  estoy usando como entrada de datos una serie de archivos,  y aunque veo que el comando OPEN es muy poderoso siento que no se como hacer ciertas valicaciones... por ejemplo,   necesito meter todo el contenido del archivo estructurado en un arreglo pra luego hacer algunas cosas., la cosa es que tengo problemas  con la validacion de FIN DE ARCHIVO, intente leer caracter por caracter y  validar un caracter especial que tengo al finalizar el archivo, pero algo EXTRAÑO paso y cuando estaba almacenando el arreglo de caracteres dentro de otro arreglo con el contenido, me almaceno solo la primera letra de cada linea del archivo ( mas abajo les pego el codigo...) , luego de eso intnte usar la funcion de perl READLINE.... con lo cual vi una posible solucion, se ve mas facil.. PERO SOLO ME LEE LA PRIMERA LINEA...

les pido un poco de orientacion, se que luego de entender algunas cosas.. todo los siguientes pasos se me haran mas facil..

el codigo de evaluar caracter por caracter es este:

  open (ARCHIVO,'Beisbol.txt')
   or die ("no se ha podido encontrar el archivo");

#**********************************************************************
          #EVALUA CARACTER POR CARACRTER Y LOS ALMACENA EN ARREGLO
#**********************************************************************


   while ($logico!=1)  # Mientras no llegue a fin de linea no sale
   {
   read (ARCHIVO, $cadena, 1); #los lee
   if ($cadena ne "\n")
          {@temporal[$i]=$cadena;
        $i++;
        if ($cadena eq "<"){$logico=1;}
        }
   else{
         
         @temporal2[$e]=$cadena;
         $e++;
         @temporal=0;
         $i=0;
          }
           }

"la ultima linea del archivo TXT contiene el caracter <"

Aqui lo que hago es aveluar caracter por caracter hasta llegar al final de la linea, cuando llego al final de la linea pretendo guardar ese arreglo CON LA LINEA ALMACENADA EN OTRO ARREGLO (temporal2)... pero solo me almacena la primera letra de la linea  :huh:...

Bueno.. ese es mi dilema ahora...

Necesito que alguien me ayude a leer un archivo plano y poderlo almacenar en una estructura dentro de la memoria.. ESE es todo mi problema.. se ve facil no?...

Solo un newbie mas...  gracias a todos.

THE JOKER Venezuela