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

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  ASM (Moderador: Eternal Idol)
| | | |-+  asm en c++ (Devolver variable con return) ayuda.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: asm en c++ (Devolver variable con return) ayuda.  (Leído 4,348 veces)
70N1


Desconectado Desconectado

Mensajes: 355


Ver Perfil
asm en c++ (Devolver variable con return) ayuda.
« en: 12 Enero 2015, 02:52 am »


Hola, de entrada decirles que no se ni pajolera idea de asm... por eso mi pregunta.

Como consigo hacer el return de la variable "primero" ?


Código:
char lanzar(){

char primero = 0;

__asm{

call des
des :
pop primero


}
return primero;
}


En línea

70N1
Eternal Idol
Kernel coder
Moderador
***
Desconectado Desconectado

Mensajes: 5.958


Israel nunca torturó niños, ni lo volverá a hacer.


Ver Perfil WWW
Re: asm en c++ (Devolver variable con return) ayuda.
« Respuesta #1 en: 12 Enero 2015, 05:34 am »

Moviendo el valor de primero al registro AL.


En línea

La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón
70N1


Desconectado Desconectado

Mensajes: 355


Ver Perfil
Re: asm en c++ (Devolver variable con return) ayuda.
« Respuesta #2 en: 12 Enero 2015, 14:44 pm »

Me puedes poner el ejemplo bien comentado?.
En línea

70N1
MCKSys Argentina
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.513


Diviértete crackeando, que para eso estamos!


Ver Perfil
Re: asm en c++ (Devolver variable con return) ayuda.
« Respuesta #3 en: 12 Enero 2015, 15:10 pm »

Hola!

No entiendo bien qué quieres hacer:

Estás intentando devolver el valor que tiene la variable dentro de la función o la dirección de memoria en la que está?

Al ser una variable local, lo más probable es que esté en el stack, por lo que va a destruirse al salir de la función (en realidad no se destruye, pero esa dirección seguramente será machacada por el código siguiente.).

Si es por devolver el valor, como dijo Eternal Idol:

Código
  1. char lanzar(){
  2.  
  3. char primero = 0;
  4.  
  5. __asm{
  6. mov al, primero
  7. }
  8. }
  9.  
En línea

MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."

70N1


Desconectado Desconectado

Mensajes: 355


Ver Perfil
Re: asm en c++ (Devolver variable con return) ayuda.
« Respuesta #4 en: 12 Enero 2015, 15:50 pm »

Lo que intento es obfuscar este codigo.


Código:
DWORD prueba       = 0;

// *** The following code gets EIP register value and stores into primero
   __asm call andro
   __asm   andro:
   
   __asm   pop primero


prueba = (DWORD)(*(DWORD *)(--primero));
En línea

70N1
_Enko


Desconectado Desconectado

Mensajes: 538



Ver Perfil WWW
Re: asm en c++ (Devolver variable con return) ayuda.
« Respuesta #5 en: 12 Enero 2015, 19:19 pm »

las funciones retornan el valor en eax.

Si colocas:

Código:
...codigo obfuscado
mov al, valor
... codigo obfuscado
retn

Cuando alguien depure tu programa va a tener:
Código:
codigo
call tu_procedimiento ; con codigo obfuscado
<---- al tendrá el valor de retorno
codigo

No importa lo que pongas en la obfuscacion, el valor de retorno estará en eax.
Tendrás mas "suerte" usando variable global o pasando el parametro por referencia.

Saludos.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
devolver true si palabra existe en variable
PHP
CICOLO_111234 2 6,241 Último mensaje 20 Mayo 2009, 01:40 am
por [u]nsigned
my.resources.source.replace(variable, variable) Ayuda codedom
.NET (C#, VB.NET, ASP)
70N1 4 5,067 Último mensaje 19 Octubre 2011, 12:57 pm
por 70N1
Un return un tanto peculiar, Ayuda.
Programación C/C++
anonimo12121 1 2,019 Último mensaje 8 Mayo 2012, 00:04 am
por n0z
"return" no esta funcionando bien al devolver un iterador
Programación C/C++
Kasswed 1 2,427 Último mensaje 9 Mayo 2012, 13:42 pm
por Kasswed
[Aporte]Return en php - Devolver variables y arreglos desde funciones en PHP
PHP
korko 0 2,432 Último mensaje 7 Febrero 2021, 05:28 am
por korko
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines