Injecting commands

Started by EightyVice, Jun 09, 2017, 12:02 AM

Previous topic - Next topic

Shadow

This is a delicate subject that I am not willing to talk more about because it could lead to development of even more hacks (and I know how much Stormeus hates to patch exploits that lead to hacks such as the F1 hack...). There are forums dedicated to modding. Learn assembly and reverse engineering shall you attempt anything.
QuotePS:is trash is ur home language??

EK.IceFlake

Quote from: Shadow on Jun 11, 2017, 05:39 PMThis is a delicate subject that I am not willing to talk more about because it could lead to development of even more hacks
Because of a few evil people, all of us have to suffer. There is harm in it but the good is greater than the harm.

Quote from: Shadow on Jun 11, 2017, 05:39 PMThere are forums dedicated to modding. Learn assembly and reverse engineering shall you attempt anything.
The problem is that most people have a similar attitude and there isn't really anywhere we can learn about it.



I'll see what I can find on Youtube and the likes.

KAKAN

Seriously, you guys search them on Youtube?
oh no

EK.IceFlake

Quote from: KAKAN on Jun 12, 2017, 04:25 AMSeriously, you guys search them on Youtube?
What are you referring to by "them"? I'm talking about how to use a debugger.

maxorator

General debugging, reverse engineering and modding talk is okay. There's no point trying to limit it here as there are many places to find information about it. And it is good that this information is easily accessible as modding is something that should be encouraged.

Specific details about modding Vice City is also acceptable as long as the information is not specifically focused on providing easy copy-pasteable hacks (offsets to health, armor, places to NOP to disable all damage, etc).

However, if you're interested in these topics you should probably visit GTAForums&co just because they have a lot of content about it and a lot of people who deal with it (maybe not with VC so much anymore though).

As for VC:MP-specific reverse engineering, I would rather not have people share much details about it here. If you are developing some modification for your own personal use (which is fine as long as you don't use it on other people's servers), then you should already be proficient enough in reverse engineering and modding beforehand anyway to find functions and offsets on your own. Only the offsets and function locations are not enough to make anything of value anyway, so without general reverse engineering and programming skills you can't really make anything more than simple hacks or small visual changes anyway.

Sharing anything related to changing VC:MP visually on your side only (colors, graphics quality, etc) is totally fine though, unless of course the purpose is to see more than you are supposed to see.

EightyVice

Quote from: maxorator on Jun 12, 2017, 01:15 PMGeneral debugging, reverse engineering and modding talk is okay. There's no point trying to limit it here as there are many places to find information about it. And it is good that this information is easily accessible as modding is something that should be encouraged.

Specific details about modding Vice City is also acceptable as long as the information is not specifically focused on providing easy copy-pasteable hacks (offsets to health, armor, places to NOP to disable all damage, etc).

However, if you're interested in these topics you should probably visit GTAForums&co just because they have a lot of content about it and a lot of people who deal with it (maybe not with VC so much anymore though).

As for VC:MP-specific reverse engineering, I would rather not have people share much details about it here. If you are developing some modification for your own personal use (which is fine as long as you don't use it on other people's servers), then you should already be proficient enough in reverse engineering and modding beforehand anyway to find functions and offsets on your own. Only the offsets and function locations are not enough to make anything of value anyway, so without general reverse engineering and programming skills you can't really make anything more than simple hacks or small visual changes anyway.

Sharing anything related to changing VC:MP visually on your side only (colors, graphics quality, etc) is totally fine though, unless of course the purpose is to see more than you are supposed to see.
What can I say , thank you I was waiting your reply
The programming skills is good to make such a big mod but in reverse engineering I should start
In gtaforums there was a guy told me that you are pr0 reverse engineer any way
What programs you suggest me to use?
Is there any way to make a NPC shot? Can I get an address for that or I change the entire functions that seems like hell
We debug the game exe or the main DLL?
(All that questions not about GTAvc it in another game)
You made my day ;D

EK.IceFlake

Quote from: maxorator on Jun 12, 2017, 01:15 PMGeneral debugging, reverse engineering and modding talk is okay. There's no point trying to limit it here as there are many places to find information about it. And it is good that this information is easily accessible as modding is something that should be encouraged.

Specific details about modding Vice City is also acceptable as long as the information is not specifically focused on providing easy copy-pasteable hacks (offsets to health, armor, places to NOP to disable all damage, etc).

However, if you're interested in these topics you should probably visit GTAForums&co just because they have a lot of content about it and a lot of people who deal with it (maybe not with VC so much anymore though).

As for VC:MP-specific reverse engineering, I would rather not have people share much details about it here. If you are developing some modification for your own personal use (which is fine as long as you don't use it on other people's servers), then you should already be proficient enough in reverse engineering and modding beforehand anyway to find functions and offsets on your own. Only the offsets and function locations are not enough to make anything of value anyway, so without general reverse engineering and programming skills you can't really make anything more than simple hacks or small visual changes anyway.

Sharing anything related to changing VC:MP visually on your side only (colors, graphics quality, etc) is totally fine though, unless of course the purpose is to see more than you are supposed to see.
Agreed.

Security through obscurity is worse than no security.

Anyways, the reason why I wanted to know this is mainly due to humans' nature to seek knowledge since I don't like knowing things I don't know about and also because I want to create a multiplayer modification for educational purposes.

Mötley

The only thing I got off of this is a text injector.

Some program with hotkeys, Like 'F5', '1'.

F5 might enforce the automatically inputed key in game t/login [yoursecretepassword]

The user could press enter.

