| View previous topic :: View next topic |
| Author |
Message |
tanjiajun_34 Grandmaster Cheater
Reputation: 0
Joined: 16 Feb 2006 Posts: 786 Location: Singapore
|
Posted: Wed Jun 17, 2009 10:40 pm Post subject: Asm delphi help |
|
|
How do I run the asm script that edit other application memory.
I don't 1 to use a dll and inject to the process but I have a external application.
|
|
| Back to top |
|
 |
Slugsnack Grandmaster Cheater Supreme
Reputation: 71
Joined: 24 Jan 2007 Posts: 1857
|
Posted: Thu Jun 18, 2009 6:49 am Post subject: |
|
|
| write the asm in a procedure. get the address of that procedure and how long it is. then use writeprocessmemory with those parameters
|
|
| Back to top |
|
 |
&Vage Grandmaster Cheater Supreme
Reputation: 0
Joined: 25 Jul 2008 Posts: 1053
|
Posted: Thu Jun 18, 2009 11:33 am Post subject: |
|
|
| Slugsnack wrote: | | write the asm in a procedure. get the address of that procedure and how long it is. then use writeprocessmemory with those parameters |
Assuming it's a codecave, I doubt you can just use WPM. You'll have to use VirtualAllocEx. Thought you said you knew WinAPIS?
|
|
| Back to top |
|
 |
Slugsnack Grandmaster Cheater Supreme
Reputation: 71
Joined: 24 Jan 2007 Posts: 1857
|
Posted: Thu Jun 18, 2009 11:56 am Post subject: |
|
|
| assuming it's a codecave i doubt he can just use VirtualAllocEx. i guess he gotta get the handle first, one way would be EnumProcesses. thought you said you knew winapis ?!
|
|
| Back to top |
|
 |
&Vage Grandmaster Cheater Supreme
Reputation: 0
Joined: 25 Jul 2008 Posts: 1053
|
Posted: Thu Jun 18, 2009 12:39 pm Post subject: |
|
|
Never said I did. You just contradicted yourself, you said use WriteProcessMemory which requires the process's handle which of course if you are making a codecave you'll need VirtualAllocEx also.
http://msdn.microsoft.com/en-us/library/ms682629(VS.85).aspx
Don't see how EnumProcess will directly get you the handle, it will only give you an array of the a bunch of PIDs.
EnumProcess will indirectly give you the handle once you call OpenProcess, that is if you somehow can get the PID of the process you want using EnumProcess.
|
|
| Back to top |
|
 |
Slugsnack Grandmaster Cheater Supreme
Reputation: 71
Joined: 24 Jan 2007 Posts: 1857
|
Posted: Thu Jun 18, 2009 2:08 pm Post subject: |
|
|
omg you're a complete retard.. it's like if someone told you to get a fruit seed and i told you to get an apple then you'd be like OMG BUT I ONLY GET AN APPLE I NEED A SEED !!!
if we're gonna use your point that X implies Y then writing a procedure to another process implies allocating memory first. i just assumed not everybody is like you and needs each baby step given to them. i gave him the main concept expecting him to figure the rest out which was self-explanatory and follows from what i gave him
i guess a 'coder' like you would prefer a picture tutorial though..
|
|
| Back to top |
|
 |
&Vage Grandmaster Cheater Supreme
Reputation: 0
Joined: 25 Jul 2008 Posts: 1053
|
Posted: Thu Jun 18, 2009 9:00 pm Post subject: |
|
|
| Slugsnack wrote: | omg you're a complete retard.. it's like if someone told you to get a fruit seed and i told you to get an apple then you'd be like OMG BUT I ONLY GET AN APPLE I NEED A SEED !!!
if we're gonna use your point that X implies Y then writing a procedure to another process implies allocating memory first. i just assumed not everybody is like you and needs each baby step given to them. i gave him the main concept expecting him to figure the rest out which was self-explanatory and follows from what i gave him
i guess a 'coder' like you would prefer a picture tutorial though.. |
...Soooo you're just going to write a procedure to an address of the process? Make sure it's in one of the process's running thread so it'll even run, also make sure it throw any exceptions either, you should know exception handling right? You were bragging about it on GzN. Ohhhh or are you saying you inject the procedure into an allocated memory? That's like buying house and not buying the land, fucking useless. BTW apples have seeds in them.
|
|
| Back to top |
|
 |
gunminiho Expert Cheater
Reputation: 0
Joined: 15 Dec 2008 Posts: 144 Location: peru
|
Posted: Thu Jun 18, 2009 11:13 pm Post subject: |
|
|
i think hes trying to make a trainer with a asm instruction, im not sure about it but you can write your code cave and your jumo to ur function and do CreateRemoteThread to inject your code well its a idea since, im trying to do that for a dll.
| Code: | function CreateRemoteThread (hProcess : Integer;
var lpThreadAttributes : SECURITY_ATTRIBUTES;
dwStackSize : Integer;
var lpStartAddress : Integer;
var lpParameter : Pointer;
dwCreationFlags : Integer;
var lpThreadId : Integer) : Integer;
stdcall; external 'kernel32' name 'CreateRemoteThread' |
but i use CreateThread for do that so if you're using a standalone app you can try that
|
|
| Back to top |
|
 |
