PDA

View Full Version : Learning to hack



Executor[Sw]
12-16-2004, 10:45 AM
Ok, this is supposed to be the best starcraft hacking site on the web, yet all ive seen is about 5 public hacks and 2 tutorials on a basic mineral hack.
so...
can anyone refer me to a site where i can learn the coding and the principles to hacking, or can anyone just take their precious time and hlep teach me?
I like this site because of the forums and chance to meet other people who are intrested in this 'hobby', but other than that, i get little information other than what not to say, because people get flamed alot and/or banned.

back on topic:can anyone help the newb learn?

ps:im not stupid and learn fast, have created a single player mineral hack :) , but it doesnt work to well, mins go up exponentially, then go negative..

bulk_4me
12-16-2004, 11:00 AM
All I can say is that you wont find a site that will tell you..

..put this in your code and you'll have a maphack..
The most important things and the things you'll renember no mather what are the ones you learn by yourself, that shouldn't suggest that none needs help, everyone needs some help from time to time. By reading your post I think is quite obvious that you haven't successfully completed the basic mineral hack, the skills you learn/don't learn from the basics have a great impact in the future.. Just a thought.

Finally GHU (http://www.ghu.as.ro/) have some nice tutorials. If you are in the middle of a project post a specific question about your problem and more than one here will be glad to answer your question.

test-acc
12-16-2004, 11:10 AM
Most posts in the GHU forums are not english =( But another very good site is http://www.gamehacking.com

BWs_Master
12-16-2004, 11:19 AM
COOOOOOOOOOOOOOOOOOL
thx keenan

tymoney321
12-16-2004, 01:35 PM
']Ok, this is supposed to be the best starcraft hacking site on the web, yet all ive seen is about 5 public hacks and 2 tutorials on a basic mineral hack.
so...
can anyone refer me to a site where i can learn the coding and the principles to hacking, or can anyone just take their precious time and hlep teach me?
I like this site because of the forums and chance to meet other people who are intrested in this 'hobby', but other than that, i get little information other than what not to say, because people get flamed alot and/or banned.

back on topic:can anyone help the newb learn?

ps:im not stupid and learn fast, have created a single player mineral hack :) , but it doesnt work to well, mins go up exponentially, then go negative..

If you cant complete mineral hack then you shouldnt try to skip it and go on to something more advance. If your a fast learner cant you learn to do mineral hack and use google..Anyway good luck with your learning

test-acc
12-16-2004, 02:10 PM
Where did he say he couldnt make a mineral hack? He was just asking for other sites that relate in gamehacking. Which will then improve his capabilities further.

Executor[Sw]
12-16-2004, 09:54 PM
thanks for all the sites guys :)

MarcX
12-17-2004, 02:47 AM
thanks for all the sites guys ^.^

Executor[Sw]
12-17-2004, 02:50 PM
']Ok, this is supposed to be the best starcraft hacking site on the web, yet all ive seen is about 5 public hacks and 2 tutorials on a basic mineral hack.
so...
can anyone refer me to a site where i can learn the coding and the principles to hacking, or can anyone just take their precious time and hlep teach me?
I like this site because of the forums and chance to meet other people who are intrested in this 'hobby', but other than that, i get little information other than what not to say, because people get flamed alot and/or banned.

back on topic:can anyone help the newb learn?

ps:im not stupid and learn fast, have created a single player mineral hack :) , but it doesnt work to well, mins go up exponentially, then go negative..
ADD ON:

I nopde out the line that tells sc to subtract minerals when i build something, and change it from

mov [eax+0x4FD4A0],edx

to

add [eax+0x4FD4A0],edx

is this right or what do i change the "add" to?
because my minerals go up exponentially, and then they go to -4000000 something...
please help

Titan
12-17-2004, 02:58 PM
']ADD ON:

I nopde out the line that tells sc to subtract minerals when i build something, and change it from

mov [eax+0x4FD4A0],edx

to

add [eax+0x4FD4A0],edx

is this right or what do i change the "add" to?
because my minerals go up exponentially, and then they go to -4000000 something...
please help
Something doesn't seem right up there. Mov is the same thing as "=", you're not adding anything. If you look up more there is probably an add function somewhere.

