elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el Twitter! de elhacker.NET


  Mostrar Temas
Páginas: [1]
1  Seguridad Informática / Bugs y Exploits / Buscar exploits en NDS? en: 29 Septiembre 2011, 20:25 pm
Quería saber qué proceso se sigue para descubrir bugs en nds o saber si hay algún tutorial para esta consola al igual que la hay para PSP en wololo.net (http://wololo.net/wagic/2009/03/11/finding-gamesaves-exploits-on-the-psp/)
2  Programación / Scripting / [RUBY] Es posible variable distinta dentro de for? en: 25 Julio 2011, 21:40 pm
El asunto no sé como ponerlo mas resumido.

Lo que quiero es que se me genere dentro de un for tantas variables como veces se repita, pero todas las variables distintas, algo así:

Código:
for [i]i[/i] 1..5 do
valor[[i]i[/i]] = [i]i[/i] + 1
end

# => valor1 = 2
# => valor2 = 3
# => valor3 = 4
# => valor4 = 5
# => valor5 = 6

¿Es posible?
3  Programación / Scripting / [Ruby] Extractor de archivos [Código inside] en: 19 Julio 2011, 12:12 pm
Acabo de medio terminar un script para extraer archivos de un paquete BNDL en ruby. Aquí va el código para el que le pueda interesar:

Código:
# MEDP (Multi Extractor De Paquetes) 0.0.1
# Programado por SeCaProject
# 2011 en Ruby

# Librerias necesarias
require 'FileUtils'

# Pregunta qué archivo leer
puts "Nombre completo del archivo"
nombrearchivo = gets.strip
puts "Leyendo "+nombrearchivo+", un momento por favor..."
arch = File.new(nombrearchivo, "rb")
arch_leer = File.new(nombrearchivo, "rb")
# Saber que tipo de archivo es
tipo_arch = arch.read(4)
puts "Tipo de archivo: #{tipo_arch}"
arch.read(4)
dirhex1 = arch.sysread(1).unpack('H*')
dirhex2 = arch.sysread(1).unpack('H*')
dirhex3 = arch.sysread(1).unpack('H*')
dirhex4 = arch.sysread(1).unpack('H*')
dirtotal = [dirhex4,dirhex3,dirhex2,dirhex1].join.to_i(16)
puts "Longitud de la tabla: #{dirtotal}"
arch.read(4)
puts "Seguimos?"
seguimos = gets.strip

# Pone el archivo al principio
arch.seek(16, IO::SEEK_SET)

# Lee el archivo
cuenta0 = 16
for cuenta1 in 1..dirtotal do
if cuenta0 == dirtotal
break
end
cuenta0 = cuenta0 + 1
archivo1 = arch.read(1).bytes.first

# Si es una carpeta
if archivo1 == 1
cuenta0 = cuenta0 + 1
archivo1a = arch.read(1).bytes.first
# Me aseguro de que es una carpeta
if archivo1a == 1
# Lee el nombre del archivo, maximo 50 caracteres
for cuenta3 in 1..50 do
cuenta0 = cuenta0 + 1
archivo1b = arch.read(1).bytes.first
if archivo1b == 0
arch.seek(cuenta0-cuenta3, IO::SEEK_SET)
carpetanueva = arch.read(cuenta3)
break
end
end
end
# Si es un archivo
elsif archivo1 == 2
cuenta0 = cuenta0 + 12
# Distancia del inicio del archivo
dirhex1 = arch.sysread(1).unpack('H*')
dirhex2 = arch.sysread(1).unpack('H*')
dirhex3 = arch.sysread(1).unpack('H*')
dirhex4 = arch.sysread(1).unpack('H*')
ini_file = [dirhex4,dirhex3,dirhex2,dirhex1].join.to_i(16)
# 4 bloques vacios
arch.read(4)
# Longitud del archivo
dirhex1 = arch.sysread(1).unpack('H*')
dirhex2 = arch.sysread(1).unpack('H*')
dirhex3 = arch.sysread(1).unpack('H*')
dirhex4 = arch.sysread(1).unpack('H*')
end_file = [dirhex4,dirhex3,dirhex2,dirhex1].join.to_i(16)
# Lee el nombre del archivo
for cuenta3 in 1..100 do
cuenta0 = cuenta0 + 1
archivo2d = arch.read(1).bytes.first
if archivo2d == 0
# Copiando nombre al archivo
arch.seek(cuenta0-cuenta3, IO::SEEK_SET)
content = arch.read(cuenta3)
# Copiando contenido del archivo
arch_leer.seek(ini_file, IO::SEEK_SET)
content1 = arch_leer.read(end_file)
# Creando archivo
save_arch = File.open("#{tipo_arch}/#{content[1..-1].chop!}", File::CREAT | File::WRONLY | File::TRUNC)
save_arch.syswrite(content1)
break
end
end
end
end

De momento solo válido para archivos BNDL.
Como iba diciendo, después de medio terminarlo, me he preguntado a ver si este código se puede hacer más corto, o algo sobra, o lo que sea.
Eso por un lado, luego también querría saber cómo puedo hacer para que me lo meta en carpetas que el propio archivo tiene.
Para cualquier duda sobre el script, preguntad. Si algo no está claro también avisad.
4  Programación / Scripting / Ayuda problema con valor (RUBY) en: 16 Julio 2011, 01:30 am
Estoy haciendo un código en ruby para poder leer unos paquetes y que me diga lo que contienen. Aunque el código es muy muy simple, y hace poco que lo he desarrollado, hay una cosa que me da dolor de cabeza.

Código
  1. arch = File.new("[i]archivo[/i]", "r")
  2.   z = arch.sysread(1).unpack('H*')
  3.   puts z
  4.   content = arch.sysread(32)
  5.  
En este caso, con el archivo que intento abrir, z = 10, pero si pongo z en el lugar del 32 de la linea 4 me da error. En mi código antes tengo puesto x = 1 y si lo pongo ahí me va bien, pero z no.
¿Cómo lo puedo hacer para que no me de error y lea z?
5  Programación / Ingeniería Inversa / Ayuda extraer archivos en: 14 Julio 2011, 17:33 pm
Buenas

Soy nuevo en el foro y no sé si estoy en el sitio indicado, por eso pido un poco de comprensión y que me digan donde debo abrir el hilo.

Mi pregunta es la siguiente, tengo varios archivos que son paquetes. Cuando lo abro en hexadecimal sé cómo funcionan y dónde están los archivos en cuestion. De hecho, si copio solo lo que me interesa y lo exporto a un archivo nuevo, pegando lo de antes, me sale el archivo que busco, osea que mal no voy. Pero claro, quisiera hacerlo con un programa que lo hiciera el solo. Y aquí vienen mis preguntas. En qué lenguaje lo hago y cómo debo hacerlo? No pido el script entero, (aunque si fuera así lo agradezco bastante) pido cómo decirle que lea una posicion del archivo y que copie de X a Y y que crea un archivo.

Gracias anticipadas
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines