Gaming Community
Forum
 
Go Back   D3scene > Hot Games > Warcraft 3 forum > Warcraft 3 Hacks
Register Blogs Live view Downloads Marketplace FAQ Members List Social Groups Calendar Search Today's Posts Mark Forums Read

Simple Maphack - OpenSource - Delphi

This is a discussion on Simple Maphack - OpenSource - Delphi within the Warcraft 3 Hacks forum part of the Warcraft 3 forum category; hello, some weeks ago I decided to make a maphack myself and since I didn't have any source of other ...


Welcome on D3scene.com! Make sure to register - it's free and very quick! You have to register before you can post and participate in our discussions with 70000 other registered members. Downloads, user profiles and some forums can only be seen by registered members. After you create your free account you will be able to customize many options, you will have the full access to new hacks, latest cheats and last but not least will see no advertisements at all. We would love to see you around in our community!
Reply
 
LinkBack Thread Tools Display Modes
  #1  
Old 08-02-2008, 05:52 AM
Wannabe Member

 
Join Date: Jan 2008
Location: germany
Posts: 13
Thanks: 0
Thanked 0 Times in 0 Posts
Reputation: 18
Rep Power: 2
Ygasmy is on a distinguished road
Send a message via ICQ to Ygasmy
Simple Maphack - OpenSource - Delphi

hello,
some weeks ago I decided to make a maphack myself and since I didn't have any source of other Maphacks I started from nothing and after 4 hours of trying i finally got my maphack working. (well, nothing = being a programmer for 8 years now)

It's not the best one and it's also highly detectable so DO NOT use it on ladder games - or even better - refrain from using it at all. I made it just to see how maphacks work and if I can compete with other so called "advanced hackers".

It's coded in delphi because I was too lazy to install/download any IDEs/compilers for C++ and the Delphi IDE was already installed on my pc.
If you can't code pascal/delphi but C++ it should be kinda easy to translate this into C++ because the main commands are windows APIs, how they work can be researched in the MSDN:

MSDN: Microsoft Developer Network


Bare source of my program, having just a single button on the form:

Code:
{
 This program was written on 14th July 2008.
 Original Author: tndz
 I did NOT rip ANY code off other maphacks or hacks
 nor did I use any tutorial which has something to
 do with game-hacking/cracking or whatsoever. This
 program-source was made by me, though the DebugPrivilege
 part and some infos on how to use WriteProcessMemory were
 taken from the MSDN (microsoft developer network) and
 Joachim Rohde and Marcus Roming's book "Assembler".
}


unit maphack;

interface

uses
  Windows, SysUtils, Controls, Forms, StdCtrls, ExtCtrls, Classes,
  Graphics;

type
  TmainF = class(TForm)
    btn_on: TButton;
    procedure btn_onClick(Sender: TObject);
    function SetDebugPrivilege: Boolean;
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  mainF: TmainF;



implementation

{$R *.dfm}

procedure TmainF.btn_onClick(Sender: TObject);
var
  Wc3: Hwnd;                                                           //declaring variables
  ProcessId: Integer;
  Bytes: Cardinal;
  Stat: array of Byte;
begin
setlength(stat,2);                                                     //declare our array (could also have used 3 different variables or reassign values)
SetDebugPrivilege;                                                     //grant our process Debug-rights (important!)
wc3 := FindWindow (nil,'Warcraft III');                                //find wc3 handle
GetWindowThreadProcessId(Wc3, @ProcessId);                             //find PID by Phandle
wc3 := OpenProcess(PROCESS_ALL_ACCESS, False, ProcessId);              //open wc3 process with all rights
Bytes := 1;                                                            //not needed for this tbh
                                                                        {
                                                                        We need to store what we want to write
                                                                        in a variable(array) first. Byte variable
                                                                        in Delphi is 0..255, decimal-system. Since
                                                                        we want to write into memory, we need hex-values.
                                                                        I just calculated them from hex to decimal via
                                                                        windows calculator instead of recalculating them
                                                                        via program-code.
                                                                        }