Gosh dang, I'm a nice guy. So basically this is what you do, you found your minerals, and you built a guy. You got that mov [eax+0x4FD4A],edx. That is putting "edx" into your minerals. Therefore, an SUB function has already [email protected] All you have to do is scroll up one line, and you'll find that sub. :)
401F73 - sub edx,ecx <-- THIS IS WHERE IT SUBTRACTS
401F75 - mov dword ptr [eax+004FD4A0],edx <-- This is where it adds the new number (after subtracting) into your current minerals

So, just change "sub edx,ecx" to "add edx,ecx" and VOILA you have your mineral hack that ADDS when you try to build something, instead of subtracting. Now am I a nice guy or what. :D

Fish Beans
12-17-2004, 04:25 PM
Heh, I get PMs about that sort of thing constantly. People either scroll down instead of up, scroll too far, or not at all.

Titan
12-17-2004, 05:05 PM
Heh, I get PMs about that sort of thing constantly. People either scroll down instead of up, scroll too far, or not at all.
Lol, I just skimmed over your DMA tutorial, and I notice that you say the exact same thing I just said in my above post. :lol: Now I'm confused at why "Executor[Sw]" didn't get this...

Executor[Sw]
12-17-2004, 06:43 PM
omfg im such a moron... thank you for the help guys:)

Executor[Sw]
12-17-2004, 06:58 PM
Something doesn't seem right up there. Mov is the same thing as "=", you're not adding anything. If you look up more there is probably an add function somewhere.

Gosh dang, I'm a nice guy. So basically this is what you do, you found your minerals, and you built a guy. You got that mov [eax+0x4FD4A],edx. That is putting "edx" into your minerals. Therefore, an SUB function has already [email protected] All you have to do is scroll up one line, and you'll find that sub. :)
401F73 - sub edx,ecx <-- THIS IS WHERE IT SUBTRACTS
401F75 - mov dword ptr [eax+004FD4A0],edx <-- This is where it adds the new number (after subtracting) into your current minerals

So, just change "sub edx,ecx" to "add edx,ecx" and VOILA you have your mineral hack that ADDS when you try to build something, instead of subtracting. Now am I a nice guy or what. :D


2 problems...
1. the mov line is the top one, and
2. i found the sub line and changed it to add, but it didnt work, like sc never uses that line of code... :(

Fish Beans
12-17-2004, 07:00 PM
Don't double post.

Executor[Sw]
12-17-2004, 07:29 PM
oops sorry. didnt notice that...
just fyi... one post was like 8 hours before the other...

MarcX
12-18-2004, 02:18 AM
:Executor There's an edit function.

:Everyone But I'ma try and make a mineral hack in ollydbg without a tutorial now. If I phail miserably, I'll read the tutorial. And THEN I'll come ask silly questions here (if tutorial doesn't fix it). Yes, I'm a nice newb.

Basically, this is what I'll try to do:

single player mode(duh)

search for 50
has not changed
has not changed
has not changed

search for 58 after mining 8 minerals
has not changed
has not changed
has not changed

etc

I'll eventually end up with the address for my mineral right? Right. I'll try it rite now!

test-acc
12-18-2004, 05:09 AM
Not reading a tutorial first? Whats the point of that? The tutorials dont spoon feed you the offsets or anything like that, they just give you guidelines.

Search for 50.
Mine to 58.
Filter to 58.
Mine to 66.
Filter to 66.
etc etc

Then you get your address. Ta da! =)

Fish Beans
12-18-2004, 07:21 AM
There's no reason to do "not changed" searches if you know the exact value and are able to consistently change that value. Unknown value searches take longer than known value searches, and do not eliminate as many addresses. Use them as a last resort only.

MarcX
12-18-2004, 12:27 PM
Mkay. I found that out soon enough ^^ Anyway, I got my mineral hack to work (command line, har har, I can't do gui's yet in C++, nor can I intercept commands/hotkeys yet), but being the perfectionist that I am I wanted to change it.