1 might be t/vehicle [somefavoriteVehID]

If you were thinking of something like this you could ask your favorite server owner to build a specialty program for there server commands.

From replacing the programs default password with the F5 key, To modifying the /vehicle [id].

Not saying you would do a login like that. Only specialty stuff. Didn't read the other posts :P

EightyVice

i got that static address ntdll.dll+DE410
what is the address of ntdl.dll how can i find it?

ysc3839

Quote from: Zeyad Ahmed on Jun 13, 2017, 05:21 AMi got that static address ntdll.dll+DE410
what is the address of ntdl.dll how can i find it?
Maybe you are wrong. ntdll.dll is a system dll.
Use GetModuleHandle("ntdll.dll") can get its base address.

EightyVice

Quote from: ysc3839 on Jun 13, 2017, 08:03 AM
Quote from: Zeyad Ahmed on Jun 13, 2017, 05:21 AMi got that static address ntdll.dll+DE410
what is the address of ntdl.dll how can i find it?
Maybe you are wrong. ntdll.dll is a system dll.
Use GetModuleHandle("ntdll.dll") can get its base address.
yea sorry
it was duke_base.dll any way
there is some problems like getting the base addresses as i said it like finding a needle in the hay!
even youtube tuts doesnt help !
is it easy to find a memory hacker to teamup
:v like how vcmp has team and so on ;v

EK.IceFlake

#26
I hacked vcmp-game.dll and made it reconnect me when I get kicked :)
The no-reconnect-after-kick was a feature I always hated anyways.
(no, I haven't given the patched DLL to anyone)

Took about 2 hours of searching good tutorials on youtube, about 1 hour of watching a tutorial I found to be quite informative, about 10 minutes doing what the tutorial told me to do, about 30 minutes to switch to and get familiar with x64dbg, about 30 more minutes to make it reconnect me after I get kicked and about 5 minutes of figuring out how to save the modified file. A grand total of about 255 minutes.

.

#27
Somehow I don't think anyone in this topic actually knows what's the point of it. Probably because the OP failed to be a bit more explicit about what he meant with certain therms that he used. This topic wen't from an ambiguous question to a debate on ethics.

What do you mean by "command"? Actually, scratch that. What do you think a command really is? I mean. It's just baffling to me that everything here seems to be about commands. Yes, you command the computer to do a lot of things. But I don't think meant it in that sense. So what do you really mean when you say "command"?  Can you define it? Can you describe it? Because there's a lot of ambiguity here.

  • I want to inject Squirrel code from a third party application. So, according to this. Squirrel code is just a command? Again, proves how little homework you've done before asking the question.
  • I want to inject assembly code that modifies the game logic from a third party application. So, according to this. Assembly code in your computer is just a bunch of commands? (technically yes. they're commands to the CPU. but again, I doubt you meant it in that sense)
  • So what in the actual f* do you mean with "command"? "commands" here, "commands" there. What kind of commands we're talking about?

Can you describe the actual process that you intend to understand by asking this question? Let us figure the main point of this question and then proceed to ethics and actually see if there's even an answer to this crap.

Why do you people always have to be so ambiguous? When you do that, you only prove that you don't know what you want. And the whole topic turns into this off-topic sh!t.

From what I could gather so far is that you want to make a bot that controls the player so you don't have to.
.

EightyVice

Quote from: . on Jun 14, 2017, 05:14 PMSomehow I don't think anyone in this topic actually knows what's the point of it. Probably because the OP failed to be a bit more explicit about what he meant with certain therms that he used. This topic wen't from an ambiguous question to a debate on ethics.

What do you mean by "command"? Actually, scratch that. What do you think a command really is? I mean. It's just baffling to me that everything here seems to be about commands. Yes, you command the computer to do a lot of things. But I don't think meant it in that sense. So what do you really mean when you say "command"?  Can you define it? Can you describe it? Because there's a lot of ambiguity here.

  • I want to inject Squirrel code from a third party application. So, according to this. Squirrel code is just a command? Again, proves how little homework you've done before asking the question.
  • I want to inject assembly code that modifies the game logic from a third party application. So, according to this. Assembly code in your computer is just a bunch of commands? (technically yes. they're commands to the CPU. but again, I doubt you meant it in that sense)
  • So what in the actual f* do you mean with "command"? "commands" here, "commands" there. What kind of commands we're talking about?

Can you describe the actual process that you intend to understand by asking this question? Let us figure the main point of this question and then proceed to ethics and actually see if there's even an answer to this crap.

Why do you people always have to be so ambiguous? When you do that, you only prove that you don't know what you want. And the whole topic turns into this off-topic sh!t.

From what I could gather so far is that you want to make a bot that controls the player so you don't have to.
yea injecting assemly code!
ok.
There is a game called Duke Nukem: Manhattan Project , I can spawn another player but when the man player got jetpack the other one get too i want to know how to inject assembly code to the game that make the NPC or the another spawned player that i cant control him to shoot and move to specific coordinates.
What i want is example to the assembly code that can be injected to do that,  and how that and so on!

.

#29
Well, in that case we're indeed talking about bots. So we really do need to get into ethics because... cheating. Regardless of how you look at it, that information leads straight to cheating. Definitely not you, I mean, you probably won't get any further than copying that example. Let alone compiling it, injecting it and maintaining it (updating offsets and adjusting for changes after each update).

At which point this topic does (or will) represent an "issue" to the developers. No matter how nice and OK they seem to be with it now. We're going to reach that point where they'll need deal with it in a less than friendly manner.
.