stat[0] := 185;                                                        //185 = B9h
stat[1] := 15;                                                         //15 = Fh
stat[2] := 00;                                                         //00 = 0h
                                                                        {
                                                                         B9 0F 00 is part of
                                                                         MOV ECX,000F
                                                                         which means:
                                                                         COPY 000F into ECX
                                                                         so what we do is:
                                                                         we overwrite a part of
                                                                         the drawing engine which
                                                                         checks if a unit is visible
                                                                         to a player or not.
                                                                        }
WriteProcessMemory(wc3, ptr($6F3A0474), @Stat[0], 1, Bytes);          //write first bytepair
WriteProcessMemory(wc3, ptr($6F3A0475), @Stat[1], 1, Bytes);          //2nd
WriteProcessMemory(wc3, ptr($6F3A0476), @Stat[2], 1, Bytes);          //3rd
end;


function TmainF.SetDebugPrivilege: Boolean;
var
  hToken: THandle;
  TP: TTokenPrivileges;
  lpLuid: TLargeInteger;
  dwReturnLength: DWORD;
begin
  Result := False;
  if OpenProcessToken(GetCurrentProcess, TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY, hToken) then
  begin
    if LookupPrivilegeValue(nil, 'SeDebugPrivilege', lpLuid) then
    begin
      TP.PrivilegeCount := 1;
      TP.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED;
      TP.Privileges[0].Luid := lpLuid;
      Result := AdjustTokenPrivileges(hToken, False, TP, sizeof(TP), nil, dwReturnLength);
    end;
    CloseHandle(hToken);
  end;
end;

end.
Here is the PE (aka .exe) compiled with this source. (I added a picture though :p)
RapidShare: Easy Filehosting
http://www.megaupload.com/?d=5OTH8YED
(MD5: 81899ffa99e7246b7e6192bdbe16a8f3)

Since I don't trust anyone posting results of malware scanners, download it and go check it on virusscan.jotti.org, its only 172kb in size (packed).


cya,
tndz aka Ygasmy.

Last edited by Ygasmy; 09-21-2008 at 03:41 PM.
Reply With Quote
D3scene
Welcome to D3scene - probably the best location for all Gamers.

To participate in our friendly environment you have to register. After completing registration you will have full access to all threads and features. We care about members and try to make your stay as pleasant as possible. We are unique with the following feature for members - you will not see a single Advertisement!


The best: registration is completely free. It will not cost you a single penny or harm you in any way. You will lose nothing except 1 minute of your time. So why not register? We would be happy to see you around!
  #2  
Old 08-02-2008, 02:03 PM
Guru
 
Join Date: May 2008
Posts: 86
Thanks: 0
Thanked 0 Times in 0 Posts
Reputation: 22
Rep Power: 0
safd is on a distinguished road
edit:gj ^^

Last edited by safd; 08-04-2008 at 07:20 PM.
Reply With Quote
  #3  
Old 08-02-2008, 06:50 PM
Wannabe Member

 
Join Date: Jan 2008
Location: germany
Posts: 13
Thanks: 0
Thanked 0 Times in 0 Posts
Reputation: 18
Rep Power: 2
Ygasmy is on a distinguished road
Send a message via ICQ to Ygasmy
edit: ty :p

Last edited by Ygasmy; 09-11-2008 at 06:58 PM. Reason: answer to a deleted post != useful
Reply With Quote
  #4  
Old 08-04-2008, 10:16 AM
Banned User

 
Join Date: Mar 2008
Location: NET
Posts: 396
Thanks: 0
Thanked 0 Times in 0 Posts
Reputation: 54
Rep Power: 0
PinkHair will become famous soon enough
Send a message via MSN to PinkHair
gj , thank you.
Reply With Quote
  #5  