I want the minerals to flow normally, while you still are able to build whatever the hell you want. I suppose I need to find a 'jump if greater than' or a 'jump if smaller than' somewhere near the subtraction of minerals. I'll try to find it myself and keep whoever is interested in my struggles up to date.

Titan
12-18-2004, 12:49 PM
Mkay. I found that out soon enough ^^ Anyway, I got my mineral hack to work (command line, har har, I can't do gui's yet in C++, nor can I intercept commands/hotkeys yet), but being the perfectionist that I am I wanted to change it.

I want the minerals to flow normally, while you still are able to build whatever the hell you want. I suppose I need to find a 'jump if greater than' or a 'jump if smaller than' somewhere near the subtraction of minerals. I'll try to find it myself and keep whoever is interested in my struggles up to date.
Easy enough... just NOP out the "sub edx,ecx". ;)
POKE 401F73 9090

Fish Beans
12-18-2004, 01:03 PM
I think what he meant was he wanted it to keep subtracting the minerals, but not check to see if you have enough. This is pretty simple, but when you go past 0, the mineral value will wrap around to the max, or go into the negatives, I can't remember which (it depends on whether or not the value is signed).

MarcX
12-19-2004, 02:08 AM
The value is signed. But I do not want it to subtract the minerals, I already found out how (I let it subtract but nopped out the mov ;/). But I want it not to check if you have enough. So that with the mineral hack on, you can build whatever you want, pay shit and stuff, and when you turn it off again it's like you never built anything, just mined all that time.

tymoney321
12-20-2004, 01:35 PM
Where did he say he couldnt make a mineral hack? He was just asking for other sites that relate in gamehacking. Which will then improve his capabilities further.

Obviously by all the questions he is asking about mineral hack he isn't complete. And since in his first post he stated it didnt work and messed with the minerals.


I think what he meant was he wanted it to keep subtracting the minerals, but not check to see if you have enough. This is pretty simple, but when you go past 0, the mineral value will wrap around to the max, or go into the negatives, I can't remember which (it depends on whether or not the value is signed).

I believe it goes to negatives.

Fish Beans
12-20-2004, 02:02 PM
Put a read breakpoint on the minerals. If it pops up immediately, just nop whatever it popped on, and keep doing that until it stops popping. Once it's stopped popping, go try to build something. It should pop up on the code that checks to see if you have enough minerals. There should be a jz or jnz a little after that. Depending on how it works, you may need to change that to a jmp or nop it. I'll let you figure out the specifics, I've already given ample assistance.

test-acc
12-20-2004, 02:17 PM
:o I must have misunderstood his post then, tymoney321. Thanks =)

Executor[Sw]
12-22-2004, 11:09 PM
well, iv learned how not to make hacks...lol..
i need some help with a maphack, iv found the addys, i think, but when i freeze a couple of them and type black sheep wall, they still go on or off, and the values go fron 0 when off to random numbers that are in the millions. i freese the line of code and use black sheep wall, and they change in the game( the lights go off), and so do all the values in the table (exept the ones i frose). but yhy dont the frozen ones stay light? can anyone help?


PS: sorry about the bad spelling... :(

llafnwod
12-22-2004, 11:20 PM
I believe it goes to negatives. Indeed, the values are unsigned.

Executor[Sw]
12-23-2004, 12:39 AM
ummm..
i knew the values are unsigned, but how does that help me?

edit: what the hell?
im not talking about the mineral hack anymore, im talking about a maphack
and why the addys dont freeze when i freeze them and type black sheep wall... :mad:

Titan
12-23-2004, 10:42 AM
']ummm..
i knew the values are unsigned, but how does that help me?

edit: what the hell?
im not talking about the mineral hack anymore, im talking about a maphack
and why the addys dont freeze when i freeze them and type black sheep wall... :mad:
Going from mineral hack to map hack, bold move but very hard. ;) I wouldn't suggest trying map hack, since it's more difficult then just TSearching black sheep wall.

Corsix
12-23-2004, 10:47 AM
']the values go fron 0 when off to random numbers that are in the millionsI've yet to try the SC maphack but I would have thought they used bytes not longs(4 bytes) in the map data...