&Vage Grandmaster Cheater Supreme
Reputation: 0
Joined: 25 Jul 2008 Posts: 1053
|
Posted: Fri Jun 19, 2009 10:20 am Post subject: |
|
|
| gunminiho wrote: | i think hes trying to make a trainer with a asm instruction, im not sure about it but you can write your code cave and your jumo to ur function and do CreateRemoteThread to inject your code well its a idea since, im trying to do that for a dll.
| Code: | function CreateRemoteThread (hProcess : Integer;
var lpThreadAttributes : SECURITY_ATTRIBUTES;
dwStackSize : Integer;
var lpStartAddress : Integer;
var lpParameter : Pointer;
dwCreationFlags : Integer;
var lpThreadId : Integer) : Integer;
stdcall; external 'kernel32' name 'CreateRemoteThread' |
but i use CreateThread for do that so if you're using a standalone app you can try that |
...wat? You wouldn't write a whole procedure for one asm instruction...
|
|
| Back to top |
|
 |
Slugsnack Grandmaster Cheater Supreme
Reputation: 71
Joined: 24 Jan 2007 Posts: 1857
|
Posted: Fri Jun 19, 2009 3:53 pm Post subject: |
|
|
ignore the idiot in the post above me. of course an asm procedure doesn't imply more than 1 asm instruction
i guess void's type require a picture tutorial to handhold them through that complex concept though.. as i said ignore him, he's talking out of his ass
|
|
| Back to top |
|
 |
&Vage Grandmaster Cheater Supreme
Reputation: 0
Joined: 25 Jul 2008 Posts: 1053
|
Posted: Fri Jun 19, 2009 8:31 pm Post subject: |
|
|
| Slugsnack wrote: | ignore the idiot in the post above me. of course an asm procedure doesn't imply more than 1 asm instruction
i guess void's type require a picture tutorial to handhold them through that complex concept though.. as i said ignore him, he's talking out of his ass | How am I talking out of my ass, everything I said was true. Even the part where you needed VirtuaAllocEx to write a codecave, an idiot like you can't comprehend that?
|
|
| Back to top |
|
 |
gunminiho Expert Cheater
Reputation: 0
Joined: 15 Dec 2008 Posts: 144 Location: peru
|
Posted: Fri Jun 19, 2009 9:37 pm Post subject: |
|
|
OK OK guys stop fighting and help him
you ; are saying that he needs to call VirtualAllocEx ( since hes working in another process ) and after what?
and Slugsnack, are you telling him that do:
procedure lol; stdcall;
asm
<code>
end;
then do a change of bytes of addy ( the one will jump to codecave ) ?
|
|
| Back to top |
|
 |
&Vage Grandmaster Cheater Supreme
Reputation: 0
Joined: 25 Jul 2008 Posts: 1053
|
Posted: Fri Jun 19, 2009 10:09 pm Post subject: |
|
|
| gunminiho wrote: | OK OK guys stop fighting and help him
you ; are saying that he needs to call VirtualAllocEx ( since hes working in another process ) and after what?
and Slugsnack, are you telling him that do:
procedure lol; stdcall;
asm
<code>
end;
then do a change of bytes of addy ( the one will jump to codecave ) ? |
No it need's to be naked.
|
|
| Back to top |
|
 |
Slugsnack Grandmaster Cheater Supreme
Reputation: 71
Joined: 24 Jan 2007 Posts: 1857
|
Posted: Fri Jun 19, 2009 10:19 pm Post subject: |
|
|
| no it doesn't i'll code an example for you tomorrow, it's 5:10am here and i need to start packing my shit
|
|
| Back to top |
|
 |
smartz993 I post too much
Reputation: 2
Joined: 20 Jun 2006 Posts: 2013 Location: USA
|
Posted: Fri Jun 19, 2009 10:21 pm Post subject: |
|
|
| ; wrote: | | gunminiho wrote: | OK OK guys stop fighting and help him
you ; are saying that he needs to call VirtualAllocEx ( since hes working in another process ) and after what?
and Slugsnack, are you telling him that do:
procedure lol; stdcall;
asm
<code>
end;
then do a change of bytes of addy ( the one will jump to codecave ) ? |
No it need's to be naked. |
Why don't you stop posting in a Delphi topic since you obviously know nothing about it.
1. Delphi doesn't have naked functions.
2. Any functions in delphi whose calling convention is stdcall, and who doesn't have any parameters does not contain a preamble
|
|
| Back to top |
|
 |
|