Old 08-10-2008, 12:51 AM
Member

 
Join Date: Aug 2008
Location: Western Australia
Posts: 35
Thanks: 0
Thanked 0 Times in 0 Posts
Reputation: 14
Rep Power: 2
Wilfred is on a distinguished road
You could make a tutorial on how to make and compile your own maphack.
Reply With Quote
  #6  
Old 09-05-2008, 04:18 PM
Wannabe Member

 
Join Date: Sep 2008
Posts: 12
Thanks: 0
Thanked 0 Times in 0 Posts
Reputation: 0
Rep Power: 2
UnrealPwner12 is an unknown quantity at this point
c++

can i have this in C++

can u convert it and show me the source code
Reply With Quote
  #7  
Old 09-10-2008, 06:51 AM
TyranO's Avatar
Codemotion.net




 
Join Date: Aug 2008
Location: Azeroth
Posts: 320
Thanks: 15
Thanked 110 Times in 30 Posts
Reputation: 1064
Rep Power: 7
TyranO has much to be proud ofTyranO has much to be proud ofTyranO has much to be proud ofTyranO has much to be proud ofTyranO has much to be proud ofTyranO has much to be proud ofTyranO has much to be proud ofTyranO has much to be proud of
Good work.
Reply With Quote
  #8  
Old 09-10-2008, 01:00 PM
Banned User
 
Join Date: Dec 2007
Location: I live in a small village up north in Norway, Called Beiarn (Google pictures it!)
Posts: 302
Thanks: 0
Thanked 0 Times in 0 Posts
Reputation: 260
Rep Power: 0
Bendik is a jewel in the roughBendik is a jewel in the roughBendik is a jewel in the rough
Send a message via ICQ to Bendik Send a message via AIM to Bendik Send a message via MSN to Bendik Send a message via Yahoo to Bendik Send a message via Skype™ to Bendik
This one is undetected at the moment. As Warden is not active at all, SO in other words: It is impossible to make a detectable maphack atm
Reply With Quote
  #9  
Old 09-10-2008, 04:49 PM
Reinn's Avatar
Multi-qouter


 
Join Date: May 2008
Location: Denmark
Posts: 1,739
Thanks: 59
Thanked 72 Times in 32 Posts
Reputation: 1540
Rep Power: 9
Reinn has a brilliant futureReinn has a brilliant futureReinn has a brilliant futureReinn has a brilliant futureReinn has a brilliant futureReinn has a brilliant futureReinn has a brilliant futureReinn has a brilliant futureReinn has a brilliant futureReinn has a brilliant futureReinn has a brilliant future
Send a message via MSN to Reinn
Nice one bendik So you can use Shadowfrench in ladder? Or someone you MAKE now ? O_O
Reply With Quote
  #10  
Old 09-10-2008, 05:13 PM
Banned User
 
Join Date: Dec 2007
Location: I live in a small village up north in Norway, Called Beiarn (Google pictures it!)
Posts: 302
Thanks: 0
Thanked 0 Times in 0 Posts
Reputation: 260
Rep Power: 0
Bendik is a jewel in the roughBendik is a jewel in the roughBendik is a jewel in the rough
Send a message via ICQ to Bendik Send a message via AIM to Bendik Send a message via MSN to Bendik Send a message via Yahoo to Bendik Send a message via Skype™ to Bendik
Yeah you can use Shadowfrench or any other hack you want.

And i am working on BMap v4.0 (:
Reply With Quote
D3scene
Welcome to D3scene - probably the best location for all Gamers.

To participate in our friendly environment you have to register. After completing registration you will have full access to all threads and features. We care about members and try to make your stay as pleasant as possible. We are unique with the following feature for members - you will not see a single Advertisement!


The best: registration is completely free. It will not cost you a single penny or harm you in any way. You will lose nothing except 1 minute of your time. So why not register? We would be happy to see you around!
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
MousePad's Maphack 7.2 [CRACKED] xHack Diablo 2 Hacks 3 08-01-2008 09:13 AM


All times are GMT +1. The time now is 12:53 AM.

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.3.0 ©2009, Crawlability, Inc.
vBulletin style developed by Transverse Styles