Executor[Sw]
12-23-2004, 01:39 PM
Supposedly the addys for the maphack are in the 2 byte mode,
and it doesnt seem that hard to me, i just cant figure out yhy the addys dont freeze when i freeze them :(


and ya, it is a bold move... :)


oh and ummm... the only real problem (for me) is i cant program for shit.
C++ = EVIL

llafnwod
12-23-2004, 02:13 PM
']C++ = EVIL Hahahahaha. Yeah, but it's worth it. What tutorials have you used?

Titan
12-23-2004, 02:49 PM
Lol, he wants to learn to hack and he thinks C++ is "evil". :lol:

Executor[Sw]
12-23-2004, 02:51 PM
SOOOOOOO????......
just because i think C++ is evil doesnt mean im not willing to learn it...

Titan
12-23-2004, 03:02 PM
No, I agree C++ is evil.:D Unfortunately there is little documentation on assembly, and the Win API programmer's reference is in C++... Gotta learn to live with it just a little.;)

Poprocks
12-23-2004, 03:03 PM
heh... i got lost on the 2nd step of one of the eaiser tutoirals, forgot its name

Corsix
12-23-2004, 03:04 PM
I find that examples always help me learn:
My SC AI resource NULLifier (C++) (http://corsix.p2h.us/SC_NULLAI.txt)
Palomino's StarCraft Base Hook (C++) (http://www.bwhacks.com/forums/showthread.php?t=571)

llafnwod
12-23-2004, 03:11 PM
I find that examples always help me learn:
My SC AI resource NULLifier (C++) (http://corsix.p2h.us/SC_NULLAI.txt)
Palomino's StarCraft Base Hook (C++) (http://www.bwhacks.com/forums/showthread.php?t=571) Indeed. MSDN has far too few examples, it's always nice to find an upstanding citizen willing to put up some helpful code.

Executor[Sw]
12-23-2004, 04:17 PM
ok... back ot my topic...
would it be possible to use a maphack.dll to create my own via loading the maphack, searching the starcraft.exe and dll to find a set of duplicate addresses and use that to create my own?
insted of finding them through black sheep wall and the debugger?

llafnwod
12-23-2004, 05:47 PM
']ok... back ot my topic...
would it be possible to use a maphack.dll to create my own via loading the maphack, searching the starcraft.exe and dll to find a set of duplicate addresses and use that to create my own?
insted of finding them through black sheep wall and the debugger? Sure. Then when 1.12 comes around, you won't be able to make another one beause you JACKED THE OFFSETS. Ahem.
Making hacks is always better then stealing them. If you're going to do that, you may as well just use that maphack.

Executor[Sw]
12-23-2004, 09:48 PM
i dont want to "jack the offsets", i just want to know how they work.
i dont like the idea of stealing other peoples work either... so dont say i am
and either way i would be looking for the same thing in the same way, just i know where to look instead of looking in random dll's

TheTempest
12-23-2004, 10:17 PM
well there is a lot that the current maphacks have to do to prevent you from getting desynced, blizzard added a few "things" to spice things up for the hackers :)

I personaly still to this day am not fully sure as to how the maphack works, and since i dont use it, i really dont care that much.

MarcX
12-24-2004, 04:39 AM
Thanks, fish beans ^^ I think I got it working.

Could someone explain why EnumWindows doesn't Enum any windows at all half of the time, and when it does I can only get use GetClassName on them and not GetWindowText (returns 0)?

Edit: I figured I might as well post my code >.<


#include <stdlib.h>
#include <iostream.h>
#include <windows.h>

void die(
char * error,
int err
){
cout << endl << error;
system("pause > nul");
exit(err);
}

BOOL CALLBACK EnumWndProc(
HWND hWnd,
LPARAM lParam
){
char * className;
if (::GetClassName(hWnd, className, 100)) cout << className << "; ";
char * windowText;
if (::GetWindowText(hWnd, windowText, 100)) cout << windowText;
cout << endl;
return true;
}

int main(
){
LPARAM lParam;
if(!::EnumWindows(EnumWndProc, lParam)) die("EnumWindows Failed",1);
die("Succes!",0);

return 1;
}