Intérprete de Redcode

[Link corregido]

Hoy traigo un pequeño intérprete de Redcode (si, el lenguaje del Corewars). Tiene sus limitaciónes (digamos que sigue las primeras versiones del lenguaje), por ejemplo, no tiene p-space ni modificadores (instrucción.Modificador) a excepcion de STS, que muestra un carácter por pantalla, y LDS que obtiene un carácter de STDIN (instrucciones que no se usan en el juego ), para más referencias [ Redcode_-_Esolang ].

Obviamente la idea al programar esto fue intentar comprender un poco más como funcionan los intérpretes y compiladores.

Centrandose en el programa en sí, (se puede descargar aquí [redcode01.tar.gz]), lo único que hay que hacer es make para compilarlo, y

===============================================================================

./redcode

===============================================================================

para intérpretar un código.Además continue.

untagged

Un wallpaper nuevo cada día (con CFDG)

Trasteando con CFDG, por decirlo así, el "padre" en 2D de Structure_Synth, y tras comprobar que tiene la misma capacidad que su versión en 3D de generar gráficos aleatorios "interesantes", y que el fondo de pantalla ya lleva un buen tiempo siendo el mismo, ¿que mejor que hacer que este lo genere un programa, haciendo que sea nuevo cada vez? :D

La idea es bastante simple, hacer un script que llame a CFDG sobre un código hecho antes cada vez que se quiera (que el usuario se loguee o cada cierto tiempo aprovechando cron).

El script en sí es bastante sencillo, algo así lo haría perfectamente

!/usr/bin/env bash

wide=1280

high=800

cfdg back.cfdg -oback.png continue.

untagged

Eso pasa por no leer

La historia viene de atrás, intentando programar el módulo de la siguiente parte de Introducción a la criptografía, me di de frente con una parte del algoritmo en cuestion  (DSA), que dice así
Toma un primo p de una longitud dada (muy grande, para entendernos),
y otro q, de 160 que sea divisor de p-1 Y ahí se armó el follon. Dejando a un script que buscase al tan ansiado q durante un tiempo no produjo resultados, ya es pesado de por si buscar primos de 160 bits cuanto más comprobar si son divisibles por, otro de como mínimo 512 bits... y continue.

untagged

Una GUI para CFDG

CFDG (Context Free Design Grammar) es un programa que genera arte en 2D a partir de código, de forma muy similar a como lo hace Structure Synth ( I y II ), de hecho, este se podría considerar una versión en 3D de CFDG.

Lo "malo" es que usarlo a través de la línea de comandos se puede hacer pesado, y las GUI...  me gustaría decir que las probé, pero ya fuera por un Error 404 o por que no compilaba, fue imposible, así que se improvisó una rápida con Lazarus.

Para usarlo hay que hacer es abrir el archivo de proyecto (.lpi) con lazarus, compilarlo, poner los continue.

untagged

Generador de diccionarios wifi

Hoy...un script que lleva en el disco duro desde hace un año, simplemente genera los diccionarios de contraseñas por defecto para varios tipos de routers. No se si desde entonces se descubrieron los patrones de nuevos routers, si alguien sabe de alguno que avise.

Se puede descargar aquí [wdic.py], o coloreado al final. Lo dicho, ya tiene su tiempo y le hace falta una reescritura a C (en cuanto encuentre tiempo), pero funciona.

Hay dos formas de usarlo, lanzándolo directamente se maneja con menús

