

![]() |
![]() |
|
|||||||
![]() |
![]() |
| Reverse Engineering Game hacking discussion and open source development. |
![]() |
|
|
LinkBack | Thread Tools |
![]() |
![]() |
|
|
#1 (permalink) |
![]() ![]() Deviant Join Date: Dec 2007
Posts: 115
![]() |
I was hacking starcraft's screen data and made a mistake. This what happened. It works perfect except for the size and the mini-screen in the corner. Usually it crashes, but this time I couldn't believe my eyes.
![]()
__________________
|
|
|
|
![]() |
![]() |
|
Advertisement
|
|
![]() |
![]() |
|
|
#5 (permalink) |
|
Banned
![]() ![]() Deviant Join Date: Oct 2005
Location: www.w3jsp.com
Posts: 49
![]() |
I'm just curious. I, for myself, don't see any motivation in hacking starcraft because this game is basicly reversed. Every kind of hack has been out for this game. However, I didn't try to offend anyone, I am just a bit confused. ;)
|
|
|
|
![]() |
![]() |
![]() |
![]() |
|
|
#6 (permalink) |
![]() ![]() ![]() ![]() ![]() Zealot |
Every hack has not been out yet. Have you ever seen many of these?
Clicky And I've done something similar to that with unit sprites, which goes to show, it definitely is possible to change the game's resolution. But my sprite thing made the sprites get stretched out sideways like they were getting torn apart.
__________________
|
|
|
|
![]() |
![]() |
![]() |
![]() |
|
|
#8 (permalink) | |
![]() ![]() Deviant Join Date: Dec 2007
Posts: 115
![]() |
Quote:
I finished the screen data hook and now my functions print the screen. I just need to plug the correct data into the discrepancy arrays.
__________________
|
|
|
|
|
![]() |
![]() |
![]() |
![]() |
|
|
#9 (permalink) | |
|
Banned
![]() ![]() Deviant Join Date: Oct 2005
Location: www.w3jsp.com
Posts: 49
![]() |
Quote:
Just by the way, why don't you call starcraft's own draw routines? Even better, why don't you write your own Starcraft client? |
|
|
|
|
![]() |
![]() |
![]() |
![]() |
|
|
#10 (permalink) | |
![]() ![]() Deviant Join Date: Dec 2007
Posts: 115
![]() |
Quote:
__________________
|
|
|
|
|
![]() |
![]() |
![]() |
![]() |
|
|
#12 (permalink) | |
![]() ![]() Deviant Join Date: Dec 2007
Posts: 115
![]() |
Quote:
However by changing 2 pointers the screen is all configured in my off-screen array and the rectangle that is being updated at the time is mine. One of starcraft's ddraw functions was written in ASM by hand. This function stops the game play screen from writing over the command bar. I am basically using it a as blue print.
__________________
|
|
|
|
|
![]() |
![]() |
![]() |
![]() |
|
|
#14 (permalink) |
![]() ![]() Deviant Join Date: Dec 2007
Posts: 115
![]() |
Here is a basic structure of how my hacks will print stuff on the screen.
Code:
void MakeHackScreen()
{
if(!FindWND)
{
hWnd = FindWindowA(TheClassName,TheWindowName);
GetClientRect(hWnd,&ClientRect);
FindWND = TRUE;
}
// ADD to screen.
hDC = GetDC(hWnd);
// printing fuctions go here
DrawTextA( hDC,"hey",-1,&ClientRect,(DT_CENTER | DT_TOP | DT_SINGLELINE));// Must be called 2 times to lock.
LoadAndMark_Screen(&ClientRect); // Loads data to array2 and ORs the lowest red bit.
// printing fuctions go here
DrawTextA( hDC,"hey",-1,&ClientRect,(DT_CENTER | DT_TOP | DT_SINGLELINE));// Must be called 2 times to lock.
TestAndUnMark_Screen(&ClientRect); // Marks everything equal in discrepancies1 and ORs the lowest red bit.
ReleaseDC(hWnd,hDC);
// DELETE from screen.
Reset_UpdateScreen(&ClientRect); // Removes hack data from the screen.
return;
__________________
Last edited by hellinsect : 08-18-2008 at 06:12 AM. |
|
|
|
![]() |
![]() |
![]() |
![]() |
|
|
#15 (permalink) | |
|
Loading javascript...
Senior Member
Moderator ![]() Inquisitor |
Quote:
|
|
|
|
|
![]() |
![]() |
![]() |
![]() |
|
|
#16 (permalink) |
![]() ![]() Deviant Join Date: Dec 2007
Posts: 115
![]() |
Starcraft DEFINES all of its colors in the graphics card. The way they are defined is very wired. Like I was going down the list printing each one, a lot of the blue ones blink. This is for the water believe it of not. API calls work, but the colors are all out of whack and you have to play with them until you get the correct colors you want. Apart from that, the locking code works great.
__________________
|
|
|
|
![]() |
![]() |
![]() |
![]() |