Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - cpu2

#451
Creo que estas incrementando mal.

Porque no pones las direcciones en hexadecimal. 192.168.1.124 = 0x7c01a8c0, tendrias que incremental 0x7c. "2080483526" en teoria tendria que devolver 198.168.1.124.

Un saludo.
#452
Bueno, no entiendo esas definiciones de C, pero si estas trabajando con direcciones ipv4 estas son de 32 bits vamos que son un int, ejemplo: 0xffffffffff seria 255.255.255.255.
Las Mac serian 6 bytes, si no me confundo.

Y para ponerlas al reves o invertirlas puedes usar bswap en ASM en linea, o hacer algo en C. No se si eso responde tu pregunta.

Un saludo.
#453
Como dije anteriormente.

http://www.intel.com/content/www/us/en/processors/architectures-software-developer-manuals.html

Te recomiendo que te leas el primer tomo que es una introduccion, los segundos volumenes que son las referencia de las instrucciones. Puedes leer los demas pero de momento con eso ya estas bien.

Saber como funciona un poco as y ld.

http://sourceware.org/binutils/docs/as/
http://sourceware.org/binutils/docs/ld/


Bueno acabas de decir que tienes un procesador x64 y lo estas usando a x86, ya que tienes un procesador de x64 porque lo usas a x86?

En x64 los registros son de 64 bits (logico) vamos el doble, puedes cargas mas datos en ellos sin tener que usar el stack, tienes nuevos registros de calculo general r8-r15 algunos de ellos son para pasar argumentos y otros son libres, en x86 haces interrupciones al vector 80 y en x64 tienes una instruccion llamada syscall que es mas rapida que llamar al vector.

http://blog.rchapman.org/post/36801038863/linux-system-call-table-for-x86-64
http://syscalls.kernelgrok.com/


Las interrupciones, la segunda es de x86 solo cambian los registros, son de kernels algo pasados, pero siempre puedes mirarlos en el sistema. Tambien te recomiendo que no te acostumbres a utilizar llamadas ya que desde mi punto de vista no es ASM puro, pero como estas en ring3 estas obligado a usarlas, int 80 y syscall llaman a unas funciones escritas casi siempre en C que estan en el kernel, es una explicacion muy basta pero en el manual no la hubieras entendido.

Pero bueno seguro que tienes el Ubuntu a x86 porque seguro que leiste por hay que seria mas estable.

Bueno empieza por leer y entender un Hello word.

Un saludo.
#454
char byte [] = "\x60\x32";

Imaginate de que esos dos opcodes fueran validos, quieres ejecutarlos directamente sin tener que copiarlos fuera no?

Es eso lo que pretendes?

Un saludo.
#455
Dices que vas a estudiarte la sintaxis de Intel (NASM), y te pones a leer un libro con la sistaxis de AT&T (GAS).

Bueno olvidando eso, que creo que despues de eso este hilo no va a ningun sitio, te voy a dar mi recomendacion.

Ya que estas con Linux aprende la sintaxis con la que originalmente trabajo GAS. No te recomiendo ese libro ni ninguno de ese estilo.

Podrias entrar en la pagina de GNU hay esta toda la informacion sobre binutils y sobre as (GAS) y ld el linker, te aprendas su sintaxis y leas los manuales de Intel o AMD (supongo que tendras una arquitectura x86-x86_64) para comprender el funcionamiento del procesador y las instrucciones, cosa que ninguno de esos libros te va ha proporcionar como los manuales, ese estilo de libros solo estan escritos para sacarle el dinero a los universitarios, pero esa es solo mi opinion.

Y sobre todo lee muchos codigos.

Un saludo.
#456
Solamente eliminar unos modulos, simplemente entra en el menu del kernel y desmarca las casillas, tienes mas opciones.

Si solo quieres eliminar cosas es sencillo, hace mucho tiempo que no compilo ningun kernel de linux, pero hay un binario llamado genkernel que esta bastante bien, se usa en Gentoo pero creo que tambien puedes usarlo en otras distribuciones.

Eso que quieres hacer desde mi punto de vista es mas sencillo con un sistema Unix-Like que con Linux, ya que el kernel esta "petado".

Si tienes dudas postealas y punto, podrias hacer eso con Gentoo, tiene fama de ser el mas dificil pero pasa de la gente que dice eso, el handbook es una obra de arte y es la distribucion mas limpia que hay, una opinion personal.

Un saludo.

#457
Hola

Hace tiempo que no toco linux, no se si podras crear la particion extendida y poner todos los voluemenes logicos hay, creo a ver leido que si.

Yo lo que hacia era crear la particion boot primaria, y luego crear la particion extendida y "fragmentar" los directorios en las particiones, pero no se te olvide configurar bien fstab, la swap depende de la memoria RAM que tengas ni la usaras. Si quieres algo mas serio hay un binario llamado LVM2 que administra esos volumenes logicos reduciendo y ampliando el volumen las particiones a placer y mas opciones.

Un saludo.
#458
Programación C/C++ / Re: Ayuda crypter en C
14 Enero 2014, 22:33 PM
Pffff....
#459
Programación C/C++ / Re: Ayuda crypter en C
14 Enero 2014, 21:41 PM
Bueno no se ni porque te respondo, como siempre sus mensajes no me aportan nada.

Mi concepto de "shellcode polimorfica" es cifrar, ofuscar etc...

Si corta explicacion no se me da tambien como a ti, el cifrado y la implementacion son una *****, pero es un ejemplo basico lo dije arriba, en shell storm hay shellcode con cifrados de incremento y decremento.

https://github.com/rapid7/metasploit-framework/blob/master/modules/encoders/x64/xor.rb

Vale que no es como ese, pero con la implementacion que hice no pretendia hacer nada serio.

En la sección de malware hay un paper muy bueno de un usuario del foro.

http://foro.elhacker.net/analisis_y_diseno_de_malware/taller_asi_funcionan_los_crypters_encriptando_malware_a_mano-t262806.0.html

En su explicacion tambien se limita a hacer un xor 0xff, y en muchos ejemplos en la red, solamente son ejemplos.

Pero bueno creo que tus mensajes son para tocarme la moral.
#460
Programación C/C++ / Re: Ayuda crypter en C
13 Enero 2014, 15:56 PM
Si la salida es la misma, pero yo me refiero a implementar el algoritmo en el binario, tendrias que reservar mucho espacio.

Y sobre lo de que el algoritmo es simple, pues la verdad todo depende de como quieras que sea de bueno el algoritmo, te sera mas complicado o menos, y sobretodo el tiempo de computo.

Yo estoy haciendo mi propia implementacion, lleva un tiempo parada pero ya me pondre.

http://foro.elhacker.net/asm/rotar_en_registros_xmm-t396980.0.html

No es lo mismo que la de C. Lo que quiero decirte es que puede que el algoritmo te resulte facil en papel o en una implementacion basica, pero mejorarlo al maximo no es nada facil.

Un saludo.