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 - Snifer

#41
GNU/Linux / Jugando Snake en la Consola
Diciembre 02, 2011, 11:41:37 PM
Buenas a todos, hace un momento me dio mis ganillas de jugar ayer me toco jugar conNo tienes permitido ver los links. Registrarse o Entrar a mi cuenta xD jejejeje .. hoy toca jugar con Snake el clasico juego en la consola.

Instalamos con :
Código: php

     sudo apt-get install bsdgames


Código: php

    snifer@snifer$ snake


Luego de esto  lo que nos tocará es comenzar a jugar.. con la tecla de direccion :D




Medio extraño no la pantallita paso a explicar que significa cada simbolo.

Simbolos


#: La puerta de salida donde termina el juego
$: Es la comida.. ¬_¬
s
s s
  s
  : Las que tienen esa formita, es algo que tenemos que evitar no se que rayos sera.
|I| : Esa es la vibora lo que controla y tienes que ir comiendo.

Los comandos son las teclas de dirección :D y al terminar el juego lo que tenemos es lo siguiente.
Código: php


    You have won with $57.
    Your best to date is $66
    The highest is snifer with $66
    You made 379 moves.


Espero les agrade.. estas entradas de estos dias

Fuente: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
#42
GNU/Linux / Jugando Pacman desde la Consola
Diciembre 02, 2011, 03:22:02 AM
Recien di un borrado de los juegos que llevaba en la PC mas que todo por trabajar, asi que me puse a jugar un poco con la consola... y me acorde de PACMAN que podemos jugar desde la consola.. <3 asi que aqui va como poder jugar


Asi que comenzamos..

Código: php
    snifer@snifer:~$ sudo apt-get install pacman4console 



Luego de eso es esperar un poquitin y lo lanzamos con :


Código: php
    snifer@snifer:~$ pacman4console



Y listo podremos jugar.

Espero sigan jugando con el...



Código: php
   snifer@snifer:~$ pacman4console
    Game Over



al perder me vota el clasico GAME OVER

Fuente: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
#43
GNU/Linux / Chateando desde Consola en el Facebook
Diciembre 02, 2011, 03:15:42 AM
Ando con la idea loca de tener todo en la terminal si me dio mi momento geek :D no estoy loco solo que quiero integrar todo en la terminal asi trabajo, con un todo en uno. ademas me molesta el face con su molesto chat :P

Mcabber es un cliente jabber desde consola lanzado bajo una licencia GNU GPL.

Instalación:


Código: php
    snifer@snifer:~$ sudo apt-get install mcabber



Bueno ahora que esta instalado procedemos con la configuracion
Código: php

    snifer@snifer:~$ mkdir ~/.mcabber


Creamos  el directorio posteriormente creamos el archivo de configuracin, con esto crearemos el archivo..

Código: php
    touch ~/.mcabber/mcabberrc


Ahora lo que toca es brincar al directorio .. y comenzaremos.. con la edicion

Código: php
    snifer@snifer:~$ cd ~/.mcabber
    ------------------------------------------------------------------------------------------------ 00:59:21
    snifer@snifer:~/.mcabber$ ls
    mcabberrc
    ------------------------------------------------------------------------------------------------ 00:59:23
    snifer@snifer:~/.mcabber$ gedit mcabberrc


Luego editamos... con el amado gedit. el archivo mcabberrc.



Nota: si pones tu pass cuando inicies de manera automatica se conectara

Luego entramos a la configuración mejor dicho al programa poniendo en la consola mcabber despues de esto ya tendremos ..



Aqui hablando con un amigo del face... :D



Escribir comandos: Todos los comando tiene este formato /COMANDO donde COMANDO es la orden a usar, algunos comandos:

/say_to USUARIO MENSAJE : Para enviar un mensaje a algún contacto en específico
/roster unread_first : Para leer el primer mensaje de los que no se han leído
/roster unread_next : Para leer el siguiente mensaje de los que no se han leído
/roster search USUARIO : Para buscar algún contacto
/alias ALIAS = COMANDO OPCION : Para crear alias de los comandos que más se usen
/help : Para ver los comandos existentes
/quit : Para salir

Su guia esta  aquí.

Fuente : No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
#44
GNU/Linux / Plugin para trabajar en Gedit con LaTeX
Noviembre 27, 2011, 03:55:24 PM
Bueno estos dias andaba renegando a mil por ahora, por el querido LaTeX que no podía usar un IDE como Kile, Lyx,y demás hacer nada xD jejej ya que me acostumbre a trabajar con Gedit.

Y me puse a cureosear un poco,  y ver algo de Gedit grata fue la sorpresa al notar que existen plugin's para Gedit que nos permite trabajar con C++,Python y demas revisando revisando..... Me encontre con un plugin para Gedit #LaTeXPlugin xD que hace  que se convierte en un editor de LaTeX. 

Puede instalar el plugin de Gedit LaTeX así:

Código: php
 $ sudo apt-get install gedit-latex-plugins 

Una vez instalado el plug-in, tendremos que accesder a Gedit para empezar a utilizarlo activarlo. Esto se logra mediante la apertura de Preferencias Gedit ( GEdit > Edit > Preferences ).

Luego de hacer clic en la pestaña de Plugins y encender el "plugin Gedit LaTeX". Ahora, cuando cada vez que abra un archivo TeX, tendremos  un menú de  LaTeX en Gedit.


Y listo activado... tenemos el plugin instalado.


Como podran ver.. tenemos en la parte de arriba.. xD para poder trabajar.. de manera mas rapida y sencilla



Y se nos habilita un menú LaTeX para poder trabajar e insertar bibliografia y demas cosa..

Fuente: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
#45
GNU/Linux / Solucion al problema de conexion Emesene
Noviembre 09, 2011, 11:26:26 PM

De echo que desde hace dias ustedes igual estan con este problema de que tarda siglos en ingresar.... me refiero siglos porque en mi caso en todo el dia nunca se conecto.. ¬_¬ mucho tarde en darme cuenta el problema me puse a googlear.. xD lo primeroNo tienes permitido ver los links. Registrarse o Entrar a mi cuenta .. .  y bueno di en el palo. exacto segun el informe indican que se debe a cambios en los servidores de Live Messenger, por lo cual no permite el funcionamiento adecuado, de este cliente no se si sucede lo mismo con Pidgin ni Amsn .. . pero me daba el mismo error de conexion

Lo bueno es que el trabajo por parte del equipo para arreglar el problema nos dan una solucion temporal

1.- Descargamos el comprimido, que es la version de desarrollo del programa.

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

2.- Extraemos el archivo comprimido y buscamos dentro la carpeta emesene y el No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

    - Click derecho en el archivo.
    - Ir  a propiedades y seleccionamos la opción Permitir ejecutar archivo como un programa


3- Ejecutamos emesene haciendo doble clic en dicho archivo y listo aunque un poco distinto a lo acostumbrado pero ya podemos conectarnos ..



Algo que me encanto. fue la integracion con las notificaciones..de GNOME



Otra solucion

La solución consiste en modificar o reemplazar una cadena por otra en 2 archivos nada más.

Los archivos se encuentran en el directorio /usr/share/emesene/emesenelib/soap/ y se llaman:


    No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
    No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Las lineas que hay que modificar son las que dicen:

      'contacts.msn' por 'local-bay.contacts.msn'


Para esto manos a la obra nos vamos a /usr/share/emesene/emesenelib/soap/


Luego hacemos uso de nuestro editor yo uso gedit lo llamo como SUDO y CTRL +H para cambiar.


El mismo procedimiento para :

    No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
    requests.py 


Y listo msn conectado.. version anterior.. :D


Fuente : No tienes permitido ver los links. Registrarse o Entrar a mi cuenta


#46

Como sacar la contraseña de un rar que no sabemos la pregunta me la hizo mi amigo @enriquegmv xD asi que me puse a hacer la entrada espero les agrade :D

Lo que hacemos es descargar No tienes permitido ver los links. Registrarse o Entrar a mi cuenta luego las estimadas dependecias
Primero las queridas dependencias

Código: php


    snifer@snifer:/$ sudo apt-get install libxml2-dev


Por comodidad luego de descargarlo nos vamos donde lo tenemos yo lo lleve al escritorio para facilitarme las vida.

Código: php
    snifer@snifer:~/Escritorio$ tar xvjf rarcrack-0.2.tar.bz2 


Entramos al directorio

Código: php
    snifer@snifer:~/Escritorio$ cd rarcrack-0.2/


Lo que sigue es hacer el make y make install

   
Código: php
    snifer@snifer:~/Escritorio/rarcrack-0.2$ make

        snifer@snifer:~/Escritorio/rarcrack-0.2$ sudo make install


Lo que hacemos es meternos a la carpeta usando el siguiente comando:
Código: php

    rarcrack [y la ubicacion del archivo comprimido]


Asi de este modo


Código: php
    snifer@snifer:~$ rarcrack /home/snifer/Escritorio/Sacando_un_pass.zip 




