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

#391
GNU/Linux / Re: Recuperar archivos .iso
18 Abril 2014, 21:01 PM
Si buscas por el Google, en la primera pagina tienes programas y manuales que explican como recuperarlos, nunca los utilize...

Pero si quieres hacer copias de seguridad, utiliza la orden dd, puedes copiar datos de cualquier dispositivo con opciones y mucha precision.

Un saludo.
#392
Bueno, ya veo que tienes bastantes respuestas, mas o menos son como la mia, solamente te dare mi punto de vista.

No se como tienes particionado el disco duro, lo mejor es poner los directorios importantes como /usr, /tmp, /home etc... En particiones logicas, asi lo tienes mas ordenado, porque te explico todo esto, pues porque a lo hora de hacer un backup es mas comodo, yo soy usuario de OpenBSD y la verdad se instala en 5 minutos o en menos, no instalo nada de ports.

Asi lo que tengo que hacer es una copia de las particiones /tmp y /home, tmp es importante ya que tiene los archivos de configuracion y home por los datos personales, todo lo demas no lo salvo ya que en menos de 5 minutos los tengo, simplemente en la instalacion restauro esas dos particiones y ya lo tengo todo como antes.

Para hacer una imagen de tus particiones no te hace falta ningun soft adicional, puedes hacerlo con dd.

dd if=/dev/sd0d of="ruta" bs=32b

Eso seria un ejemplo, bs es la velocidad de copiado, puedes cambiarla.

Un saludo.

#393
@Eternal Idol

Simplemente pense que se podrian conseguir esos valores igual que en sistemas Unix-like, error mio, tampoco lo veo una perdida de tiempo saber como funcionan las cosas sin llamar a una API.

@ivancea96

Y bueno sobre lo que preguntas sobre el registro DI, utilizo DI porque es el primer parametro para pasar los valores a las syscall de sistemas Unix-like, claro DI no deja de ser un registro de general purpose, DI y SI estan enlazados por instrucciones para mover cadenas ejemplo movs etc...

Un saludo.
#394
Pues claro que se puede hacer sin la API, si es cierto esta en el stack pero en la parte superior, yo en el primer pop sin tocar la pila me dice los numeros de parametros que pase en la shell.

ktrace ./prueba parametro

Código (asm) [Seleccionar]
popq %rdi
incl %eax
syscall


Obtendria 0x2, en rdi.

Si sigo augmentando en la pila vere las cadenas las rutas y los parametros.

Código (asm) [Seleccionar]
movq 8(%rsp), %rdi
movq (%rdi), %rdi   ; piensa que es un puntero


Depende de los bytes que quiera imprimir la cadena sera mas extensa o no, por cierto todo esto esta probado en unix-like, no se si te valdra para Windows creo que si.

Un saludo.
#395
ASM / Re: Duda con Stack Pointer (Registro 13)
27 Marzo 2014, 23:50 PM
Tambien intentarias escribir en una direccion sin permisos de escritura y lectura y tu binario "crashearia". Supongo que en ARM seria igual.

Un saludo.
#396
ASM / Re: Movimiento de mascara
23 Marzo 2014, 23:16 PM
Bueno ya la optimize, de 64 OPS que consume maskmovdqu yo lo hice en 4 OPS jeje.

Código (asm) [Seleccionar]
.section .data

bts0_: .quad 0x8080808080808080,0x8080808080808080

.section .text
.globl _start

_start:

movdqa %xmm0, %xmm1

pand bts0_, %xmm0
pcmpeqb bts0_, %xmm0
pand %xmm0, %xmm1


Por cierto, deje la respuesta en este foro y en el otro, buen foro tienes razon, pero lo saque todo yo jeje.

Un saludo.
#397
ASM / Re: Movimiento de mascara
22 Marzo 2014, 21:28 PM
No, me referia en compartir el codigo para algun proyecto como puede ser en malware, o en otro y sacar algo de dinero.

Las extensiones son de la SSE a la SSE2, son compatibles, no estoy usando las AVX.

Por lo que veo aqui hay muchos desarrolladores, pero por lo que veo a nadie le interesa las implementaciones que creo, bueno como hay muchas strlen por hay comparto la mia, si alguien quiere hacer algo pues que me comente.

http://foro.elhacker.net/asm/aporte_strlen_xmm-t411158.0.html

Ya puedes analizarla si quieres x64Core, pero las funciones AES no digo nada.

Un saludo.
#398
ASM / [Aporte] Strlen XMM
22 Marzo 2014, 21:21 PM
Bueno aqui les dejo una implementacion de una strlen en XMM, en teoria tendria que ser muchisimo mas rapida que la strlen normal, pero no esta testeada.

Código (asm) [Seleccionar]
i.section .text
.globl _start

_start:

pushq %r8
pushq %r9
pushq %r12
movq %r8, %r9

pxor %xmm1, %xmm1

_x0:

movdqu (%r8), %xmm0
pcmpeqb %xmm0, %xmm1
pmovmskb %xmm1, %r12d
addq $16, %r8
andl $0xffffffff, %r12d
jz _x0

bsf %r12d, %r12d
subq $16, %r8
subq %r9, %r8
addl %r12d, %r8d

popq %r12
popq %r9
popq %r8


Si tienen una CPU de 32 bits solamente cambien los registros, el puntero a la cadena es %r8.

Un saludo.
#399
ASM / Re: Movimiento de mascara
22 Marzo 2014, 18:37 PM
Si por lo que he visto hay buenas preguntas, aun estoy con AES tengo todas las funciones menos la mixcolumns, multiplico el registro xmm por 2 y 3, ahora solo me queda ordenarlo corriendo los bits.

https://www.ecs.csus.edu/csc/iac/docs/students/Vinit_Azad_MS_Report.pdf

Si miran ese pdf en la pagina 29 veran una tabla con los ciclos de cada funcion, no se de donde sera esa tabla pero la he visto por muchos lados, sumando todas las funciones 1 ronda cuesta unos 222, yo calculo que mi ronda estara en unos 170 - 180.

Tambien cree una funcion strlen con los xmm para el mismo AES, no he calculado la potencia porque no se hacerlo, pero segurisimo que peta mil veces a la de C/C++.

Pero todo esto son para mis proyectos, me gustaria compartirlos, pero no, a no ser que se conbinen con algun code como puede ser un malware.

Un saludo.
#400
ASM / Movimiento de mascara
19 Marzo 2014, 19:02 PM
Hola

Tengo que mover los byte que tengan el bit 7 en 1, ya tengo una funcion aplicada con maskmovq que hace precisamente lo que quiero, pero lo malo de esa instruccion es que a la CPU le cuesta 32 OPS.

Código (asm) [Seleccionar]
; %mm0 = 0x8001018080010180

maskmovq %mm0, %mm0  ; (%rdi) = 0x8000008080000080


Hay otra instruccion llamada pmovmskb es 1 OPS, que copia el bit 7 en un registro de 32 bits haciendo un octeo con los registros que tienen ese bit en 1.

Código (asm) [Seleccionar]
; %mm0 = 0x8001018080010180

pmovmskb %mm0, %esi  ; %esi = 0x99


Bien alguien me da alguna idea de como construir una mascara, a partir de ese octeo para copiar los byte tal y como lo hace maskmovq?

Un saludo.