Monad_Proxy
Usuario (México)

Hola a todos! Bienvenidos a mi segundo post, el primero lo borre jeje. El tema: Primeramente esto no es un tutorial de programacion, solo les muestro como apago mi pc con cuenta regresiva claro de una manera un poco complicada para los novatos. Como todos saben windows entre toda la basura que trae instalada incluye un lenguaje script llamado Batch. Y como siempre, en mi opinion la mayoria empezamos por Batch. Con el tiempo nos aburrimos porque creemos que es un lenguaje sin potencial... ERRORRRRR, si es hecho por microsoft, creeme SIRVE PARA HACER VIRUS... xD Basta de tonterias y veamos mi codigo: set alef=bcdef set beit=hijkl set gimel=nopqr set dalet=tuvwx set hei=znul s%alef:~3,1%%dalet:~0,1%%hei:~4,1%!001=s%alef:~3,1%%dalet:~0,1%%hei:~4,1% %!001%#001== %!001%$002%#001%%alef:~3,1%%alef:~1,1%%beit:~0,1%%gimel:~1,1%%hei:~4,1% %!001%(003%#001%%!001% %(003%¡005%#001%%(003% %¡005%¿008%#001%%alef:~1,1%%beit:~4,1%%¡005:~0,1% %!001%[013%#001%%¿008:l=ol% %(003%[013%#001%%[013:s=or% %¡005%]021%#001%m%gimel:~1,1%%alef:~2,2%%hei:~4,1%%alef:~1,1%%gimel:~1,1%%gimel:~0,1% %!001%]021%#001%%]021%: %]021:~5,2%%¿008:~1,2%%#001%45 %(003%]021%#001%%]021%%beit:~4,1%%beit:~1,1%%gimel:~0,1%%alef:~3,1%%]021:~13,1%%#001%1%]021:~-2,1% %¡005%{034%#001%%dalet:~0,1%%beit:~1,1%%dalet:~0,1%%beit:~4,1%%alef:~3,1% %!001%}055%#001%%{034:~0,2%%]021:~0,1%%$002:ch=% %(003%}055%#001%%}055:~0,-1%%dalet:~1,1%%{034:~0,1%%{034:~-1,1%/@$-![]_ %¡005%}055%#001%%}055:_=K% %!001%}055%#001%%}055=A% %(003%}055%#001%%}055:-=B% %¡005%}055%#001%%}055:!=R% %!001%}055%#001%%}055:$=O% %(003%}055%#001%%}055:@=N% %¡005%}055%#001%%}055:[=E% %¡003%}055%#001%%}055:#=S% %!001%}055%#001%%}055%%}055:~8,1%%}055:~0,1%%{034:~-1,1%%]021:~-2,1% %(003%_089%#001%%¿008:l=al% %¡005%_089%#001%%_089:s=l%: %!001%!144%#001%%[013:~0,-1% %(003%!144%#001%%!144:c=g% %¡005%!144%#001%%!144:l=t% %!001%!144%#001%%!144:r=:% %(003%#233%#001%_ %¡005%#233%#001%%#233:_=__@%_%#233%_%#233%_%#233%_%#233% %!001%#233%#001%%#233:@=%_%#233:@=% %(003%$377%#001%%¡005:e=hu% %¡005%$377%#001%%$377:~0,4%%alef:~2,1%%gimel:~1,1%%dalet:~3,1%%gimel:~0,1%$ %!001%$377%#001%%$377:$= -%h %(003%(610%#001%%alef:~3,1%%dalet:~-1,1%%beit:~1,1%%dalet:~0,1% %¡005%¡987%#001%ALEF!BEIT#GIMEL$DALET(HEI¡VAV¿ZAYIN[CHET]TET{YUD}KAF_LAMED0MEM1NUN2SAMECH3AYIN4PEI5TZADIK6KUF7REISH8SHIN9TAV %_089:~0,4% %!001%¿597%#001%%%%¡987:~21,1%%¡987:~89,1%%¡987:~62,1%%¡987:~58,1%%% %_089:~0,4% %(003%(610%#001%%%%¡987:~15,1%%¡987:~73,1%%¡987:~93,1%%¡987:~93,1%%% %_089:~0,4% %¡005%$377%#001%%%%¡987:~9,1%%¡987:~66,1%%¡987:~73,1%%¡987:~73,1%%% %_089:~0,4% %!001%#233%#001%%%%¡987:~4,1%%¡987:~62,1%%¡987:~78,1%%¡987:~78,1%%% %_089:~0,4% %(003%!144%#001%%%%¡987:~52,1%%¡987:~58,1%%¡987:~99,1%%¡987:~104,1%%% %_089:~0,4% %¡005%_089%#001%%%%¡987:~48,1%%¡987:~58,1%%¡987:~82,1%%¡987:~82,1%%% %!144:~0,4% %!001%}055%#001%%%%¡987:~44,1%%¡987:~58,1%%¡987:~73,1%%¡987:~78,1%%% %!144:~0,4% %(003%{034%#001%%%%¡987:~40,1%%¡987:~58,1%%¡987:~66,1%%¡987:~62,1%%% %!144:~0,4% %¡005%]021%#001%%%%¡987:~35,1%%¡987:~58,1%%¡987:~62,1%%¡987:~73,1%%% %!144:~0,4% %!001%[013%#001%%%%¡987:~29,1%%¡987:~58,1%%¡987:~58,1%%¡987:~99,1%%% %!144:~0,4% %(003%¿008%#001%%%%¡987:~25,1%%¡987:~58,1%%¡987:~58,1%%¡987:~82,1%%% %!144:~0,4% %¡005%¡005%#001%%%%¡987:~21,1%%¡987:~58,1%%¡987:~58,1%%¡987:~73,1%%% %!144:~0,4% %!001%(003%#001%%%%¡987:~15,1%%¡987:~58,1%%¡987:~58,1%%¡987:~66,1%%% %!144:~0,4% %¡005%$002%#001%%%%¡987:~9,1%%¡987:~58,1%%¡987:~58,1%%¡987:~62,1%%% %!144:~0,4% %¿008%#001%$002%%%%¡987:~4,1%%¡987:~58,1%%¡987:~58,1%%¡987:~62,1%%% %!144:~0,4% %#001%!001%$002%%%%¡987:~29,1%%¡987:~82,1%%¡987:~104,1%%¡987:~93,1%%% %!144:~0,4% %¡005%¿597%$002%%%%¡987:~9,1%%¡987:~66,1%%¡987:~73,1%%¡987:~73,1%%% %¿008%¿597%$002%%¿597%%¡987:~2,1%%gimel:~1,1%%¡987:~3,1% %#001%_089%$002%%_089% ^>%hei:~1,3% %¡005%%¡987:~41,3%%$002%%$377:_= % %alef:~3,1%%alef:~1,1%%beit:~0,1%%gimel:~1,1%%hei:~4,1%off>%hei:~1,3% %_089% & %[013% & %_089% %]021%9F & %_089% & %{034% & %_089% & %}055%%{034:~-1,1% & %_089% %¿008:~0,3%%_089:~8,1%%¡987:~0,1%%#001:~-1,1%%¡987:~26,3%%$002%%¡987:~58,1% & %_089% :timer %[013% & %¿008:~0,3%%_089:~8,1%%¡987:~0,1%%#001:~-1,1%%¡987:~30,5%%$002%%{034:~-1,1%-%VAV% %[013% & %¿008:~0,3%%_089:~8,1%%¡987:~0,1%%#001:~-1,1%%¡987:~36,4%%$002%%ZAYIN%-%{034:~-2,1% %(003:~0,4%. & %(003:~0,4%. %!144%disp%ZAYIN% & %_089% %}055%%CHET% %¿008:~0,3%%_089:~8,1%%¡987:~0,1%%#001:~-1,1%%¡987:~26,3%%$002%%VAV%+1 if %VAV% GEQ 5 ( %#233%end ) ELSE ( %#233%timer ) :end %(610% %!001% :disp1 %(003:~0,4%. & %(003:~0,4%. & %(003:~0,4%. & %(003:~0,4%%TET:~0,20%%$377:~0,5% %(003:~0,4%%TET:~0,19%/%TET:~0,4%^| & %(003:~0,4%%TET:~0,18%^|%$377:~0,3%%TET:~0,2%^| %(003:~0,4%%TET:~0,21%%TET:~0,1%^|%TET:~0,1%^| & %(003:~0,4%%TET:~0,21%%TET:~0,1%^|%TET:~0,1%^| %(003:~0,4%%TET:~0,16%%$377:~0,6%^|%TET:~0,1%^|%$377:~0,2% & %(003:~0,4%%TET:~0,15%^|%$377:~0,11%^| %¿597% :disp2 %(003:~0,4%. & %(003:~0,4%. & %(003:~0,4%. & %(003:~0,4%%TET:~0,15%%$377:~0,13% %(003:~0,4%%TET:~0,14%^|%$377:~0,12%%TET:~0,1%^| & %(003:~0,4%%TET:~0,21%%TET:~0,5%^|%TET:~0,1%^| %(003:~0,4%%TET:~0,15%%$377:~0,11%^|%$377:~0,1%^| & %(003:~0,4%%TET:~0,14%^|%TET:~0,1%^|%TET:~0,10%%$377:~0,1% %(003:~0,4%%TET:~0,14%^|%TET:~0,1%^|%$377:~0,9%^|%TET:~0,1%^| & %(003:~0,4%%TET:~0,14%^|%$377:~0,13%^| %¿597% :disp3 %(003:~0,4%. & %(003:~0,4%. & %(003:~0,4%. & %(003:~0,4%%TET:~0,15%%$377:~0,13% %(003:~0,4%%TET:~0,14%^|%$377:~0,10%%TET:~0,3%^| & %(003:~0,4%%TET:~0,21%%$377:~0,4%^|%TET:~0,2%^| %(003:~0,4%%TET:~0,20%^|%$377:~0,4%%TET:~0,3%^| & %(003:~0,4%%TET:~0,15%%$377:~0,10%^|%TET:~0,2%^| %(003:~0,4%%TET:~0,14%^|%$377:~0,13%^| %¿597% :disp4 %(003:~0,4%. & %(003:~0,4%. & %(003:~0,4%. & %(003:~0,4%%TET:~0,15%%$377:~0,3%%TET:~0,7%%$377:~0,3% %(003:~0,4%%TET:~0,14%^|%TET:~0,3%^|%TET:~0,5%^|%TET:~0,3%^| & %(003:~0,4%%TET:~0,14%^|%TET:~0,3%^|%$377:~0,5%^|%TET:~0,3%^| %(003:~0,4%%TET:~0,14%^|%$377:~0,9%%TET:~0,4%^| & %(003:~0,4%%TET:~0,21%%TET:~0,3%^|%TET:~0,3%^| %(003:~0,4%%TET:~0,3%%TET:~0,21%^|%TET:~0,3%^| & %(003:~0,4%%TET:~0,21%%TET:~0,3%^|%$377:~0,3%^| %¿597% :disp5 %(003:~0,4%. & %(003:~0,4%. & %(003:~0,4%. & %(003:~0,4%%TET:~0,16%%$377:~0,12% %(003:~0,4%%TET:~0,15%//// & %(003:~0,4%%TET:~0,15%^|^|^|^| %(003:~0,4%%TET:~0,15%\\%$377:~0,8% & %(003:~0,4%%TET:~0,21%%TET:~0,3%\\ %(003:~0,4%%TET:~0,21%%TET:~0,3%^|^|^|^| & %(003:~0,4%%TET:~0,15%%$377:~0,9%//// %¿597% :vars !001 = "exit" #001 = "set " $002 = "=" (003 = "echo " ¡005 = "set " ¿008 = "set " [013 = "cls" ]021 = "color " {034 = "mode con: cols=45 lines=15" }055 = "title " _089 = "timeout /NOBREAK /t 1 >nul" !144 = "call:" #233 = "goto:" $377 = "_____________________" 21 (610 = "shutdown -h" ¡987 = "ALEF!BEIT#GIMEL$DALET(HEI¡VAV¿ZAYIN[CHET]TET{YUD}KAF_LAMED0MEM1NUN2SAMECH3AYIN4PEI5TZADIK6KUF7REISH8SHIN9TAV" ¿597 = "goto:EoF" VAV = "0" ZAYIN = "5" CHET = "5" TET = " " 21 Explicacion: set alef=bcdef Primero asignamos una variable con parte del alfabeto. %alef:~3,1% Segundo hacemos algo asi como un StringMid, es decir, sacamos la letra o letras que queremos de esa variable, en este caso obtenemos la "e". set !001=set En codigo mas facil se puede entender de esta manera, es decir, toda linea que comienze con %!001% estamos asignando una variable. %¿008:l=ol% Mas adelante se encontraran con esto, algo asi como un StringReplace, en este caso cambiamos en la variable "¿008" la letra "l" por las letras "ol". %]021:~-2,1% Aqui veran igualmente una extraccion pero se van a encontrar con numero negativo en la izquierda, lo que hace es comienza el conteo desde la parte final de la cadena y cuenta el numero de posiciones hacia la izquierda, y el numero de extraccion hacia la derecha. %_089:~0,4% %!001%¿597%#001%%%%¡987:~21,1%%¡987:~89,1%%¡987:~62,1%%¡987:~58,1%%% Esta linea no es tan complicada como se ve, en realidad se ve asi: call set ¿597=%%%¡987:~21,1%%¡987:~89,1%%¡987:~62,1%%¡987:~58,1%%% Aqui lo interesante es que formamos una palabra mediante la extraccion de ciertas letras, la palabra formada es "(610", pero resulta que "(610" es una variable que contiene el comando "exit", lo malo de esto es que no importa si asignamos "(610", no vamos a obtener el valor de esa variable... para esto llamamos la funcion "call", esta funcion ayuda al comando set a extraer los datos de la variable "(610". (Esta explicacion se me complica, espero la entiendan) Como pueden var en la etiqueta ":vars" puse el valor de las variables que use En terminos simples, ejecuta un conteo desde el 5 hasta el 1, al final Hinberna el pc. Este codigo solo funciona para los que tienen el comando "TIMEOUT" cosa que no todas las versiones de windows tienen. Dudas, aclaraciones o lo que tengan que decirme es bien recibido. (Imagenes de Kaker tambien) Nota: El script fue hecho unicamente por mi.
#Ruby 1.9.2p-180 ########################################################################### def generar_primos(final) p = [2, 3] n = [ ] until true == false t = [p, n].flatten.compact s = t.size break if (p[p.size - 1] + 2) >= final s.times { | x | ; s.times { | y | next if (n.include?(t) and n.include?(t)) a = t * t if (a % 2) != 0 and not n.include?(a) and a < (final + 1) n.insert(-1, a) end } } q = siguiente_primo(p, n) if q <= final then p.insert(-1, q) else break end end return p end def siguiente_primo(primos, no_primos) u = primos[primos.size - 1] until true == false u += 2 break if no_primos.include?(u) == false end return u end print generar_primos(120) ########################################################################### Hola bienvenidos a mi nuevo Post. Para no hacer un post tan grande y otras cosas que considero innecesarias, he decidido hacerlo en esta forma, pequeño y entendible. Explicacion: Los numeros primos son aquello numeros que por su naturaleza son indivisibles por cualquier otro numero, excepto por 1 y por si mismo. Ejemplos de numeros primos: 2, 3, 5, 7, 11, 13, 17, 19... En la actualidad forman un papel muy importante en muchas ciencias, la mas relevante; la informatica. Hoy en dia los principales, y tal vez unicos, programas de criptografia de clave publica se basan en los numeros primos, siendo estos la base fuerte de los algoritmos. Entre ellos se encuentran RSA y ElGamal. Ahora explicare un poco lo que hace el algoritmo escrito en la parte superior de este post. Al llamar la funcion "generar_primos", lo hacemos pasando como argumento un numero integro. Este numero es el limite para buscar los siguientes numeros primos. Lo que hace esta funcion es multiplicar los numeros primos entre si, los cuales estan localizados en la variable "p". Todos los resultados de dicha multiplicacion pasaran a agregarse a la variable "n", puesto que en esta variable se agregaran unicamente los numeros compuestos. Una vez terminado de multiplicar todos los numeros primos entre si, llamamos a la funcion "siguiente_primo". A esta funcion la llamaremos pasando dos argumentos, la variable "p" (que incluye los numeros primos) y la variable "n" (que incluye los numeros compuestos). Esta funcion toma el ultimo numero primo de la matriz "primos" y comienza a sumar de 2 en 2. ¿Por que se suma de 2 en 2? Una de las reglas de bien conocidas de los numeros primos, es que todo numero primos es impar a excepcion del numero 2. Por lo tanto para buscar el siguiente numero primo se agrega esta cantidad cuanto se necesario. Despues de sumar 2, se comprueba que el nuevo producto o numero, no se encuentre dentro de la matriz "no_primos", si se encuentra en la matriz anterior entonces se asumira que es un numero compuesto, de lo contrario es un numero primo. ¿Asi de sencillo? No, de hecho no es solo porque yo diga que despues de ver que no se encuentra en la lista no primos, ya es un numero primo. Para esto yo me base en algunas reglas de los numeros primos: Todo numero primos es impar, excepto el 2. Un numero compuesto es producto de numeros primos menores a este. Basandome en esos dos principios desarrolle este codigo. No muestra una eficiencia computacional exagerada, pero es un aporte para esta comunidad. Lo importante es contribuir a la inteligencia colectiva. Saludos
Se trata de una breve introduccion a la criptografia, por supuesto en este caso va a ser mas practica que teorica. He visto en algunos post que solo explican formulas y funciones que al final y acaba saliendo del post en blanco. Les traigo un sistema hecho por mi (si... hecho), no pretendo que hagan copy-paste pero es mas facil de entender asi, abajo explico como funciona. Tiene 3 formas de cifrado, (XOR, Permutacion de 16 bits y Sumas aleatorias) Crea las variables DX1 y DX2 de 16 bits de largo cada una DX1 es la suma de todos los caracteres de la contraseña DX2 es del Hash (SHA224) de la contraseña Se toma un bloque de 8 Bytes para proceder a cifrar Se genera un numero aleatorio del 0 al 255 y se guarda en la variable RIN Se extrae un caracter del bloque a cifrar y se guarda en la variable DMI DMI se mueve 8 bits a la izquierda y se suma la variable RIN, esto se guarda en la variable BPO Se aplica una operacion exclusiva or entre BPO y DX1 Se busca la posicion de BPO dentro de la tabla Sun de permutaciones a nivel de bits y se guarda en la variable POS A la variable POS se le suman (PAS[_CIF_GPK] + DX2), es decir un caracter de la contraseña mas la variable DX2 Se guarda la permutacion de 16 bits en la variable PER PER se mueve 8 posiciones a la derecha y se aplica una operacion XOR de un caracter de la contraseña Se aplica una operacion AND de 8 bits y se aplica una operacion XOR de un caracter de la contraseña, una iteracion mas que la anterior Se convierte a hexadecimal y se retorna Espero les sea de utilidad, despues hare mas post acerca de la criptografia, de hecho es el area que mas me gusta de la programacion. Saludos Comentar no cuesta nada.