Al probar me dio error :( y si evidentemente un error violación de segmento el motivo es porque no me reconocio la extensión que le di del archivo.

Tenemos que agregar al final el tipo de extensión
Código: php

    --type rar o --type zip o --type 7z



Luego solo nos queda esperar, y lo que hace es crear un archivo xml en el caso de que falle, y volver a intentarlo tuve que esperar como 10 minutos para que de :D



EXTRA
Código: php
$ sudo rarcrack archivo.ext [--threads num] [--type rar | zip | 7z]



Todo lo que esta entre "[" y "]" son parámetros opcionales, por defecto RarCrack detecta solo el tipo de archivo.

EXPLICANDO EL FUNCIONAMIENTO

Ahora viene lo bonito que no se me da muy bien a explicar como funciona a mi buen entender.

Para encontrar la clave RarCrack realiza un ataque por fuerza bruta al archivo comprimido.

El número de threads debe estar entre 1 y 12, ambos inclusive. Según mi entender, es las veces probadas de contraseña por segundo yo solo hice la prueba hasta 2 por segundo :D

¿PORQUE LA DEPENDENCIA?

La dependencia con el paquete libxml2-dev tiene su explicación en que, a medida que va probando contraseñas, guarda el estado por el que va en un fichero XML.

De esta forma, es posible interrumpir la ejecución en cualquier momento pulsando CTRL+C y seguir en otro momento o, incluso, en otro ordenador diferente.

La estructura de un fichero de estado XML cualquiera es la siguiente:



Después de que el agrietamiento comenzó RarCrack imprimirá el estado actual de la fisuración y guardarlo en un archivo de estado. Si desea más contraseña conjunto de caracteres específicos, es necesario ejecutar RarCrack para crear el archivo de estado XML (3 segundos).
Código: php

#RECUPERANDO CONTRASEÑAS DE RAR ZIP 7Z DESDE CONSOLA
#http://sniferl4bs.blogspot.com/2011/10/recuperando-el-pasword-rar-zip-7z-desde.html
#http://sniferl4bs.blogspot.com
#http://biblioteca-sniferl4bs.blogspot.com
<? Xml version = "1.0" encoding = "UTF-8"?> <rarcrack> <abc> 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ </ abc> <actual> s3145</ corriente> <good_password> </ good_password> </ rarcrack>


Es un archivo XML de ejemplo, y ver que hay un conjunto de caracteres. Si lo desea, puede modificar este archivo y al iniciar RarCrack nuevo el programa será el uso de nuevas variables.



Espero les agrade Saludos :P

Fuente: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
#47
Bueno señores el motivo del post es porque el kernel 3.x especificamente el 3.1 esta echo pomada. por asi decirlo, en TARINGA  especificamente en la Comunidad Gnu/Linux para Todos un usuario tuvo problemas al actualizar posteriormente otro mas..
Asi que me puse a investigar...
Y lo primero que hice bajarme una ISO nueva de Crunch que posteriormente ire indicando sobre esta distro...

Asi que me paso a explicar error por error  que encontre..


1.- Al cerrar la tapa de la portatil, no cumple con la función de suspensión (que si lo hacía el Kernel 3.0) la pantalla se nos oscurece, y se queda como en descanso y la tecla mayuscula parpadea como loca.

Comenzamos a analizar cada uno de los problemas uno por uno:

1,.- EL motivo porque suceda este problema se debe porque cuando el administrador de energia del nuevo kernel no es administrable por los paquetes que tiene la distribucion.

¿Desde donde vino este problema  arrastrando ?

Culpable el Kernel 2.6.38 sigue provocando estos problemas y el mas principal el tiempo de uso de la Bateria, problemas con actualizacion de paquetes, cierre inesperado, daños de paquetes de drivers etc?

La solucion hacer un back y volver con un kernel anterior,o bien para las baterias  tratar de No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Bueno estos son los principales creo que ire actualizando segun encuentre mas .

Fuente :No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
#48

El conocido software escrito en PHP para la administración de bases de datos MySQL, es vulnerable a ataque cross site scripting.

El equipo de phpMyAdmin ha publicado una alerta informando de un fallo en la funcionalidad "structure snapshot" al no realizar correctamente la validación de los datos pasados a través de los parámetros tabla, columna e índice. Un atacante remoto podría ejecutar código JavaScript a través de una URL especialmente manipulada y de esta forma obtener, por ejemplo, la cookie de sesión del administrador.

La víctima debe usar Internet Explorer (versiones menores o iguales a la 8 ), para ejecutar código JavaScript a través de la funcionalidad de exportación de seguimiento, (tracking export, en tbl_tracking.php). Esto parece ser posible debido a que Internet Explorer finaliza la interpretación de los nombres de fichero en la cabecera adjunta cuando llega al primer punto y coma cuando intenta determinar el content-type. Un nombre de tabla especialmente manipulado, por ejemplo "test.html;", causaría el XSS.

La funcionalidad de seguimiento de informe, tracking report, también es vulnerable a otro XSS aunque en este caso, la explotación implica un token válido para poder realizar la manipulación de los parámetros de la URL. Por tanto, el atacante requiere de acceso a la base de datos de la víctima además de los permisos CREATE o ALTER TABLE. También debe poder habilitar la funcionalidad de seguimiento.

phpMyAdmin fue avisado el 26 de julio y ahora publica las soluciones. Se recomienda la actualización a las versiones 3.3.10.4 o 3.4.4, o bien aplicar los diferentes parches listados en la web de phpMyAdmin.

Fuente: Hispasec
#49
GNU/Linux / Mandriva 2011 Lista para descargar
Agosto 30, 2011, 01:59:10 AM


Sobre Mandriva

Mandriva es un distribuidor de software libre incluyendo :

    * Mandriva Linux, un sistema operativo completamente libre para individuos y empresas. Para computadoras cliente, servidores, dispositivos mobiles y embebidos.
    * Mandriva Enterprise Server, la distribución Linux para servidores integrando Mandriva Directory Server una herramienta para administrar de identidad y de servicios de red.
    * Mandriva Pulse 2, una herramienta de codigo abierto para la administarción de redes IT heterogeneas.

Mandriva también es una 'Asamblea' el punto de reunion de todas las comunidades de usuarios, desarrolladores y contribuidores del proyecto.

El ex Mandrake.. aun lo tengo yo en mis distros..


No tienes permitido ver los links. Registrarse o Entrar a mi cuenta


K43L esto es para ti hermano!!
#50
Python / Python V1.45 para el Movil
Agosto 28, 2011, 07:36:54 PM

Si señores para los que les agrade programar.. pueden hacerlo en el cel. xD.


Ami me viene de perilla por mi tesis, para ir viendo lo que se me ocurra..

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Saludos :P
#51

Las últimas versiones de la distribución de Canonical han traído muchas novedades y mejoras, pero tampoco se han librado de incluir algunos problemas. El más grave de todos, con mucho, es el que afecta a la autonomía de las baterías en los portátiles, y que hace que Ubuntu 10.10 y Ubuntu 11.04 pierdan muchos enteros en estos equipos.

a lo comentaba Metalbyte hace mes y medio al hablar del kernel Linux 2.6.38, que es el causante de una situación que por ahora sigue sin solucionarse: el núcleo de Linux ha ganado terreno en muchos apartados, pero desde luego hay un problemón con la gestión de energía.

En Phoronix ya habían avisado de este tema, que también ha sido tratado en UbuntuForums, en el foro de Fedora, en la herramienta de errores de Ubuntu y seguro que en muchos otros sitios, y el tema ha vuelto a ponerse de manifiesto tras un análisis de Ubuntu 11.04 que ha aparecido en Tom's Hardware y que precisamente hace hincapié en el tema:

    En lo que respecta al rendimiento, hay razones de peso para que ciertos usuarios se actualicen [a Ubuntu 11.04]. También hay razones de peso para que algunos usuarios eviten esta distribución por todos los medios. Los jugones de Linux podrán disfrutar de mejoras sustanciales, mientras que los usuarios móviles sufrirán una pérdida de autonomía de la batería dramática.


Los argumentos no se lanzan a la ligera: las pruebas realizadas por Tom's Hardware vuelven a reforzar lo que se había descubierto en el pasado, y lo peor es que la solución aún no se ha producido.



Así, en el kernel 2.6.39 la cosa mejora ligeramente, y parece que también se ha evolucionado un poco en los recién anunciados kernels 3.0, pero en realidad el problema persiste y sigue siendo muy grave para los usuarios de portátiles, que será mejor que utilicen distribuciones que no pasen del kernel 2.6.37.

Fuente - No tienes permitido ver los links. Registrarse o Entrar a mi cuenta - No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
#52
Hola como están aquí con está duda en sí quisiera saber cual de las dos alternativas tengo para desarrollar el sistema ERP cual es conveniente para su desarrollo ERP Sistema de Gestión Empresarial.
Yo tengo pensado por ahora sí lo desarrollo en PHP hacer uso de ZendStudio,bd MySQL usar AJAX para la carga dinámica y vistocidad del software.
Pero en . net no se tengo la posibilidad de desarrollarlo con ASP ahora viene la pregunta cual de los dos me recomiendan desarrollar? 
#53
Hola gente como estan ya de vuelta ahora les traigo este compilador de Pseudocodigo que desarrolle hace tiempo andaba con este proyecto Rna le dije pero nunca lograba terminarlo por problemas de la universidad Contratiempos.. o por ultimo mi vaganza jejeje ademas mi falta de empeño hoy me puse a revisar los errores y compilar hasta que me dio por ahora hice de Pascal Java y C++, espero ir aumentado de apoco..

Que es Haskell

Haskell es un lenguaje de programación puramente funcional de propósito general y fuertemente tipado. Su nombre proviene del lógico Haskell Curry.

En los años 1980 se constituyó un comité cuyo objetivo era crear un lenguaje funcional que reuniera las características de los múltiples lenguajes funcionales de la época, el más notable Miranda, y resolviera la confusión creada por la proliferación de los mismos. El lenguaje evoluciona rápidamente con y (ver más abajo) como los representantes actuales del estándar de facto. El último estándar semi-oficial es Haskell 98, con la intención de especificar una versión mínima y compatible del lenguaje como base para futuras extensiones y para su enseñanza.

Bueno sin mas que decir comienzo posteando

Primero la Gramatica Utilizada

Código: php



Prog -->  "programa" Ident ";" FP  Cuerpo 



FP -->  Funcion  FP 

      | Procedimiento  FP 

      | Vacio



Cuerpo -->  "inicio"  Decl1  Inst   "fin"



Funcion -->   "funcion"  Ident   '('  Pr   ')' ':'  Tipo  Cuerpo

       

Procedimiento -->   "procedimiento"  Ident   '('  Pr   ')'  pCuerpo



Pr -->  Decl  Decls



Decls --> ','  Pr

      | Vacio



Decl -->  Tipo  Ident



Decl1 -->  Tipo  Ident  Dec   ';'  Decl1

       | Vacio



Dec -->   ','  Ident  Dec

      | Vacio



Inst -->  Instr  Coma  Inst

      | Vacio



Coma -->   ';'

      | Vacio



Instr --> "si"  Expresion   "entonces"  Inst  OtroCaso  "fin_si"

      |   "mientras"  Expresion   "hacer"  Inst   "fin_mientras"

      |   "repetir"  Inst   "hasta"  Expresion   "fin_repetir"

      |   "para"  Asig   "hasta"  Expresion  MasF  "fin_para"

      |    pAsig

      |   "leer"  Va

      |   "mostrar"  Va

      |    Va

      |   "devolver"  Expresion

     

MasF -->  "hacer" Inst

      |  "paso"  Expresion  Inst

       

Va --> Ident  Z

     |   "''" Ident   "''"



Z -->  Va2

   |   '[' Ident   ']'

   |   '(' Ident  Va2   ')'



Va2 -->   ','  Ident  Va2

     |  Vacio



OtroCaso -->   "sino"  Inst

         | OtroVacio



Asig -->  Ident  pQ



Q -->    "<-"  Expresion

  |   '[' Ident ']'  "<-"  Expresion   



Expresion --> Relacion  A



A -->  OpLog  Expresion

  |  AVacio



Relacion -->  Terminos  B



B -->  SimOps  Relacion

  |  Vacio



Terminos -->  Fr  C

C --> SimOpm Terminos

  |  Vacio       



Fr -->  '('  Expresion   ')'

     | Va 

     | Entero



OpLog --> "<"

       |  "<="

       |  ">"

       |  ">="

       |  "!="

       |  "="



SimOps --> "+"

        |  "-"



SimOpm --> "*"

        |  "/"



Tipo -->   "int"  Par

      |   "real" Par

      |   "bool" Par

      |   "char" Par

      |   "string" Par





Par -->   '[' ']'

     | ParVacio


GRA.HS (Aqui se encuentra toda la gramatica)

Código: haskell

-- do not edit; automatically generated by UU_AG

module Gra where



import Auxiliar

type List = [String]

type Doble = [(String,String)]

type Classs = [(String,String)]





controlar a b | a == [] && b /= [] = b

               | a /= [] && b /= [] = b

               | otherwise = a

-- A -----------------------------------------------------------

{-

   inherited attributes:



   chained attributes:



   synthesised attributes:

      cod                  : String

      jav                  : String

      nom                  : List

      pFor                 : String

      pas                  : String

      uso                  : List

      va                   : List



-}

{-

   local variables for A.A:



-}

{-

   local variables for A.AVacio:



-}

data A = A_A (OpLog) (Expresion)

       | A_AVacio

-- semantic domain

type T_A = ((String),(String),(List),(String),(String),(List),(List))

-- cata

sem_A :: (A) ->

         (T_A)

sem_A ((A_A (_opLog) (_expresion))) =

    (sem_A_A ((sem_OpLog (_opLog))) ((sem_Expresion (_expresion))))

sem_A ((A_AVacio )) =

    (sem_A_AVacio )

sem_A_A :: (T_OpLog) ->

           (T_Expresion) ->

           (T_A)

sem_A_A (_opLog) (_expresion) =

    let ( _opLog_cod,_opLog_jav,_opLog_nom,_opLog_pas,_opLog_uso,_opLog_va) =

            (_opLog )

        ( _expresion_cod,_expresion_jav,_expresion_nom,_expresion_pFor,_expresion_pas,_expresion_uso,_expresion_va) =

            (_expresion )

    in  (_opLog_cod ++ _expresion_cod,_opLog_jav ++ _expresion_jav,[],_expresion_pFor,_opLog_pas ++ _expresion_pas,_opLog_uso ++ _expresion_uso,[])

sem_A_AVacio :: (T_A)

sem_A_AVacio  =

    let

    in  ([],[],[],[],[],[],[])

-- Asig --------------------------------------------------------

{-

   inherited attributes:



   chained attributes:



   synthesised attributes:

      cod                  : String

      for                  : String

      jav                  : String

      nom                  : List

      pas                  : String

      uso                  : List

      va                   : List



-}

{-

   local variables for Asig.Asig:



-}

data Asig = Asig_Asig (String) (Q)

-- semantic domain

type T_Asig = ((String),(String),(String),(List),(String),(List),(List))

-- cata

sem_Asig :: (Asig) ->

            (T_Asig)

sem_Asig ((Asig_Asig (_string) (_q))) =

    (sem_Asig_Asig (_string) ((sem_Q (_q))))

sem_Asig_Asig :: (String) ->

                 (T_Q) ->

                 (T_Asig)

sem_Asig_Asig (_string) (_q) =

    let ( _q_cod,_q_jav,_q_nom,_q_pas,_q_uso,_q_va) =

            (_q )

    in  (_string ++ " "  ++ _q_cod,_string,_string ++ " "  ++ _q_jav,_q_nom,_string ++ " "  ++ _q_pas,_string : _q_uso,_q_va)

-- B -----------------------------------------------------------

{-

   inherited attributes:



   chained attributes:



   synthesised attributes:

      cod                  : String

      jav                  : String

      nom                  : List

      pFor                 : String

      pas                  : String

      uso                  : List

      va                   : List



-}

{-

   local variables for B.B:



-}

{-

   local variables for B.BVacio:



-}

data B = B_B (SimOps) (Relacion)

       | B_BVacio

-- semantic domain

type T_B = ((String),(String),(List),(String),(String),(List),(List))

-- cata

sem_B :: (B) ->

         (T_B)

sem_B ((B_B (_simOps) (_relacion))) =

    (sem_B_B ((sem_SimOps (_simOps))) ((sem_Relacion (_relacion))))

sem_B ((B_BVacio )) =

    (sem_B_BVacio )

sem_B_B :: (T_SimOps) ->

           (T_Relacion) ->

           (T_B)

sem_B_B (_simOps) (_relacion) =

    let ( _simOps_cod,_simOps_jav,_simOps_nom,_simOps_pas,_simOps_uso,_simOps_va) =

            (_simOps )

        ( _relacion_cod,_relacion_jav,_relacion_nom,_relacion_pFor,_relacion_pas,_relacion_uso,_relacion_va) =

            (_relacion )

    in  (_simOps_cod ++ _relacion_cod,_simOps_jav ++ _relacion_jav,[],_relacion_pFor,_simOps_pas ++ _relacion_pas,_simOps_uso ++ _relacion_uso,[])

sem_B_BVacio :: (T_B)

sem_B_BVacio  =

    let

    in  ([],[],[],[],[],[],[])

-- C -----------------------------------------------------------

{-

   inherited attributes:



   chained attributes:



   synthesised attributes:

      cod                  : String

      jav                  : String

      nom                  : List

      pFor                 : String

      pas                  : String

      uso                  : List

      va                   : List



-}

{-

   local variables for C.C:



-}

{-

   local variables for C.CVacio:



-}

data C = C_C (SimOpm) (Terminos)

       | C_CVacio

-- semantic domain

type T_C = ((String),(String),(List),(String),(String),(List),(List))

-- cata

sem_C :: (C) ->

         (T_C)

sem_C ((C_C (_simOpm) (_terminos))) =

    (sem_C_C ((sem_SimOpm (_simOpm))) ((sem_Terminos (_terminos))))

sem_C ((C_CVacio )) =

    (sem_C_CVacio )

sem_C_C :: (T_SimOpm) ->

           (T_Terminos) ->

           (T_C)

sem_C_C (_simOpm) (_terminos) =

    let ( _simOpm_cod,_simOpm_jav,_simOpm_nom,_simOpm_pas,_simOpm_uso,_simOpm_va) =

            (_simOpm )

        ( _terminos_cod,_terminos_jav,_terminos_nom,_terminos_pFor,_terminos_pas,_terminos_uso,_terminos_va) =

            (_terminos )

    in  (_simOpm_cod ++ _terminos_cod,_simOpm_jav ++ _terminos_jav,[],_terminos_pFor,_simOpm_pas ++ _terminos_pas,_simOpm_uso ++ _terminos_uso,[])

sem_C_CVacio :: (T_C)

sem_C_CVacio  =

    let

    in  ([],[],[],[],[],[],[])

-- Coma --------------------------------------------------------

{-

   inherited attributes:



   chained attributes:



   synthesised attributes:

      cod                  : String

      jav                  : String

      nom                  : List

      pas                  : String

      uso                  : List

      va                   : List



-}

{-

   local variables for Coma.C1:



-}

{-

   local variables for Coma.C2:



-}

data Coma = Coma_C1

          | Coma_C2

-- semantic domain

type T_Coma = ((String),(String),(List),(String),(List),(List))

-- cata

sem_Coma :: (Coma) ->

            (T_Coma)

sem_Coma ((Coma_C1 )) =

    (sem_Coma_C1 )

sem_Coma ((Coma_C2 )) =

    (sem_Coma_C2 )

sem_Coma_C1 :: (T_Coma)

sem_Coma_C1  =

    let

    in  (";",";",[],";",[],[])

sem_Coma_C2 :: (T_Coma)

sem_Coma_C2  =

    let

    in  ([],[],[],[],[],[])

-- Const1 ------------------------------------------------------

{-

   inherited attributes:



   chained attributes:



   synthesised attributes:

      cod                  : String

      jav                  : String

      nom                  : List

      pas                  : String

      uso                  : List

      va                   : List



-}

{-

   local variables for Const1.Const1:



-}

data Const1 = Const1_Const1 (Tipo) (String) (Const2)

-- semantic domain

type T_Const1 = ((String),(String),(List),(String),(List),(List))

-- cata

sem_Const1 :: (Const1) ->

              (T_Const1)

sem_Const1 ((Const1_Const1 (_tipo) (_string) (_const2))) =

    (sem_Const1_Const1 ((sem_Tipo (_tipo))) (_string) ((sem_Const2 (_const2))))

sem_Const1_Const1 :: (T_Tipo) ->

                     (String) ->

                     (T_Const2) ->

                     (T_Const1)

sem_Const1_Const1 (_tipo) (_string) (_const2) =

    let ( _tipo_cod,_tipo_jav,_tipo_nom,_tipo_pas,_tipo_uso,_tipo_va) =

            (_tipo )

        ( _const2_cod,_const2_jav,_const2_nom,_const2_pas,_const2_uso,_const2_va) =

            (_const2 )

    in  (_tipo_cod ++ " " ++ _string  ++ " " ++ "= " ++  _const2_cod,_tipo_jav ++ " " ++ _string ++ " " ++ "= " ++ _const2_jav,[],"const " ++ " " ++ _string ++ " " ++ "= " ++ _const2_pas,[],_string:[])

-- Const2 ------------------------------------------------------

{-

   inherited attributes:



   chained attributes:



   synthesised attributes:

      cod                  : String

      jav                  : String

      nom                  : List

      pas                  : String

      uso                  : List

      va                   : List



-}

{-

   local variables for Const2.Const21:



-}

{-

   local variables for Const2.Const22:



-}

data Const2 = Const2_Const21 (Va)

            | Const2_Const22 (Int) (Reall)

-- semantic domain

type T_Const2 = ((String),(String),(List),(String),(List),(List))

-- cata

sem_Const2 :: (Const2) ->

              (T_Const2)

sem_Const2 ((Const2_Const21 (_va))) =

    (sem_Const2_Const21 ((sem_Va (_va))))

sem_Const2 ((Const2_Const22 (_int) (_reall))) =

    (sem_Const2_Const22 (_int) ((sem_Reall (_reall))))

sem_Const2_Const21 :: (T_Va) ->

                      (T_Const2)

sem_Const2_Const21 (_va) =

    let ( _va_cod,_va_jav,_va_nom,_va_pFor,_va_pas,_va_uso,_va_va) =

            (_va )

    in  (_va_cod,_va_jav,_va_nom,_va_pas,_va_uso,_va_va)

sem_Const2_Const22 :: (Int) ->

                      (T_Reall) ->

                      (T_Const2)

sem_Const2_Const22 (_int) (_reall) =

    let ( _reall_cod,_reall_jav,_reall_nom,_reall_pas,_reall_uso,_reall_va) =

            (_reall )

    in  (show _int ++ _reall_cod,show _int ++ _reall_jav,[],show _int ++ _reall_pas,[],[])

-- Cuerpo ------------------------------------------------------

{-

   inherited attributes:

      nomb                 : String



   chained attributes:



   synthesised attributes:

      cod                  : String

      jav                  : String

      nom                  : List

      pas                  : String

      uso                  : List

      va                   : List



-}

{-

   local variables for Cuerpo.Cuerpo:



-}

data Cuerpo = Cuerpo_Cuerpo (DeclConst) (Inst)

-- semantic domain

type T_Cuerpo = (String) ->

                ((String),(String),(List),(String),(List),(List))

-- cata

sem_Cuerpo :: (Cuerpo) ->

              (T_Cuerpo)

sem_Cuerpo ((Cuerpo_Cuerpo (_declConst) (_inst))) =

    (sem_Cuerpo_Cuerpo ((sem_DeclConst (_declConst))) ((sem_Inst (_inst))))

sem_Cuerpo_Cuerpo :: (T_DeclConst) ->

                     (T_Inst) ->

                     (T_Cuerpo)

sem_Cuerpo_Cuerpo (_declConst) (_inst) (_lhs_nomb) =

    let ( _declConst_cod,_declConst_jav,_declConst_nom,_declConst_pas,_declConst_uso,_declConst_va) =

            (_declConst )

        ( _inst_cod,_inst_jav,_inst_nom,_inst_pas,_inst_uso,_inst_va) =

            (_inst (_lhs_nomb))

    in  ("{" ++ "\n" ++ _declConst_cod ++ "\n" ++ _inst_cod ++"\n" ++ "}" ++ "\n","{" ++ "\n" ++ _declConst_jav ++  "\n" ++ _inst_jav ++"\n" ++ "}" ++ "\n",_declConst_nom ++ _inst_nom,_declConst_pas ++ "\n" ++ "begin" ++ "\n" ++  _inst_pas ++"\n" ++ "end;",_inst_uso,_declConst_va ++ _inst_va)

-- CuerpoP -----------------------------------------------------

{-

   inherited attributes:

      nomb                 : String



   chained attributes:



   synthesised attributes:

      cod                  : String

      jav                  : String

      nom                  : List

      pas                  : String

      uso                  : List

      va                   : List



-}

{-

   local variables for CuerpoP.CuerpoP:



-}

data CuerpoP = CuerpoP_CuerpoP (DeclConst) (Inst)

-- semantic domain

type T_CuerpoP = (String) ->

                 ((String),(String),(List),(String),(List),(List))

-- cata

sem_CuerpoP :: (CuerpoP) ->

               (T_CuerpoP)

sem_CuerpoP ((CuerpoP_CuerpoP (_declConst) (_inst))) =

    (sem_CuerpoP_CuerpoP ((sem_DeclConst (_declConst))) ((sem_Inst (_inst))))

sem_CuerpoP_CuerpoP :: (T_DeclConst) ->

                       (T_Inst) ->

                       (T_CuerpoP)

sem_CuerpoP_CuerpoP (_declConst) (_inst) (_lhs_nomb) =

    let ( _declConst_cod,_declConst_jav,_declConst_nom,_declConst_pas,_declConst_uso,_declConst_va) =

            (_declConst )

        ( _inst_cod,_inst_jav,_inst_nom,_inst_pas,_inst_uso,_inst_va) =

            (_inst (_lhs_nomb))

    in  ("{" ++ "\n" ++ _declConst_cod ++ "\n" ++ _inst_cod ++"\n" ++ "return (0);" ++ "\n" ++ "}" ++"\n","{" ++ "\n" ++ _declConst_jav ++ "\n" ++ " Scanner teclado=new Scanner(System.in); " ++ "\n" ++ _inst_jav ++"\n" ++ "}" ++"\n",_declConst_nom ++ _inst_nom,_declConst_pas ++ "\n" ++ "begin" ++ "\n" ++ _inst_pas ++"\n" ++ "end.",_inst_uso,_declConst_va ++ _inst_va)

-- Dec ---------------------------------------------------------

{-

   inherited attributes:



   chained attributes:



   synthesised attributes:

      cod                  : String

      jav                  : String

      nom                  : List

      pas                  : String

      uso                  : List

      va                   : List



-}

{-

   local variables for Dec.Dec1:



-}

{-

   local variables for Dec.DecVacio:



-}

data Dec = Dec_Dec1 (String) (Dec)

         | Dec_DecVacio

-- semantic domain

type T_Dec = ((String),(String),(List),(String),(List),(List))

-- cata

sem_Dec :: (Dec) ->

           (T_Dec)

sem_Dec ((Dec_Dec1 (_string) (_dec))) =

    (sem_Dec_Dec1 (_string) ((sem_Dec (_dec))))

sem_Dec ((Dec_DecVacio )) =

    (sem_Dec_DecVacio )

sem_Dec_Dec1 :: (String) ->

                (T_Dec) ->

                (T_Dec)

sem_Dec_Dec1 (_string) (_dec) =

    let ( _dec_cod,_dec_jav,_dec_nom,_dec_pas,_dec_uso,_dec_va) =

            (_dec )

    in  (", " ++ _string ++ " " ++ _dec_cod,", " ++ _string ++ " " ++ _dec_jav,[],", " ++ _string ++ " " ++ _dec_pas,[],_string : _dec_va)

sem_Dec_DecVacio :: (T_Dec)

sem_Dec_DecVacio  =

    let

    in  ([],[],[],[],[],[])

-- Decl --------------------------------------------------------

{-

   inherited attributes:



   chained attributes:



   synthesised attributes:

      cod                  : String

      jav                  : String

      nom                  : List

      pas                  : String

      uso                  : List

      va                   : List



-}

{-

   local variables for Decl.Decl:



-}

data Decl = Decl_Decl (Tipo) (String)

-- semantic domain

type T_Decl = ((String),(String),(List),(String),(List),(List))

-- cata

sem_Decl :: (Decl) ->

            (T_Decl)

sem_Decl ((Decl_Decl (_tipo) (_string))) =

    (sem_Decl_Decl ((sem_Tipo (_tipo))) (_string))

sem_Decl_Decl :: (T_Tipo) ->

                 (String) ->

                 (T_Decl)

sem_Decl_Decl (_tipo) (_string) =

    let ( _tipo_cod,_tipo_jav,_tipo_nom,_tipo_pas,_tipo_uso,_tipo_va) =

            (_tipo )

    in  (_tipo_cod ++ _string,_tipo_jav ++ " " ++ _string,_tipo_nom:[],_string ++ ": " ++ _tipo_pas,[],_string : [])

-- Decl1 -------------------------------------------------------

{-

   inherited attributes:



   chained attributes:



   synthesised attributes:

      cod                  : String

      jav                  : String

      nom                  : List

      pas                  : String

      uso                  : List

      va                   : List



-}

{-

   local variables for Decl1.Decl1:



-}

data Decl1 = Decl1_Decl1 (Tipo) (String) (Dec)

-- semantic domain

type T_Decl1 = ((String),(String),(List),(String),(List),(List))

-- cata

sem_Decl1 :: (Decl1) ->

             (T_Decl1)

sem_Decl1 ((Decl1_Decl1 (_tipo) (_string) (_dec))) =

    (sem_Decl1_Decl1 ((sem_Tipo (_tipo))) (_string) ((sem_Dec (_dec))))

sem_Decl1_Decl1 :: (T_Tipo) ->

                   (String) ->

                   (T_Dec) ->

                   (T_Decl1)

sem_Decl1_Decl1 (_tipo) (_string) (_dec) =

    let ( _tipo_cod,_tipo_jav,_tipo_nom,_tipo_pas,_tipo_uso,_tipo_va) =

            (_tipo )

        ( _dec_cod,_dec_jav,_dec_nom,_dec_pas,_dec_uso,_dec_va) =

            (_dec )

    in  (_tipo_cod ++ " " ++ _string ++ " " ++ _dec_cod,_tipo_jav ++ " " ++ _string ++ " " ++ _dec_jav,_dec_nom,"var " ++ _string ++ _dec_pas  ++ ": " ++ _tipo_pas,[],_string : _dec_va)

-- DeclConst ---------------------------------------------------

{-

   inherited attributes:



   chained attributes:



   synthesised attributes:

      cod                  : String

      jav                  : String

      nom                  : List

      pas                  : String

      uso                  : List

      va                   : List



-}

{-

   local variables for DeclConst.DeclConst:



-}

{-

   local variables for DeclConst.DeclConst1:



-}

{-

   local variables for DeclConst.DeclConst2:



-}

data DeclConst = DeclConst_DeclConst (Decl1) (DeclConst)

               | DeclConst_DeclConst1 (Const1) (DeclConst)

               | DeclConst_DeclConst2

-- semantic domain

type T_DeclConst = ((String),(String),(List),(String),(List),(List))

-- cata

sem_DeclConst :: (DeclConst) ->

                 (T_DeclConst)

sem_DeclConst ((DeclConst_DeclConst (_decl1) (_declConst))) =

    (sem_DeclConst_DeclConst ((sem_Decl1 (_decl1))) ((sem_DeclConst (_declConst))))

sem_DeclConst ((DeclConst_DeclConst1 (_const1) (_declConst))) =

    (sem_DeclConst_DeclConst1 ((sem_Const1 (_const1))) ((sem_DeclConst (_declConst))))

sem_DeclConst ((DeclConst_DeclConst2 )) =

    (sem_DeclConst_DeclConst2 )

sem_DeclConst_DeclConst :: (T_Decl1) ->

                           (T_DeclConst) ->

                           (T_DeclConst)

sem_DeclConst_DeclConst (_decl1) (_declConst) =

    let ( _decl1_cod,_decl1_jav,_decl1_nom,_decl1_pas,_decl1_uso,_decl1_va) =

            (_decl1 )

        ( _declConst_cod,_declConst_jav,_declConst_nom,_declConst_pas,_declConst_uso,_declConst_va) =

            (_declConst )

    in  (_decl1_cod ++ " ;" ++ "\n" ++ _declConst_cod,_decl1_jav ++ " ;" ++ "\n" ++ _declConst_jav,[],_decl1_pas ++ " ;" ++ "\n" ++ _declConst_pas,[],_decl1_va ++ _declConst_va)

sem_DeclConst_DeclConst1 :: (T_Const1) ->

                            (T_DeclConst) ->

                            (T_DeclConst)

sem_DeclConst_DeclConst1 (_const1) (_declConst) =

    let ( _const1_cod,_const1_jav,_const1_nom,_const1_pas,_const1_uso,_const1_va) =

            (_const1 )

        ( _declConst_cod,_declConst_jav,_declConst_nom,_declConst_pas,_declConst_uso,_declConst_va) =

            (_declConst )

    in  (_const1_cod ++ " ;" ++ "\n" ++ _declConst_cod,_const1_jav ++ " ;" ++ "\n" ++ _declConst_jav,[],_const1_pas ++ " ;" ++ "\n" ++ _declConst_pas,[],_const1_va ++ _declConst_va)

sem_DeclConst_DeclConst2 :: (T_DeclConst)

sem_DeclConst_DeclConst2  =

    let

    in  ([],[],[],[],[],[])

-- Decls -------------------------------------------------------

{-

   inherited attributes:



   chained attributes:



   synthesised attributes:

      cod                  : String

      jav                  : String

      nom                  : List

      pas                  : String

      uso                  : List

      va                   : List



-}

{-

   local variables for Decls.Decls:



-}

{-

   local variables for Decls.DeclsVacio:



-}

data Decls = Decls_Decls (Pr)

           | Decls_DeclsVacio

-- semantic domain

type T_Decls = ((String),(String),(List),(String),(List),(List))

-- cata

sem_Decls :: (Decls) ->

             (T_Decls)

sem_Decls ((Decls_Decls (_pr))) =

    (sem_Decls_Decls ((sem_Pr (_pr))))

sem_Decls ((Decls_DeclsVacio )) =

    (sem_Decls_DeclsVacio )

sem_Decls_Decls :: (T_Pr) ->

                   (T_Decls)

sem_Decls_Decls (_pr) =

    let ( _pr_cod,_pr_jav,_pr_nom,_pr_pas,_pr_uso,_pr_va) =

            (_pr )

    in  ("," ++ " " ++ _pr_cod,"," ++ " " ++ _pr_jav,_pr_nom,";" ++ " " ++ _pr_pas,_pr_uso,_pr_va)

sem_Decls_DeclsVacio :: (T_Decls)

sem_Decls_DeclsVacio  =

    let

    in  ([],[],[],[],[],[])

-- EnCaso ------------------------------------------------------

{-

   inherited attributes:

      nomb                 : String



   chained attributes:



   synthesised attributes:

      cod                  : String

      jav                  : String

      nom                  : List

      pas                  : String

      uso                  : List

      va                   : List



-}

{-

   local variables for EnCaso.EnCaso:



-}

{-

   local variables for EnCaso.EnCaso1:



-}

data EnCaso = EnCaso_EnCaso (Expresion) (Inst) (EnCaso)

            | EnCaso_EnCaso1

-- semantic domain

type T_EnCaso = (String) ->

                ((String),(String),(List),(String),(List),(List))

-- cata

sem_EnCaso :: (EnCaso) ->

              (T_EnCaso)

sem_EnCaso ((EnCaso_EnCaso (_expresion) (_inst) (_enCaso))) =

    (sem_EnCaso_EnCaso ((sem_Expresion (_expresion))) ((sem_Inst (_inst))) ((sem_EnCaso (_enCaso))))

sem_EnCaso ((EnCaso_EnCaso1 )) =

    (sem_EnCaso_EnCaso1 )

sem_EnCaso_EnCaso :: (T_Expresion) ->

                     (T_Inst) ->

                     (T_EnCaso) ->

                     (T_EnCaso)

sem_EnCaso_EnCaso (_expresion) (_inst) (_enCaso) (_lhs_nomb) =

    let ( _expresion_cod,_expresion_jav,_expresion_nom,_expresion_pFor,_expresion_pas,_expresion_uso,_expresion_va) =

            (_expresion )

        ( _inst_cod,_inst_jav,_inst_nom,_inst_pas,_inst_uso,_inst_va) =

            (_inst (_lhs_nomb))

        ( _enCaso_cod,_enCaso_jav,_enCaso_nom,_enCaso_pas,_enCaso_uso,_enCaso_va) =

            (_enCaso (_lhs_nomb))

    in  ("case " ++ _expresion_cod ++ " : " ++ _inst_cod ++  " ;" ++ "\n" ++ " break ; " ++ "\n" ++ _enCaso_cod,"case " ++ _expresion_jav ++ " : " ++ _inst_jav ++  " ;" ++ "\n" ++ " break ; " ++ "\n" ++ _enCaso_jav,_expresion_nom,_expresion_pas ++ " : " ++ "begin " ++ "\n" ++ _inst_pas ++ "end;" ++ "\n" ++ _enCaso_pas,_expresion_uso ++ _inst_uso ++ _enCaso_uso,_expresion_va)

sem_EnCaso_EnCaso1 :: (T_EnCaso)

sem_EnCaso_EnCaso1 (_lhs_nomb) =

    let

    in  ([],[],[],[],[],[])

-- Expresion ---------------------------------------------------

{-

   inherited attributes:



   chained attributes:



   synthesised attributes:

      cod                  : String

      jav                  : String

      nom                  : List

      pFor                 : String

      pas                  : String

      uso                  : List

      va                   : List



-}

{-

   local variables for Expresion.Expresion:



-}

data Expresion = Expresion_Expresion (Relacion) (A)

-- semantic domain

type T_Expresion = ((String),(String),(List),(String),(String),(List),(List))

-- cata

sem_Expresion :: (Expresion) ->

                 (T_Expresion)

sem_Expresion ((Expresion_Expresion (_relacion) (_a))) =

    (sem_Expresion_Expresion ((sem_Relacion (_relacion))) ((sem_A (_a))))

sem_Expresion_Expresion :: (T_Relacion) ->

                           (T_A) ->

                           (T_Expresion)

sem_Expresion_Expresion (_relacion) (_a) =

    let ( _relacion_cod,_relacion_jav,_relacion_nom,_relacion_pFor,_relacion_pas,_relacion_uso,_relacion_va) =

            (_relacion )

        ( _a_cod,_a_jav,_a_nom,_a_pFor,_a_pas,_a_uso,_a_va) =

            (_a )

    in  (_relacion_cod ++ _a_cod,_relacion_jav ++ _a_jav,[],controlar _relacion_pFor _a_pFor,_relacion_pas ++ _a_pas,_relacion_uso ++ _a_uso,[])

-- FP ----------------------------------------------------------

{-

   inherited attributes:

      nomb                 : String



   chained attributes:



   synthesised attributes:

      cap                  : String

      claser               : Classs

      cod                  : String

      dod                  : Doble

      jav                  : String

      nom                  : List

      npf                  : List

      pas                  : String

      uso                  : List

      va                   : List



-}

{-

   local variables for FP.FP:



-}

{-

   local variables for FP.FP1:



-}

{-

   local variables for FP.FPVacio:



-}

data FP = FP_FP (Funcion) (FP)

        | FP_FP1 (Procedimiento) (FP)

        | FP_FPVacio

-- semantic domain

type T_FP = (String) ->

            ((String),(Classs),(String),(Doble),(String),(List),(List),(String),(List),(List))

-- cata

sem_FP :: (FP) ->

          (T_FP)

sem_FP ((FP_FP (_funcion) (_fP))) =

    (sem_FP_FP ((sem_Funcion (_funcion))) ((sem_FP (_fP))))

sem_FP ((FP_FP1 (_procedimiento) (_fP))) =

    (sem_FP_FP1 ((sem_Procedimiento (_procedimiento))) ((sem_FP (_fP))))

sem_FP ((FP_FPVacio )) =

    (sem_FP_FPVacio )

sem_FP_FP :: (T_Funcion) ->

             (T_FP) ->

             (T_FP)

sem_FP_FP (_funcion) (_fP) (_lhs_nomb) =

    let ( _funcion_cap,_funcion_claser,_funcion_cod,_funcion_dod,_funcion_jav,_funcion_nom,_funcion_npf,_funcion_pas,_funcion_uso,_funcion_va) =

            (_funcion (_lhs_nomb))

        ( _fP_cap,_fP_claser,_fP_cod,_fP_dod,_fP_jav,_fP_nom,_fP_npf,_fP_pas,_fP_uso,_fP_va) =

            (_fP (_lhs_nomb))

    in  (_funcion_cap,_funcion_claser ++ _fP_claser,_funcion_cod ++ "\n" ++ _fP_cod ++ "\n",_funcion_dod ++ _fP_dod,_funcion_jav ++ "\n" ++ _fP_jav ++ "\n",_funcion_nom ++ _fP_nom,_funcion_npf ++ _fP_npf,_funcion_pas ++ "\n" ++ _fP_pas ++ "\n",_funcion_uso ++ _fP_uso,_funcion_va ++ _fP_va)

sem_FP_FP1 :: (T_Procedimiento) ->

              (T_FP) ->

              (T_FP)

sem_FP_FP1 (_procedimiento) (_fP) (_lhs_nomb) =

    let ( _procedimiento_cap,_procedimiento_claser,_procedimiento_cod,_procedimiento_dod,_procedimiento_jav,_procedimiento_nom,_procedimiento_npf,_procedimiento_pas,_procedimiento_uso,_procedimiento_va) =

            (_procedimiento (_lhs_nomb))

        ( _fP_cap,_fP_claser,_fP_cod,_fP_dod,_fP_jav,_fP_nom,_fP_npf,_fP_pas,_fP_uso,_fP_va) =

            (_fP (_lhs_nomb))

    in  (_procedimiento_cap,_fP_claser,_procedimiento_cod ++ "\n" ++ _fP_cod ++ "\n",_procedimiento_dod ++ _fP_dod,_procedimiento_jav ++ "\n" ++ _fP_jav ++ "\n",_procedimiento_nom ++ _fP_nom,_procedimiento_npf ++ _fP_npf,_procedimiento_pas ++ "\n" ++ _fP_pas ++ "\n",_procedimiento_uso ++ _fP_uso,_procedimiento_va ++ _fP_va)

sem_FP_FPVacio :: (T_FP)

sem_FP_FPVacio (_lhs_nomb) =

    let

    in  ("",[],[],[],[],[],[],[],[],[])

-- Fr ----------------------------------------------------------

{-

   inherited attributes:



   chained attributes:



   synthesised attributes:

      cod                  : String

      jav                  : String

      nom                  : List

      pFor                 : String

      pas                  : String

      uso                  : List

      va                   : List



-}

{-

   local variables for Fr.Fr:



-}

{-

   local variables for Fr.Fr1:



-}

{-

   local variables for Fr.Fr2:



-}

data Fr = Fr_Fr (Expresion)

        | Fr_Fr1 (Va)

        | Fr_Fr2 (Int) (Reall)

-- semantic domain

type T_Fr = ((String),(String),(List),(String),(String),(List),(List))

-- cata

sem_Fr :: (Fr) ->

          (T_Fr)

sem_Fr ((Fr_Fr (_expresion))) =

    (sem_Fr_Fr ((sem_Expresion (_expresion))))

sem_Fr ((Fr_Fr1 (_va))) =

    (sem_Fr_Fr1 ((sem_Va (_va))))

sem_Fr ((Fr_Fr2 (_int) (_reall))) =

    (sem_Fr_Fr2 (_int) ((sem_Reall (_reall))))

sem_Fr_Fr :: (T_Expresion) ->

             (T_Fr)

sem_Fr_Fr (_expresion) =

    let ( _expresion_cod,_expresion_jav,_expresion_nom,_expresion_pFor,_expresion_pas,_expresion_uso,_expresion_va) =

            (_expresion )

    in  ("(" ++ _expresion_cod ++ ")","(" ++ _expresion_jav ++ ")",[],"(" ++ _expresion_pFor ++ ")","(" ++ _expresion_pas ++ ")",_expresion_uso,[])

sem_Fr_Fr1 :: (T_Va) ->

              (T_Fr)

sem_Fr_Fr1 (_va) =

    let ( _va_cod,_va_jav,_va_nom,_va_pFor,_va_pas,_va_uso,_va_va) =

            (_va )

    in  (_va_cod,_va_jav,[],_va_pFor,_va_pas,_va_uso,[])

sem_Fr_Fr2 :: (Int) ->

              (T_Reall) ->

              (T_Fr)

sem_Fr_Fr2 (_int) (_reall) =

    let ( _reall_cod,_reall_jav,_reall_nom,_reall_pas,_reall_uso,_reall_va) =

            (_reall )

    in  (show _int ++ _reall_cod,show _int ++ _reall_jav,[],show _int,show _int ++ _reall_pas,[],[])

-- Funcion -----------------------------------------------------

{-

   inherited attributes:

      nomb                 : String



   chained attributes:



   synthesised attributes:

      cap                  : String

      claser               : Classs

      cod                  : String

      dod                  : Doble

      jav                  : String

      nom                  : List

      npf                  : List

      pas                  : String

      uso                  : List

      va                   : List



-}

{-

   local variables for Funcion.Fu:



-}

data Funcion = Funcion_Fu (String) (Pr) (Tipo) (Cuerpo)

-- semantic domain

type T_Funcion = (String) ->

                 ((String),(Classs),(String),(Doble),(String),(List),(List),(String),(List),(List))

-- cata

sem_Funcion :: (Funcion) ->

               (T_Funcion)

sem_Funcion ((Funcion_Fu (_string) (_pr) (_tipo) (_cuerpo))) =

    (sem_Funcion_Fu (_string) ((sem_Pr (_pr))) ((sem_Tipo (_tipo))) ((sem_Cuerpo (_cuerpo))))

sem_Funcion_Fu :: (String) ->

                  (T_Pr) ->

                  (T_Tipo) ->

                  (T_Cuerpo) ->

                  (T_Funcion)

sem_Funcion_Fu (_string) (_pr) (_tipo) (_cuerpo) (_lhs_nomb) =

    let ( _pr_cod,_pr_jav,_pr_nom,_pr_pas,_pr_uso,_pr_va) =

            (_pr )

        ( _tipo_cod,_tipo_jav,_tipo_nom,_tipo_pas,_tipo_uso,_tipo_va) =

            (_tipo )

        ( _cuerpo_cod,_cuerpo_jav,_cuerpo_nom,_cuerpo_pas,_cuerpo_uso,_cuerpo_va) =

            (_cuerpo (_string))

    in  (_string,(_tipo_nom,_string):[],_tipo_cod ++ " " ++ _string ++"( "++ _pr_cod ++" )" ++ "\n" ++ _cuerpo_cod,repNfp _string (_pr_va ++ _cuerpo_va),"public " ++ _tipo_jav ++ " " ++ _string ++ "( " ++ _pr_jav ++ " )" ++ "\n" ++ _cuerpo_jav,_pr_nom ++ _cuerpo_nom,_string:[],"function "++ " " ++ _string ++ "( " ++ _pr_pas ++ " )" ++ ":" ++ _tipo_pas ++ ";" ++ "\n" ++ _cuerpo_pas,_cuerpo_uso,_string : [] ++ _pr_va ++ _cuerpo_va)

-- Ids ---------------------------------------------------------

{-

   inherited attributes:



   chained attributes:



   synthesised attributes:

      cod                  : String

      jav                  : String

      nom                  : List

      pas                  : String

      uso                  : List

      va                   : List



-}

{-

   local variables for Ids.Ids:



-}

{-

   local variables for Ids.Ids0:



-}

{-

   local variables for Ids.Ids1:



-}

{-

   local variables for Ids.Ids2:



-}

{-

   local variables for Ids.Ids3:



-}

{-

   local variables for Ids.Ids4:



-}

{-

   local variables for Ids.Ids5:



-}

data Ids = Ids_Ids (String) (Ids)

         | Ids_Ids0 (Ids)

         | Ids_Ids1 (Int) (Ids)

         | Ids_Ids2 (Ids)

         | Ids_Ids3 (Ids)

         | Ids_Ids4 (Ids)

         | Ids_Ids5

-- semantic domain

type T_Ids = ((String),(String),(List),(String),(List),(List))

-- cata

sem_Ids :: (Ids) ->

           (T_Ids)

sem_Ids ((Ids_Ids (_string) (_ids))) =

    (sem_Ids_Ids (_string) ((sem_Ids (_ids))))

sem_Ids ((Ids_Ids0 (_ids))) =

    (sem_Ids_Ids0 ((sem_Ids (_ids))))

sem_Ids ((Ids_Ids1 (_int) (_ids))) =

    (sem_Ids_Ids1 (_int) ((sem_Ids (_ids))))

sem_Ids ((Ids_Ids2 (_ids))) =

    (sem_Ids_Ids2 ((sem_Ids (_ids))))

sem_Ids ((Ids_Ids3 (_ids))) =

    (sem_Ids_Ids3 ((sem_Ids (_ids))))

sem_Ids ((Ids_Ids4 (_ids))) =

    (sem_Ids_Ids4 ((sem_Ids (_ids))))

sem_Ids ((Ids_Ids5 )) =

    (sem_Ids_Ids5 )

sem_Ids_Ids :: (String) ->

               (T_Ids) ->

               (T_Ids)

sem_Ids_Ids (_string) (_ids) =

    let ( _ids_cod,_ids_jav,_ids_nom,_ids_pas,_ids_uso,_ids_va) =

            (_ids )

    in  (_string ++ " " ++ _ids_cod,_string ++ " " ++ _ids_jav,[],_string ++ " " ++ _ids_pas,_string:[] ++ _ids_uso,[])
sem_Ids_Ids0 :: (T_Ids) ->
                (T_Ids)
sem_Ids_Ids0 (_ids) =
    let ( _ids_cod,_ids_jav,_ids_nom,_ids_pas,_ids_uso,_ids_va) =
            (_ids )
    in  ("\"" ++ _ids_cod ++ "\"\"%d" ++ "\"","\" " ++ _ids_jav ++ "\"",[],"' " ++ _ids_pas ++ " '",[],_ids_va)
sem_Ids_Ids1 :: (Int) ->
                (T_Ids) ->
#54
Nota: Acabo de encontrar y loguearme xD. jejeje espero les agrade.

Buenas muchachos me parecio oportuno llegar  a postear esto para evitar post tontos.

¿Me das la pass? ¿Alguien que me lo de porfavor ? ¿Muy bueno pero porque lo encriptas es para todos.? ¿No seas malo me lo das ?

o el clasico.

No da el pass enserio hice la prueba...

Si luego de leer esto me vienes con esas preguntas 
Si me haces un post pidiendo el pass 
Lo mejor que puedes hacer si no encuentras alguno para desencriptar que digas en este post asi no llenamos la seccion de basura.

Luego de leer el tuto hize un regalo para aquel que pueda sacar la pass tiene su regalo asi ven que no soy malo  :xD:

Comenzamos

Primero antes de todo  les paso a explicar algunas cosas:

1.- ¿Porque encriptan las Pass de los Crypters y de algunas herramientas?

R.-  Las encriptan para que no las quemen rapido es decir que no hagan uso de ella gente sin conocimiento conocidos como lammers o bien lussers.

2.- ¿Como se desencripta?

R.- Se desencripta de derecha a Izquierda.

3.- ¿Con que herramientas desencriptamos?

R.- Existen dos maneras digo de dos formas con herramienta de escritorio y online.

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Ejemplo
Código: Encrypt

Pu9w=s9/PxXPi//1RubsSJXac2nzgdNukei7jc9LPu9NltO+n/m7SL1Sc2=zjH9/menPjKKac/DAi+1Yo2N7SL1ycZ=rOdSJR2n7ddO+n2C7cwfYPwm7ew0+kZ=6jw1MPu9zOdSJc/9AiZOUcgDPcx1Oc/87dH9QcL=6jw4uk2n0=u0QjfR7SJXYl/91iZNuku/sjxKaPu91=Y91Pui7cuXYPu9w=s9QcLDVcx1jcZ==ls9+ogN7jM1LPwe7=Y9QcLCsjx1dPt=Ndc9Qn+W7jMjRc2m7cc9ko2Ozi+0YPt=0iY9/ecet=J0+Puu7cx/1Ru=PjJXdPw=wcc9Yo2Ozi+0YPtb7ewzQkeqsSMjjPwnrjJ0+Pwb7SKKy


AER-256->HAZZ-15->MEGAN35


Bueno primero es en megan35

Citar
+KvG+d+xJbI=24HoJgyY24iF+e+F+KHo2gvG+4iMJdyd+dqGJdQoJOzbybzb+4ixJ4q=2gkM2gvo+Keb+g+Sjgj4jgiG+Ky=JKzb2OIoJKyIJK+L+KHdjgj4jgiGJKeS+4HbnKeb24kI2gqo+KeF+e+F+KHb+KvG+KHonKyYJ4Qo+gyb+dyF+e+F+KHo2gyS+4HM+Kvx+dvLJg+I+Zzbybzb+4ib+dQ=Jg+M+Ky=JdHS+dvI+bzbybzb+4+SnKiL24vY+gqdJg+d+4Qx

Luego en Hazz-15

Citar2603347.780654182, 696002.7433707864, 2447791.966292135, 2476528.6648639203, 695002.9281897629, 2260206.4148614234, 694500.2643695382, 2238753.2477053683, 35.29861173533084

Y por ultimo AER256

CitarYa se sacar password gracias a No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Y ese es el resultado final..

Como ven al encriptar se hace 1 por uno poniendo el ultimo al final posteriormente para desencriptar se hace de derecha a izquierda.

NOTA: Cuando desencriptes es en Decrypt y no Crypt estarias cometiendo un error.


Y el regalo para que prueben lo que aprendieron

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
GILA7->ESAB-46 ->ZONG22->TIGO-3FX

Código: php

cHDVDHDo4H63C4tdWdZR/gwj+86w6eYZ+R6Rw4YI1+eNDAN3c8YD4frdcyTmcfefwGWNBf5RmltDBetokkt4DAN8cAPwWkzA/A5X



Fuente: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
#55
    
Ya se acabó la semana santa y hoy 25 de abril esperaba encontrar algo nuevo e interesante para publicar pero para ser sincero no hay nada de mi interés así que sin más os remito al siguiente enlace en que se explica como cambiar el mensaje de identificación de superusuario que puede que a alguien le interese :/

En resumen:

    sudo visudo

    Defaults passprompt="mi frase de solicitud de password:"
    Defaults badpass_message="mi frase para cuando haya error en el password:"

Atención! No hagais copy&paste escribidlo manualmente sinó saltará error Gi&ntilde;ar

Vía | No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
#56
Puesto que hice la revision del man lpr para la impresion desde consola, dije me aburro estar viendo en mi pantalla ademas quisiera pasarlo al celular e ir viendo al irme a la Universidad  o bien imprimirlo y tener como dato, esto a quien sea le viene de perilla aun mas si tenemos una duda, la . Lo primero que nos encontramos cuando tenemos una duda a algun comando la respuesta que todos te dan y rapida es anda y lee $man, "nombredelcomando" nos saldrá el manual para leerlo, explicando su utilidad, modo de usovariantes,  pero debemos reconocer que leer desde la terminal no es algo del todo agradable (sobre todo si el texto tiene una extensión considerable).

Asi que aqui esta la solucion En la terminal escribimos:

Código: php
$ man -t comandoaleer | ps2pdf -> nombredelarchivoaguardar.pdf


Por ejemplo, para guardar en PDF

Código: php
snifer@snifer-PC:~/Escritorio$ man -t lpr | ps2pdf -> manuallpr.pdf










#57


Lo primero que debemos hacer es reiniciar la PC.

Cuando cargue el GRUB presionamos la tecla E sobre el kernel con el cual iniciamos habitualmente, lo que nos permitirá editarlo

Seleccionamos la línea que dice /boot/vmlinuz......y sobre ella nuevamente presionamos la tecla E para poder editarla, al final de esta ponemos init=/bin/sh, quedando así:

Código: php
/boot/vmlinuz-2.5.22-2-486 root=/dev/sda2 ro vga=791 init=/bin/sh


Apretamos ESC e iniciamos normalmente.

Al iniciar la shell, nos encontramos logueados como root (sin necesidad de una contraseña), por lo cual nos dirijimos al archivo /etc/shadow y con el editor de tectos (gedit, nano, etc.) borramos el campo de la contraseña del usuario root, (sería algo más o menos así)

root:$1$lkPERaG5$Fjh958fEWmFfdrte58.45:159858:0:999999:7:::

Lo que vemos es la contraseña encriptada, asi que procedemos a borrar ese campo, guardamos los cambios y reiniciamos.

Nos logueamos como root

Código: php
$:su root


y no nos pedira contraseña, así que le asignamos una:

#:passwd root

Escribimos la contraseña dos veces y listo, habremos reestablecido la contraseña del root.

Esto me sirvio para restaurar mi BLACK.UBUNTU virtual que me olvide la contraseña jejeje 

Saludos :P
#58
GNU/Linux / Imprimir desde consola
Mayo 23, 2011, 08:38:15 PM

Hace un momento andaba medio aburrido fuera de lo normal despues de dormis mas de 12 horas, por cansancio :P asi que me puse a jugar con la consola y lo que logre fue lo siguiente, dije si puedo convertir, de video a audio, transformar entre formatos desde la shell podre imprimir???

Indigando e investigando revise el comando lpr le di una informada con su man. Y si eureka se puede asi que vamos a hacer la prueba

La sintaxis es "lpr nombredeldocumento"

Código: php
snifer@snifer-PC:~/Escritorio$ lpr print.txt



Si queremos imprimir varias páginas debemos la sintaxis es la siguiente:

Código: php
$ lpr #nodecopias nombredeldocumento (ej. $ lpr #2 readme.txt)


Para más información

Código: php
$ man lpr


#59
GNU/Linux / Que tan libre de lo privativo estas.
Mayo 23, 2011, 08:35:23 PM


Puesto que tengo todos los repositorios de UBUNTU en si de Ubuntu Lucid lo cual funciona tranquilamente en Maverick 10.10 aun no hice la prueba en Natty 11.04 porque tengo pensado migrar de distro la que lleva la delantera es MINT aun no se por cuanto xD. Me puse a revisar un poco y observe algo n poco raro vrms (Virtual Richard M.Stallman) lo instale y ahora como lo uso???

Como siempre haciendo uso de man

Código: php
snifer@snifer-PC:~/Escritorio$ man vrms


Y viendo lo que me trae es lo siguiente es un programa que analiza todos los paquetes instalados en el sistema basado en Debian y lo mas interesante nos muestra los no libres non-free

Instalacion

Código: php
$ sudo apt-get install vrms


O bien via Synaptic o el centro de Software Ubuntu buscando como vrms

El uso es sencillo solo escribimos en la terminal
Código: php

snifer@snifer-PC:~/Escritorio$ vrms


Y este es el resultado :

Código: php

  Non-free packages installed on snifer-PC

glest-data                a free 3d real-time customizable strategy game
lha                       lzh archiver
nvidia-173                NVIDIA binary Xorg driver, kernel module and VDPAU lib
nvidia-current            NVIDIA binary Xorg driver, kernel module and VDPAU lib
p7zip-rar                 non-free rar module for p7zip
rar                       Archiver for .rar files
unrar                     Unarchiver for .rar files (non-free version)

              Contrib packages installed on snifer-PC

conky                     highly configurable system monitor (transitional packa
conky-all                 highly configurable system monitor (all features enabl
flashplugin-installer     Adobe Flash Player plugin installer
glest                     a free 3D real-time customizable strategy game
gstreamer0.10-pitfdll     GStreamer plugin for using MS Windows binary codecs
nvidia-common             Find obsolete NVIDIA drivers
nvidia-settings           Tool of configuring the NVIDIA graphics driver
ttf-mscorefonts-installer Installer for Microsoft TrueType core fonts
virtualbox-4.0            Oracle VM VirtualBox

  Contrib packages with status other than installed on snifer-PC

uqm                       ( dei)  The Ur-Quan Masters - An inter-galatic adventu

  7 non-free packages, 0.4% of 1996 installed packages.
  10 contrib packages, 0.5% of 1996 installed packages.


Como veran 7 no son libres y 10 tengo que son contribucion.

Porque no nos muestras tus resultados.

Saludos :P

#60
BUeno no se si estoy poniendo bien el titulo del post pero mi duda es la siguiente..
Estoy haciendo un programa en .net lastimosamente, en GNU no pude hacer correr con el Mono por referencia y falta de tiempo ya que en esta semana lo presento,  :'( es un realizador de calculos de Perceptron por las 4 formas usando como delimitadores Hardlim y Hardlim's por lo cual despues de la presentacion liberare el codigo. Para que ninguna rata de la U lo vea y presente el mismo :P bueno la duda es en realidad esta como puedo hacer que el programa funcione especificamente en un ordenador, mediante la MAC u otra forma.

La solucion que pense era con un serial.

No se otra manera de proteccion que pueda tener,

Saludos :P
#61
GNU/Linux / Pentoo (Distro para Pentest)
Febrero 25, 2011, 12:41:18 PM
Pentoo, es una distro de pentest basada en Gentoo

Administrador de archivos, Ayuda y Componentes de la red
Para el final dejamos la categoría "Pentoo", donde se encuentran las herramientas de Penetration Test propiamente dichas. Muchas de estas herramientas son de línea de comando. Veamos en que consiste cada una:
Analyser:En esta categoría tenemos herramientas de análisis de tráfico de red y varios tipos de sniffers, es decir, software que "olfatea" (del término inglés sniff) distintos paquetes de red. El sniffer por excelencia es Ethereal.

Bluetooth: Aquí podemos ver distintas herramientas de auditoria, análisis y administración de este protocolo. Particularmente BlueSniff es un sniffer de paquetes bluetooth.
Cracker / Bruter: En esta categoría principalmente hay una variedad de herramientas para vulnerar passwords, tanto de sistemas windows como GNU/linux. En caso de querer realizar ataques por diccionario, también tenemos disponible una lista de palabras (en inglés). Los mas conocidos son el mítico "John the Ripper" e "Hydra".

Fingerprinter: Aquí tenemos una amplia variedad de distintas herramientas para distintos tipos de fingerprinting, por ejemplo smtpmap para distintos tipos de protocolos de correo electrónico, Blueprint para Bluetooth, Siphon para Sistemas Operativos y muchos más.

Forging / Spoofing: Herramientas varias para ARP spoofing, DNS spoofing, trace, etc.

Misc: Acá tenemos herramientas que no entran en otra categoría, por ejemplo Firewall Builder es una herramienta para configurar y administrar Firewalls, MAC Changer spoofea direcciones MAC.

Pen test /MITM: En esta categoría tenemos herramientas particulares de penetration testing y otras que aplican la técnica MITM (Man In The Middle) inventada por Kevin Mitnick. Por ejemplo Cisco-Torch es un escáner, bruterforcer y testeador de vulnerabilidades para la mayorí¬a de los dispositivos CISCO. Por otro lado Yersinia es una suite para analizar vulnerabilidades en distintos protocolos de red.


Proxy: Aquí disponemos de aplicaciones proxy, por ejemplo Burpproxy que captura todo el tráfico del web browser y permite modificar los paquetes, o bien Paros, una utilidad que corre totalmente en java y permite interceptar tráfico http y https para luego modificarlo y testear distintas aplicaciones web.

Scanner: En esta categoría encontramos distintos tipos de escáners, tanto de puertos como por ejemplo nmap o bien de vulnerabilidades como nessus. También tenemos la utilidad Firewalk que no permite evaluar a grandes rasgos las reglas de un firewall para ver si están bien configuradas.

Wireless: Aquí podemos encontrar todo tipo de herramientas para el protocolo 802.11, tanto para sniffear paquetes, vulnerar el protocolo WEP, detectar falsos access points, etc.

Docs: En esta carpeta tenemos muchísima documentación sobre las distintas herramientas que componen las categorías mencionadas anteriormente.

Fingerprints DB: Aquí disponemos de bases de datos para las distintas herramientas que realizaban diferentes tipos de fingerprints (Sistema Operativo, dispositivos, etc)


Network Tools
Network tools: Una utilidad que integra diferentes tipos de herramientas simples que son muy útiles al momento de analizar el entorno donde se está trabajando. Por ejemplo whois, traceroute, escaneo de puertos, etc.

Este fue un pantallazo sobre las distintas categorías de la distribución Pentoo. En futuras ediciones vamos a ir profundizando en las herramientas más comunes de cada categoría, conociendo el funcionamiento de las mismas y aprendiendo como utilizarlas.

Acerca del autor:
Héctor Jara es uno de los responsables de Elitech SRL, empresa que ofrece soluciones a pequeñas y medianas empresas a nivel tecnológico, tanto en consultoria e implementaciones como capacitacion, fundamentalmente en lo referido a Seguridad informática y Plataformas GNU/Linux.

Acorde a esto, Elitech ofrece a través de prestigiosos centros de capacitación, cursos con los contenidos de la certificación LPIC que ha tomado gran importancia en los últimos tiempos, debido a que logra acreditar conocimientos sobre plataformas GNU/Linux independientemente de la distribución y certificaciones privadas.

Pagina Oficial: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Fuente :No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
#62
GNU/Linux / Conociendo Mono
Febrero 24, 2011, 02:36:21 AM
¿Qué es Mono?
Mono es el nombre de un proyecto de código abierto iniciado por Ximian y actualmente impulsado por Novell (tras la adquisición de Ximian) para crear un grupo de herramientas libres, basadas en GNU/Linux y compatibles con .NET según lo especificado por el ECMA.
No, no tiene nada que ver con el Monkey Island. Mono es la implementación libre del CLI (Common Language Infraestructure) y C# (ambos creados por Microsoft), de acuerdo a las especificaciones enviadas a la ECMA para su estandarización. Esta implementación es de codigo fuente abierto (Open source).

Mono incluye el CLI, el cual contiene la máquina virtual que se encarga de cargar las clases, el compilador jit (Just-in-time) y el garbage collector; todo esto escrito desde cero de acuerdo a las especificaciones Ecma-334.

Mono también incluye un compilador de C#, el cual paradojicamente esta escrito en C# y al igual que el CLI, este compilador sigue las especificaciones Ecma-335.

Adicionalmente Mono cuenta con un catalogo de librerías compatibles con las librerías del .Net Framework, pero además cuenta con una serie de librerías no existentes en el .Net Framework de Microsoft; como el GTK# que permite crear interfaces gráficas nativas del toolkit GTK+, Mono.LDAP, Mono.Posix, etc.
Origen de Mono
Mono fue concebido por Miguel De Icaza, siendo el proyecto en aquel entonces patrocinado por su compañía Ximian; actualmente Novell es quien patrocina el proyecto Mono, ya que Novell adquirió a Ximian.

La motivación de crear Mono se debe a la búsqueda de herramientas que ayudaran a la creación rápida de aplicaciones en el entorno Linux.
Plataformas soportadas por Mono
Actualmente Mono se puede ejecutar en plataformas x86, PPC, SPARC y S390 en 32 bits; y x86-64 y SPARC en 64 bits; siendo posible crear y ejecutar aplicaciones en los sistemas operativos: Linux, Windows, OSX, BSD y Solaris.
¿Es mono compatible con el .Net Framework?
Uno de los objetivos de Mono es alcanzar un alto grado de compatibilidad con el API 1.1, aunque ya hay bastante trabajo de compatibilidad con el API 2.0 del .Net Framework.
Con esto se busca que un binario compilado en Windows con el .Net Framework pueda ejecutarse en alguna de las plataformas de Mono sin tener que recompilar el binario, y que a su vez pueda hacer uso de las librerías compatibles de Mono -Ej: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta, System.Xml, etc -.

Las librerías proporcionadas por Mono son 100% compatibles con su contraparte del .Net Framework. La última versión 2.6.1. incluye entre otras importantes funcionalidades:

    *
      El CLI
    *
      El compilador de C#
    *
      No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
    *
      No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
    *
      WebServices
    *
      System
    * WindowsForms

Siendo esta ultima - WindowsForms - la que requiere de mayor trabajo para ser completada en su totalidad. Aunque cabe destacar que el proyecto no contempla la creación de librerías compatibles para Enterprise Services.
¿Que tipo de aplicaciones puedo crear actualmente con Mono?
Bueno es posible crear aplicaciones de tipo Web y Webservices con el uso de modulo mod_mono que permite al servidor de Web Apache servir paginas de No tienes permitido ver los links. Registrarse o Entrar a mi cuenta (aspx) y Servicios Web (asmx).

Es también posible crear aplicaciones que acceden a base de datos como Microsoft SQL, Oracle, Postgresql, etc.

Por el lado de aplicaciones de interfase gráfica, la sugerencia es utilizar GTK#, ya que el toolkit en el que este esta basado (GTK+), permite ejecutar aplicaciones gráficas en ambientes Linux, Windows y OSX sin cambios; esta sugerencia toma importancia, debido a que la implementación compatible con Windows Forms en Mono aun no esta completa.
¿Hay algún requerimiento para que mi aplicación sea compatible con Mono y el .Net Framework, es decir portable?
Realmente no hay ninguno en especifico, siempre y cuando sea una aplicación basada en el CLI; aunque si hay algunos puntos que se deben de tener en consideración:

   1.
      Linux distingue entre mayúsculas y minúsculas en los nombres de archivos y directorios; así es que necesario tener una consistencia con los nombres que utilicemos.
   2.
      El separador de rutas es diferente en Windows (\) que en Linux (/), por lo tanto se recomienda usar el API Path.DirectoryPathSeparator, para obtener en separador correcto al ejecutar la aplicación.
   3.
      Si se utilizan librerías no CLI (Ej: librería en C, C++ etc.), mediante p/Invoke, asegurarse que la librería existe en los diferentes ambientes donde se va a ejecutar la aplicación.
   4.
      No hacer uso de tecnologías que solo existan en un ambiente en particular (Ej: Registry en Windows o GConf en Linux -Gnome-); o bien proveer alguna solución que permita a la aplicación operar de forma correcta en el ambiente donde se ejecuta.
   5. Aplicaciones basadas en Windows Forms y que sean muy complejas pueden no funcionar de momento, debido a que Windows Forms en Mono no esta completo.

¿Qué herramientas de desarrollo existen en Mono?
Bueno es posible desde Windows desarrollar una aplicación utilizando el Visual Studio. En el lado de Linux existe MonoDevelop, un IDE basado en SharpDevelop.

MonoDevelop permite el manejo de proyectos, y colorear sintaxis, auto completar código, compilar y ejecutar la aplicación desde la misma IDE.
Mediante agregados (add-ins) se le ha ido extendiendo la funcionalidad para por ejemplo:

    *
      Conectarse a bases de datos desde el IDE
    * La inclusión de un debugger que permita al igual que el Visual Studio, ejecutar código linea por linea, y revisar valores de variables.

Hay trabajo actualmente para integrar un diseñador de formas, aunque este diseñador esta enfocado a crear formas para GTK# y no Windows Forms.
Aplicaciones hechas para Mono.
Hay una buena cantidad de aplicaciones desarrolladas para Linux en Mono, para darse una idea, aquí hay 2 listados con estas aplicaciones:

    *
      osnews
    * gnomefiles

De estas aplicaciones de las destacadas son:

    *
      MonoDevelop: Es una IDE para programar en Linux programas para Mono. La IDE esta hecha en C#.
    *
      F-Spot: Programa para catalogar fotografías, además de poder hacer algunas modificaciones digitales a las fotos.
    *
      Beagle: Herramienta que indexa y busca información entre una serie diferentes tipos de documentos en Linux.
    *
      Tomboy: Programa para almacenar notas que se ligan mediante palabras claves.
    *
      Muine: Es un reproductor de audio basado en GStreamer.
    *
      PyMusique: Programa que provee de una interfase gráfica para acceder a comprar música con el servicio iTunes de Apple.
    * MonoUML: Es un editor para realizar diagramas con el estandar UML.
    * Gnome Do: Rápido y eficaz lanzador de aplicaciones.
    * Docky: Dock para tu escritorio.
    * Banshee: Reproductor multimedia basado en Gstreamer.

Mono y las licencias
Mono es la implementación de código fuente abierto del .Net Framework de Microsoft, basado en los estándares liberados a la ECMA; por ser una implementación basada en un producto de Microsoft, ha causado controversia el uso de Mono en Linux -entre los usuarios y desarrolladores de Linux -, el argumento es que Mono pueda infringir patentes de Microsoft, lo cual puede convertirse una demanda en contra de Mono.

De acuerdo con la pagina del proyecto Mono, mientras el CLI y el compilador de C# se apegue a los estándares aceptados por la ECMA, estas 2 piezas están seguras, con relación a las librerías especificas de Mono, estas no corren ningún riesgo; pero la implementación de las librerías relacionadas con No tienes permitido ver los links. Registrarse o Entrar a mi cuenta, No tienes permitido ver los links. Registrarse o Entrar a mi cuenta y Windows Forms son sensibles a infringir a alguna patente de Microsoft - aunque de momento no se tiene conocimiento de que así sea -; por tal motivo el proyecto Mono sugiere 3 opciones para este ultimo caso:

    *
      Reimplementar la funcionalidad - para evitar la patente -, tratando de mantener el API compatible.
    *
      Eliminar cosas que no puedan ser reimplementadas.
    * Buscar elementos que puedan nulificar la patente.

Según la Wikipedia, la implementación de Mono de esos componentes de .NET no sometidos a ECMA para su estandarización ha levantado algunas preocupaciones por la posible violación de patentes de software durante la vida del proyecto. En particular, la discusión se desarrolló por si Microsoft podría o no destruir al proyecto mono mediante demandas sobre las patentes violadas. En la actualidad existe un vivo debate sobre la (in)conveniencia de aceptar y usar Mono en la comunidad de desarrolladores de GNU/Linux. El principal argumento en contra de Mono es que no está libre de patentes de software, y existe el riesgo de que Microsoft exija licencias para usar C# / CLI.

Por otra parte, el proyecto Gnome está desarrollando un lenguaje alternativo, Vala, creado específicamente para desarrollar aplicaciones para Gnome, pero libre de las potenciales amenazas de Microsoft.

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
#63
Hola nuevamente yo.. xD les traigo esta vez esta distribución  que es usada para el Testing de Seguridad de Aplicaciones Web, ando aprendiendo Pentesting, informatica Forense asi que todo lo que encuentre o aprenda les ire mostrando de a poco.




Samurai Web Testing Framework es un entorno de trabajo basado en GNU/Linux Ubuntu, que ha sido pre-configurado para llevar a cabo test de penetración a aplicativos Web.


Este LiveCD, que además puede ser instalado como sistema operativo por defecto en el disco duro, contiene un repertorio bastante amplio en cuanto a herramientas de libre uso y distribución se refiere. Estas herramientas están destinadas a realizar pen-testing sobre aplicativos Webs.

Al igual que la distribución BackTrack, Samurai Web Testing Framework divide las herramientas por grupos según una metodología.

Comienza por la etapa de reconocimiento, para ello hace uso de las herramientas Fierce domain Scanner y Maltego. Para el mapeo del sistema objetivo incluye la herramienta WebScarab y Ratproxy. Para el descubrimiento de vulnerabilidades incluye w3af y burp, finalmente para el proceso de explotación utiliza BeEF, AJAXShell y otras más.

Como si esto fuera poco, Samurai Framework incluye una wiki preconfigurada y lista para ser usada como bitácora de recolección de la información que vamos generando a medida que avanzamos en el proceso de pen-testing.

Los desarrolladores hacen anuncio oficial de la disponibilidad de esta primera distribución como versión de desarrollo y hacen la invitación a los interesados a participar de este genial proyecto, ofrecen para ello un sitio Web y una lista de correo.

Para finalizar dejo algunas capturas de pantalla de lo que he probado a manera "superficial" sin entrar aún mucho en el detalle de uso y comportamiento del sistema (hasta el momento va muy bien). Quiero además hacer la salvedad que estas mismas herramientas pueden ser instaladas y configuradas en diferentes S.O, por lo tanto una vez más queda comprobado que no importa el S.O que utilicemos, todos pueden servir para las diferentes tareas de nuestro día a día, incluso para estos menesteres de la seguridad icon wink Samurai, Entorno de trabajo para el testing de seguridad a aplicativos Web

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Fuente:Dragon Jar
#64
GNU/Linux / Como cambiar la Clave de Root
Febrero 24, 2011, 02:32:36 AM
Jajajaja no entiendo como se te puede llegar a olvidar la cotraseña de Root,me parece algo tonto pero sucede hasta a mi un amigo me pregunto que hacer asi que me puse a investigar.

Puedes cambiarla booteando en modo monousuario, o bien editando el archivo /etc/shadow si partes desde un LiveCD. Recuerda que para tareas administrativas, Ubuntu no usa el usuario root, sino la clave del primer usuario que creas al instalar la distribución (con sudo). En éste caso tendrías que cambiar la clave del usuario... aunque no me imagino cómo a alguien se le podría perder su propia clave!

Vía GRUB

   1. Reinica el PC, y cuando llegues a GRUB evita que bootee automáticamente apretando alguna tecla.
   2. Busca si hay alguna línea que diga "single user mode" o algo así (en Ubuntu deberían estar). Si es así, selecciónala y apreta Enter. Puedes saltar al casillero 6.
   3. ¿No? Entonces selecciona la línea de la cual bootearías Linux, y apreta e.
   4. Busca la línea que parta con "kernel", y apreta e otra vez.
   5. Escribe "single" al final de esa línea (con un espacio antes, claro), y una vez listo apreta b para bootear. La línea debería quedar más o menos así:

          kernel /boot/vmlinuz root=/dev/hda2 ro single

   6. Cuando termine, estarás en una consola como root, y podrás cambiar la clave escribiendo "passwd". Si quieres cambiar la de otro usuario, el formato es "passwd nombredeusuario".

Vía LiveCD

   1. Baja algún LiveCD como Knoppix o SLAX o el System Rescue CD, grábalo en un disco y arranca desde él.
   2. Cuando termine de bootear, métete en la consola y monta tu partición root (/) en /mnt. Asumiendo que fuera la segunda partición del primer disco duro (hda2):

          # mkdir /mnt/particion
          # mount -t auto /dev/hda2 /mnt/particion

   3. Ahora abre el archivo /etc/shadow dentro de la particion (o sea /mnt/particion/etc/shadow) y busca la línea que empiece con "root". Debería ser algo como:

          root:dsfDSDF!s:12581:0:99999:7:::

   4. Tienes que borrar todo lo que haya entre los primeros y segundos dos puntos. Quedaría así:

          root::12581:0:99999:7:::

   5. Ahora podrás bootear tranquilamente y entrar como root, ya que estará sin clave. Pero te recomiendo que le pongas una lo antes posible (con "passwd"), ya que es un gran riesgo de seguridad.

Ponerle clave a GRUB para que nadie pueda entrar en modo "single" excepto tú. Especialmente si se trata de un laptop que andas llevando de lado a lado.



Nota: Este artículo es para aquellos que se les olvidó la clave, no para que hacerse a los juakers


Fuente:Bootlog
#65
GNU/Linux / pySum 0.6
Febrero 24, 2011, 02:27:53 AM
pySum es una aplicación para realizar suma de verificación (checksum), escrita usando python y PyGTK, pensando en el escritorio  Gnome, pero debería funcionar en cualquier otro ambiente que tenga pyGTK activado.

pySum esta licenciado bajo GPL y soporta varios métodos de verificación como: md5, CRC32, sha1, sha256

pysum 1 pySum 0.6

Acaba de actualizarse a la versión 0.6 con estos cambios:

    * Add support for read files in text or binary mode
    * Now use threads, for better performance

versión que podemos instalar en Ubuntu con este paquete deb:
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Una vez instalado lo encontramos en Aplicaciones > Accesorios > pySum.
#66
C# - VB.NET / [C#] Detectar Usuario y Nombre de Dominio
Febrero 24, 2011, 01:28:02 AM
Bueno esto me puse viendo algo con daniel. y me salio esto :P

Como ven lo que hace es detectar extraer el Usuario y el Nombre de Dominio de Windows, para los que deseen hacer la prueba.

Crean un nuevo proyecto y lo que hacen es añadir dos TextBox y 2 Botones nada mas y listo.

Código: C#

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication2
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {

        }
       
        private void button1_Click_1(object sender, EventArgs e)
        {
            textBox1.Text = SystemInformation.UserName;
           
                    }

        private void button2_Click(object sender, EventArgs e)
        {
            textBox2.Text = SystemInformation.UserDomainName;
        }

       
    }
}


Lo importante del codigo son las siguientes lineas:


textBox1.Text = SystemInformation.UserName;
textBox2.Text = SystemInformation.UserDomainName;


Se puede ir jugando.. poco a poco

Saludos :P
#67
C# - VB.NET / Tarjetas de Red en .NET (c#)
Febrero 24, 2011, 01:19:17 AM


El codigo va dentro de un formulario o un boton.

Código:

Código: C#
ListViewItem registro;
            string[] columnas;
            string nombreEstacion = "";
            int nRegs = 0;
            int n = 0;

            IPGlobalProperties propiedadesPC = IPGlobalProperties.GetIPGlobalProperties();
            NetworkInterface[] nics = NetworkInterface.GetAllNetworkInterfaces();
            nombreEstacion = String.Format("{0}.{1}", propiedadesPC.HostName, propiedadesPC.DomainName);
            textBox1.Text = nombreEstacion;
            textBox2.Text = String.Format("{0}", nics.Length);

            if (nics == null || nics.Length < 1)
            {
                return;
            }

            listView1.Items.Clear();
            listView1.FullRowSelect = true;
            listView1.View = View.Details;
            listView1.Columns.Add("ID Tarjeta");
            listView1.Columns.Add("Tarjeta");
            listView1.Columns.Add("Tipo");
            listView1.Columns.Add("Direccion Fisica");
            listView1.Columns.Add("Estado");
            listView1.Columns.Add("IP");

            foreach (NetworkInterface adapter in nics)
            {
                nRegs++;


                IPInterfaceProperties propiedades = adapter.GetIPProperties();
                columnas = new string[6];

                columnas[0] = String.Format("{0}", adapter.Id);
                columnas[1] = adapter.Description;
                columnas[2] = adapter.NetworkInterfaceType.ToString();
                columnas[3] = adapter.GetPhysicalAddress().ToString();
                columnas[4] = adapter.OperationalStatus.ToString();


                if (propiedades.IsDnsEnabled)
                {

                    if (propiedades.DnsAddresses.Count > 0)
                    {


                        byte[] DirIP = propiedades.DnsAddresses[0].GetAddressBytes();
                        columnas[5] = String.Format("{0}.{1}.{2}.{3}",DirIP[0],DirIP[1],DirIP[2],DirIP[3]);


                    }
                }


                if (propiedades.DhcpServerAddresses.Count > 0)
                {


                    byte[] DirIP = propiedades.DhcpServerAddresses[0].GetAddressBytes();
                    columnas[5] = String.Format("{0}.{1}.{2}.{3}", DirIP[0], DirIP[1], DirIP[2], DirIP[3]);


                }


                registro = new ListViewItem(columnas);
                listView1.Items.Insert(nRegs - 1, registro);

               




            }

            for (n = 0; n < listView1.Columns.Count; n++)
            {

                listView1.Columns[n].AutoResize(ColumnHeaderAutoResizeStyle.ColumnContent);
            }



Si no ando mal el autor de este code anda por aqui jejeje
Autor:Devilboy
Fuente: HackingTeam

Saludos :P
#68

Crear Aplicaciones en C# para subir videos de Youtube, ver estadísticas de sitios web, exportar Google documents

Este programa en C# obtiene los navegadores utilizados por los usuarios en este sitio web en medio mes.
Los chicos Google (dizque los chicos buenos), han creado librerías para crear aplicaciones en C# relacionadas con aplicaciones google. Entre los ejemplos existen Windows Forms aplications para subir videos de youtube, ver estadísticas de Google Analytics (programa para ver estadísticas de sitios web).

Las instrucciones para bajarse el código, librerías están en el siguiente artículo:

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Este artículo es útil para gente que tiene blogs, sitios web y usa constantemente las aplicaciones de Google.
Son varios ejemplos bastante útiles. Por ejemplo, puedo:


• Obtener un backup de todas las fotos de tu sitio web.

• Subir videos de youtube, exportar Google docs a pdf.

• Acceder a estadísticas de sitios web usando Google analytics

• Exportar a pdf documentos creados en Google docs

• Recibir notificaciones de youtube de actividades

Espero que les sirva ya eche un ojo al codigo..

Saludos :P