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

 

 


Tema destacado: Entrar al Canal Oficial Telegram de elhacker.net


  Mostrar Mensajes
Páginas: 1 [2] 3 4 5 6
11  Programación / ASM / Re: suffix or operands invalid for add en: 23 Marzo 2011, 16:20 pm
Eternal Idol, gracias por responder.

[EDITO]

Fue fallo mio:

Código:
add $8, $esp

en AT&T los registros se "declaran" con "%".
Siento las molestias


Una duda que me ha surgido es, no se si estoy en lo correcto, quiza este diciendo una barbaridad.


En 32bits, cuando tu llamas a una funcion pasas los parametros que tendra(si tiene), llamas a la funcion y luego se mete el "ret" en la pila para que sepa donde volver una vez acabada la funcion.
Luego dentro de la funcion, si esta tiene variables locales, se reserva mas espacio en la pila, y se meten dichos parametros. Creo que era asi.

Entonces, en x64, no se usa la pila para tales cosas? Es decir, si cuando llamas a una funcion los parametros se pasan en los registros, lo unico que se mete en la pila es el "ret" y las variables locales?


Gracias, y saludos
12  Programación / ASM / suffix or operands invalid for add en: 23 Marzo 2011, 14:26 pm
Hola, que tal.

Estaba haciendo un ejemplo del libro que me estoy leyendo sobre asm, cuyo codigo es:

Código:
# signtest.s - An example of using the sign flag
.section .data
value:
.int 21, 15, 34, 11, 6, 50, 32, 80, 10, 2
output:
.asciz "The value is: %d\n"
.section .text
.globl _start
_start:
movl $9, %edi
loop:
pushl value(, %edi, 4)
pushl $output
call printf
add $8, $esp
dec %edi
jns loop
movl $1, %eax
movl $0, %ebx
int $0x80

El problema esta que mi cpu es de 64 bits, y creo que el codigo este es para 32 bits. (segun lei push y pop ya no se usan en 64 bits, es cierto?)
Si lo compilo tal cual:

Código:
~/asm/jumps$ as -o signed.o signed.s
signed.s: Assembler messages:
signed.s:12: Error: suffix or operands invalid for `push'
signed.s:13: Error: suffix or operands invalid for `push'
signed.s:15: Error: suffix or operands invalid for `add'
~/asm/jumps$

Pero si le digo al ensamblador que haga el codigo para 32 bits:

Código:
~/asm/jumps$ as --32 -o signed.o signed.s
signed.s: Assembler messages:
signed.s:15: Error: suffix or operands invalid for `add'
~/asm/jumps$

No dice nada de los push, pero se queja de la instrucción add. No es correcta esa instruccion en 32 bits? O me falta indicarle si estoy moviendo 8 bits, 16 o 32?


Por otro lado, otra duda que tengo, es que si en lugar de decirle al push que estoy moviendo 32 btis, le digo que mueva 64 con pushq, tampoco se queja de los push.  Igualmente usar pushq no seria correcto ya que estoy moviendo un entero, y este ocupa 4 bytes.

Gracias de antemano

13  Programación / Programación C/C++ / Re: Como saber si el dato introducido por teclado es numérico? [C++] en: 17 Marzo 2011, 18:27 pm
Creo que puedes usar: http://www.cplusplus.com/reference/clibrary/cctype/isdigit/
Código:
isdigit(var_a_comprovar);


Saludos
14  Programación / Programación C/C++ / Re: Portar codigo a Android en: 16 Marzo 2011, 16:51 pm
Posible pero no soportado (ayuda oficial) y los requerimientos pueden variar de una versión a otra:

http://developer.android.com/sdk/ndk/overview.html

A ver si buscamos un poco más en google, que tampoco era tan dificil de encontrar

Gracias por responder.
Aunque si te fijas:

"aunque según lei sacaron un SDK para que pudieran hacerse algunas cosas en C/C++, pero leyendo en la web de android, no me queda demasiado claro este aspecto."

Me refería a que había leido eso, pero no me había quedado claro. Así que, disculpeme mi señor, fue más fallo de comprensión que no de busqueda.

15  Programación / Programación C/C++ / Portar codigo a Android en: 16 Marzo 2011, 14:24 pm
Buenos dias, como estáis.

Tengo una duda, he hecho una aplicación que es un reproductor que hace streaming des de internet y funciona perfectamente en linux/pc, pero estaría interesado en portar el codigo a Android.
Las aplicaciones nativas de android estan programadas en Java, aunque según lei sacaron un SDK para que pudieran hacerse algunas cosas en C/C++, pero leyendo en la web de android, no me queda demasiado claro este aspecto.

Me gustaría saber si alguien tiene la certeza de que puedo portar mi codigo hecho en C hacia la plataforma android, o en cambio tengo que reescribir el codigo en Java.

Gracias de antemano, y disculpad si no es el mejor sitio para esta duda.
16  Programación / Programación C/C++ / API reconocimiento voz en: 14 Marzo 2011, 18:37 pm
Hola, buenas tardes.

Para un proyecto que estoy haciendo, me interesaría usar una API de reconocimiento de voz.
Sabéis de alguno ?

Gracias de antemano
17  Programación / Programación C/C++ / Re: funcion md5 no funciona bien en linux (pero si en windows) en: 26 Febrero 2011, 23:27 pm
Yo apañe esta, pero para que funciones tienes que tener las librerias de desarrollo de ssl: libssl-dev

Código:
static char *convert_md5(char const *pwd)
{
static char md5[34];
char c[3];
    MD5_CTX context;
    int i;
    unsigned char digest[16];
    unsigned int len = strlen (pwd);
   
MD5_Init(&context);
MD5_Update (&context, pwd, len);
MD5_Final(digest, &context);
memset(md5, 0, sizeof(md5));

for (i = 0; i < 16; i++) {
snprintf(c, 3, "%02x", digest[i]);
strncat(md5, c, sizeof(md5)-1);
}
   
return md5;
}

Como ves, el unico parametro que recibe es la cadena que quieres convertir a md5, y lo que te devuelve es el hash.

Espero que te ayude, saludos
18  Programación / Programación C/C++ / Re: Problema con lista enlazada en C en: 20 Febrero 2011, 20:31 pm
Puedes meter un '\0' directamente. Así es como yo lo hago.

Código:
#include <stdio.h>
#include <string.h>

int
main(int argc, char **argv)
{

        char test[20];

                fgets(test, sizeof(test)-1, stdin);
                test[strlen(test)-1] = '\0';
                printf("%s\n", test);
                return 0;
}
19  Programación / ASM / Re: asm AT&T en: 20 Febrero 2011, 13:50 pm
Muchas gracias =)
20  Programación / ASM / asm AT&T en: 17 Febrero 2011, 23:33 pm
Buenas noches, que tal.

Mi duda es si sabeis de un buen manual de asm sintaxis AT&T. Es que he visto unos cuantos pero estan algo incompletos, o es demasiado superficial.

No se si me he colado, he mirado la sección de manuales y no lo he visto, así que si he mirado mal, disculpad.

Saludos, y gracias de antemano
Páginas: 1 [2] 3 4 5 6
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines