Autor
|
Tema: Agregar memoria HeapAlloc() (Leído 5,639 veces)
|
E.P.I.
Desconectado
Mensajes: 346
elprogramadorinformatico [E.P.I.]
|
Hola, respeto a la solución que me dijo Hacker_Zero, en el anterior post, ahora quiero agregarle memoria con HeapAlloc(), el caso es que lo he porbado con esta forma, pero no me va: invoke HeapAlloc,GetProcessHeap(),HEAP_ZERO_MEMORY,MAX_PATH
¿Porque? Gracias.
|
|
|
En línea
|
La verdad nos hará libres
|
|
|
Eternal Idol
Kernel coder
Moderador
 
Desconectado
Mensajes: 5.969
Israel nunca torturó niños, ni lo volverá a hacer.
|
¿GetProcessHeap()? Te recomiendo que compres un libro de ensamblador asi comprendes que estas haciendo.
|
|
|
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
|
|
|
E.P.I.
Desconectado
Mensajes: 346
elprogramadorinformatico [E.P.I.]
|
¿GetProcessHeap()? Te recomiendo que compres un libro de ensamblador asi comprendes que estas haciendo.
Sí, GetProcessHeap()... en C, sería: LPCSTR a = (LPCSTR)HeapAlloc(GetProcessHeap(),HEAP_ZERO_MEMORY,MAX_PATH); //o HANDLE hHeapProcess = GetProcessHeap(); LPCSTR a = (LPCSTR)HeapAlloc(hHeapProcess,HEAP_ZERO_MEMORY,MAX_PATH);
No me puedes decir cómo es en ASM?... así cojo un referente para las demás API's y me voy enterando... Saludos  EDITO: con esto: invoke HeapProcess <invoke GetProcessHeap>,HEAP_ZERO_MEMORY,MAX_PATH
Pero está mal... bueno es bueno llegar a conclusiones (con ayuda jeje  )...
|
|
« Última modificación: 21 Marzo 2010, 20:23 pm por E.P.I. »
|
En línea
|
La verdad nos hará libres
|
|
|
Eternal Idol
Kernel coder
Moderador
 
Desconectado
Mensajes: 5.969
Israel nunca torturó niños, ni lo volverá a hacer.
|
El problema es que no sabes que hace invoke que no es una instruccion del microprocesador sino una directiva del ensamblador. invoke GetProcessHeap invoke HeapAlloc, eax, HEAP_ZERO_MEMORY, MAX_PATH
call GetProcessHeap push MAX_PATH push HEAP_ZERO_MEMORY push eax call HeapAlloc
|
|
|
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
|
|
|
E.P.I.
Desconectado
Mensajes: 346
elprogramadorinformatico [E.P.I.]
|
Sí, bueno ya lo ví (en el link de offtopic)... gracias. ¿El código te ha salido en dos, o son el mismo? [offtopic]Acá, me encanta la discusión... y tu descripción de invoke... [/offtopic]PD: perdona, por hacer el ridículo... es que no llevo ni un dia con ASM, y quiero ir rapidísimo, ya me aprendo las definiciones, ... EDITO: invoke, es standard con todos los Win?
|
|
« Última modificación: 21 Marzo 2010, 21:12 pm por E.P.I. »
|
En línea
|
La verdad nos hará libres
|
|
|
08l00D
Desconectado
Mensajes: 168
|
Si recien estas empezando yo te recomiendo que no te metas con esas boludeces de invoke y eso, que a la larga te van a joder... aprende como se llama a funciones desde ensamblador, aprende(si no sabes, acerca de las calling convention.) y despues enredate con invoke y toda esa basura... pd: invoke es una directiva pero de masm, en fasm me parece que es una macro... en fin implementaciones innecesarias para mi... De buena onda te digo, trata de leer un libro para aprender ensamblador, los foros para mi son mas como una ayudita extra.. por eso lee, trata de digerir y despues veni 
|
|
|
En línea
|
|
|
|
E.P.I.
Desconectado
Mensajes: 346
elprogramadorinformatico [E.P.I.]
|
Si recien estas empezando yo te recomiendo que no te metas con esas boludeces de invoke y eso, que a la larga te van a joder... aprende como se llama a funciones desde ensamblador, aprende(si no sabes, acerca de las calling convention.) y despues enredate con invoke y toda esa basura... pd: invoke es una directiva pero de masm, en fasm me parece que es una macro... en fin implementaciones innecesarias para mi... De buena onda te digo, trata de leer un libro para aprender ensamblador, los foros para mi son mas como una ayudita extra.. por eso lee, trata de digerir y despues veni  Exacto! Es que no terminaba de entender invoke... usaré call(?)
|
|
|
En línea
|
La verdad nos hará libres
|
|
|
Eternal Idol
Kernel coder
Moderador
 
Desconectado
Mensajes: 5.969
Israel nunca torturó niños, ni lo volverá a hacer.
|
Si, es lo mismo, primero te puse el codigo con invoke y abajo su equivalente en instrucciones del microprocesador.
Ir rapidisimo es una mala idea, no se puede correr sin saber caminar, primero tenes que aprender a gatear.
Si lo que buscas es una relacion con C/C++ no hay nada standard en assembly y el codigo no es portable. invoke estara o no disponible dependiendo del ensamblador que uses.
|
|
|
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
|
|
|
E.P.I.
Desconectado
Mensajes: 346
elprogramadorinformatico [E.P.I.]
|
Si, es lo mismo, primero te puse el codigo con invoke y abajo su equivalente en instrucciones del microprocesador.
Ir rapidisimo es una mala idea, no se puede correr sin saber caminar, primero tenes que aprender a gatear.
Si lo que buscas es una relacion con C/C++ no hay nada standard en assembly y el codigo no es portable. invoke estara o no disponible dependiendo del ensamblador que uses.
Ok! Mejor, como ha dicho 08|L00D, me estudio primero las instrucciones. No es que quiera correr, me he rectificado en la última frase, perdón si no se ha notado... PD: utilizo FASM, pero primero a las instrucciones!
|
|
|
En línea
|
La verdad nos hará libres
|
|
|
|
|