=============================================================================== ./wdic.py =============================================================================== [http://4.bp.blogspot.com/_26RJWnubh-w/TFaFuaEBqBI/AAAAAAAAAOs/QE5Or0kF8do/ s1600/Pantallazo-10.png]

Toda la salida que no sean las contraseñas se hace por stderr, así que se puede redirigir tranquilamente y los menús seguirán saliendo:

=============================================================================== ./wdic.py > diccionario ===============================================================================

O continue.

untagged

Una ronda de bash ( y II )

[La_primera_parte] (La división va porque se hace incómodo editar el HTML para meter los spoilers con posts largos... si, lo se, soy un vago)

Nota: por alguna razón no se muestran los spoilers si se ven desde la portada, entrad en el post y debería ir.

Los siguientes códigos usan /proc/acpi/ para mostrar la temperatura y Zenity o KDialog para mostrarlo por una GUI

El primero es la base, muestra simplemente las temperaturas por pantalla

=============================================================================== ./temp.sh [-c] =============================================================================== El -c para que también se muestre el símbolo de la medida (¿grados?) [Unknown INPUT type] ===============================================================================

!/bin/bash

Escrito por kenkeiras

back=$PWD cd /proc/acpi/thermal_zone/ if [ "$1" = "-c" ]; then     lonx=4 else     lonx=3 fi

for i in *; do     e=cat $i/temperature     e=${e:expr length "$e"-4:$lonx}     echo continue.

untagged

Una ronda de bash ( I )

Hoy... scripts varios en bash.

Empezando por lo más simple, un cracker de MD5, simplemente lee el diccionario y va comparando las lineas con el hash objetivo [md5crack.sh]

=============================================================================== ./md5crack.sh ===============================================================================

[Unknown INPUT type]

!/usr/bin/env bash

Escrito por kenkeiras

function showuse {     echo "$0 "     exit 1 }

if [ "$1" = "" ] then     showuse fi

if [ "$2" = "" ] then     showuse fi

i=0 for word in $(cat $1);do     test=echo -en "$word" |md5sum|cut -c1-32     if [ "$test" = "$2" ]         then             echo "-> $word"             i=$(($i + 1))         fi done echo "$i resultados" ===============================================================================

Siguiendo con pruebas_de_/dev/tcp, buscar las contraseñas por defecto usando la_web_del_cirt [get_pass_cirt.sh]:

=============================================================================== ./get_pass_cirt.sh =============================================================================== [Unknown INPUT type] ===============================================================================

!/usr/bin/env bash

Escrito por kenkeiras

if [ "$1" = "" ]; then     echo "No has especificado un criterio de búsqueda"     exit 1 else     key=$1 fi

Se pide la web

exec continue.

untagged

Hablando en esotérico

Hoy traigo un script que programa en lenguajes esotéricos, concretamente en Brainfuck, Ook!, Whitespace y Zombie.

Lo único que hace es escribir un programa que muestre por pantalla lo que el usuario pida, su uso es:

=============================================================================== ./esoprint.py [-h]  [-l ] [-o ] [ [ | -n [...] ] | -n] -h (--help): muestra esta "ayuda" -l (--language): Selecciona el lenguaje -o (--output) : Selecciona el archivo de salida (a stdout por defecto) El resto se toma como información, el -n (--newline) es considerado un salto de línea ===============================================================================

El script se puede descargar [aquí] o al final coloreado

Dejando a parte de Brainfuck y Ook!, de_los_que_se_habló_antes, Whitespace es un lenguaje compuesto únicamente por espacios, continue.

untagged

Fallos en Deviantshare

Resulta que ultimamente (¿ayer?) el blog estuvo redirigiendo a deviantshare.com por problemas con el "gadget", resulta que parece que la página ya no existe, de ahí todo el lío.

Y eso es todo, perdón por las molestias.

untagged

Introducción a Structure Synth ( y II )

Bien, seguimos con Structure Synth...

Definición de nuevas reglas

Recordemos que la unidad básica de los scripts de Structure Synth son las reglas (y las reglas más básicas las primitivas), así que existe la posibilidad de definir nuestras propias reglas, esto se hace sencillamente haciendo:

=============================================================================== rule { componentes de la regla } ===============================================================================

Es decir, para hacer una figura similar a una casa (hay que echarle algo de imaginación),se podria hacer =============================================================================== Box { x 0.5 ry 45 s 0.75 } Box =============================================================================== [http://3.bp.blogspot.com/_26RJWnubh-w/TEla_vG4BII/AAAAAAAAANY/X6rXs2IPiqs/ s320/casa.png]

Si se utilizase esta forma varias veces, se podria definir una regla que la construyese directamente:

=============================================================================== rule casa{     Box     { x 0.5 ry 45 s 0.75 } Box } ===============================================================================

Aleatoriedad

Además, si se define una misma regla continue.

untagged

Previous » « Next