Cheat Engine Forum Index Cheat Engine
The Official Site of Cheat Engine
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 


iPromise Hacking Dll
Goto page 1, 2  Next
 
Post new topic   Reply to topic    Cheat Engine Forum Index -> General programming -> Binaries
View previous topic :: View next topic  
Author Message
iPromise
Grandmaster Cheater
Reputation: -1

Joined: 27 Jun 2009
Posts: 529
Location: Canada

PostPosted: Mon Jan 04, 2010 4:30 pm    Post subject: iPromise Hacking Dll Reply with quote

Hello

I've made a Dll in C++ which you can use in your VB projects, C# projects, Delphi Projects, etc. It contains functions of which is needed in the hacking world, and shorty I will explain them all. So first, let me list them down.


Code:

// HookHops
BOOL WINAPI iPromiseRules_VirtualProtectX(LPVOID lpAddress, SIZE_T dwSize, DWORD flNewProtect, PDWORD lpflOldProtect)
LRESULT WINAPI iPromiseRules_SendMessageX(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam)
SIZE_T WINAPI iPromiseRules_VirtualQueryX(LPCVOID lpAddress, PMEMORY_BASIC_INFORMATION lpBuffer, SIZE_T dwLength)
// Reading Functions
bool iPromiseRules_ReadByte(DWORD Address, int Value)
bool iPromiseRules_ReadChar(DWORD Address, char Value)
bool iPromiseRules_ReadShort(DWORD Address, short Value)
bool iPromiseRules_ReadUShort(DWORD Address, unsigned short Value)
bool iPromiseRules_ReadLong(DWORD Address, long Value)
bool iPromiseRules_ReadULong(DWORD Address, unsigned long Value)
bool iPromiseRules_ReadFloat(DWORD Address, int Value)
// Writing Functions
bool iPromiseRules_WriteByte(DWORD Address, BYTE Value)
bool iPromiseRules_WriteChar(DWORD Address, char Value)
bool iPromiseRules_WriteShort(DWORD Address, short Value)
bool iPromiseRules_WriteUShort(DWORD Address, unsigned short Value)
bool iPromiseRules_WriteLong(DWORD Address, long Value)
bool iPromiseRules_WriteULong(DWORD Address, unsigned long Value)
bool iPromiseRules_WriteFloat(DWORD Address, float Value)


Yes, I included some hookhops in there, hookhops for VirtualQuery, VirtualProtect and SendMessage, so now you can use these API's while for ex: GameGuard is open. For the reading functions for ex: iPromiseRules_ReadULong, it stands for read an unsigned long, if you use this function correctly it returns true, if you dont it returns false.

Enjoy it.

Example in VB

Visual Basic

Code:

Public Declare Function iPromiseRules_ReadByte Lib "iPromise Functions.dll" (ByVal Address As Long, ByVal Value As Integer) As Boolean

Public Function Read()
Dim Read2 As Boolean = iPromiseRules_ReadByte(&H00400000, 1)

If Read2 = True Then
MsgBox("True")
End If

End Function


Download:

http://www.ziddu.com/download/8019228/iPromise.zip.html

P.S. Make sure your dll is already injected into your target process


Last edited by iPromise on Mon Jan 04, 2010 7:46 pm; edited 1 time in total
Back to top
View user's profile Send private message MSN Messenger
hcavolsdsadgadsg
I'm a spammer
Reputation: 26

Joined: 11 Jun 2007
Posts: 5801

PostPosted: Mon Jan 04, 2010 4:39 pm    Post subject: Reply with quote

why don't you just accept a void pointer for the value?

i'm not sure if it's possible to export template functions, but it'd be p rad also.
Back to top
View user's profile Send private message
Flyte
Peanuts!!!!
Reputation: 6

Joined: 19 Apr 2006
Posts: 1887
Location: Canada

PostPosted: Mon Jan 04, 2010 5:57 pm    Post subject: Reply with quote

I'm literally slamming my face into my desk.

slovach wrote:
i'm not sure if it's possible to export template functions, but it'd be p rad also.


In short: No.
In long: Yes, with some work.
Back to top
View user's profile Send private message
iPromise
Grandmaster Cheater
Reputation: -1

Joined: 27 Jun 2009
Posts: 529
Location: Canada

PostPosted: Mon Jan 04, 2010 6:11 pm    Post subject: Reply with quote

@slovach its possible to export template functions, all you need is a module definition file to export and your done.
Back to top
View user's profile Send private message MSN Messenger
Slugsnack
Grandmaster Cheater Supreme
Reputation: 71

Joined: 24 Jan 2007
Posts: 1857

PostPosted: Mon Jan 04, 2010 7:39 pm    Post subject: Reply with quote

Code:
bool iPromiseRules_ReadFloat(DWORD Address, int Value)

how does this iPromiseRules function work ?

also, good work bro !! any chance of source ?!
Back to top
View user's profile Send private message
iPromise
Grandmaster Cheater
Reputation: -1

Joined: 27 Jun 2009
Posts: 529
Location: Canada

PostPosted: Mon Jan 04, 2010 7:45 pm    Post subject: Reply with quote

@Slugsnack It typecasts then dereferences the address and reads directly from it, once read, if the value equals to my specified value, it returns true, if not, false.
Back to top
View user's profile Send private message MSN Messenger
Slugsnack
Grandmaster Cheater Supreme
Reputation: 71

Joined: 24 Jan 2007
Posts: 1857

PostPosted: Mon Jan 04, 2010 7:54 pm    Post subject: Reply with quote

surely if i want to read a float i wouldn't want your function to typecast my value to an int and then compare.. ?
Back to top
View user's profile Send private message
iPromise
Grandmaster Cheater
Reputation: -1

Joined: 27 Jun 2009
Posts: 529
Location: Canada

PostPosted: Mon Jan 04, 2010 7:58 pm    Post subject: Reply with quote

it doesn't, it just compares the final results to int.

Code:

bool iPromiseRules_ReadFloat(DWORD Address, int Value)
   {
      DWORD Protect;

      if (!iPromiseRules_VirtualProtectX((LPVOID) Address, 4, PAGE_EXECUTE_READWRITE, &Protect))
      {
         return false;
      }
      else
      {
         float Read = *(float*) Address;

         int Return = (int) Read;

         if (Return == Value)
         {
            return true;
         }
         else
         {
            return false;
         }
      }
   }


I did it that way because it for some reason faster, and doesn't crash when I scan in float.
Back to top
View user's profile Send private message MSN Messenger
Slugsnack
Grandmaster Cheater Supreme
Reputation: 71

Joined: 24 Jan 2007
Posts: 1857

PostPosted: Mon Jan 04, 2010 8:01 pm    Post subject: Reply with quote

so what happens if i wanna scan the memory for the value 4.5

btw without changing the functionality, your code can be shortened to :
Code:
bool SlugsnackRules_ReadFloat( DWORD Address, int Value )
{
  DWORD Protect;
 
  if( SlugsnackRules_VirtualProtectX((LPVOID) Address, 4, PAGE_EXECUTE_READWRITE, &Protect) ) {
    float Read = *(float*)Address;
   int Return = (int)Read;
   
   return Return == Value;
  }
 
  return false;
}
Back to top
View user's profile Send private message
Flyte
Peanuts!!!!
Reputation: 6

Joined: 19 Apr 2006
Posts: 1887
Location: Canada

PostPosted: Mon Jan 04, 2010 8:04 pm    Post subject: Reply with quote

Slugsnack wrote:
surely if i want to read a float i wouldn't want your function to typecast my value to an int and then compare.. ?


The reason was more than likely related to the questionable output of this program:
Code:
#include <iostream>

using namespace std;

int main()
{
   float someNumber = 0.7;
   if(someNumber != 0.7) {
      cout << "WTF" << endl;
   }
   return 0;
}


If you sufficiently understand IEEE floating point types, then this is obvious. If you want to compare them properly, you need to compare the ULP.
Back to top
View user's profile Send private message
Slugsnack
Grandmaster Cheater Supreme
Reputation: 71

Joined: 24 Jan 2007
Posts: 1857

PostPosted: Mon Jan 04, 2010 8:06 pm    Post subject: Reply with quote

Flyte wrote:
Slugsnack wrote:
surely if i want to read a float i wouldn't want your function to typecast my value to an int and then compare.. ?


The reason was more than likely related to the questionable output of this program:
Code:
#include <iostream>

using namespace std;

int main()
{
   float someNumber = 0.7;
   if(someNumber != 0.7) {
      cout << "WTF" << endl;
   }
   return 0;
}


If you sufficiently understand IEEE floating point types, then this is obvious. If you want to compare them properly, you need to compare the ULP.

Actually I was more questioning why a function called ReadFloat would take an int as input. And yes, thank you, I've worked plenty with the FPU in the past.

fcom and its variants does just fine for me
Back to top
View user's profile Send private message
Anden100
Grandmaster Cheater
Reputation: 0

Joined: 20 Apr 2007
Posts: 668

PostPosted: Tue Jan 05, 2010 12:30 pm    Post subject: Re: iPromise Hacking Dll Reply with quote

iPromise wrote:
Yes, I included some hookhops in there, hookhops for VirtualQuery, VirtualProtect and SendMessage, so now you can use these API's while for ex: GameGuard is open. For the reading functions for ex: iPromiseRules_ReadULong, it stands for read an unsigned long, if you use this function correctly it returns true, if you dont it returns false.


does hookhopping work for both VirtualQuery and VirtualProtect?
Back to top
View user's profile Send private message
iPromise
Grandmaster Cheater
Reputation: -1

Joined: 27 Jun 2009
Posts: 529
Location: Canada

PostPosted: Tue Jan 05, 2010 6:18 pm    Post subject: Reply with quote

@Anden100 Yes.
Back to top
View user's profile Send private message MSN Messenger
Anden100
Grandmaster Cheater
Reputation: 0

Joined: 20 Apr 2007
Posts: 668

PostPosted: Wed Jan 06, 2010 6:10 am    Post subject: Reply with quote

iPromise wrote:
@Anden100 Yes.


I thought GG did some more work to protect it, cool Razz
Back to top
View user's profile Send private message
iPromise
Grandmaster Cheater
Reputation: -1

Joined: 27 Jun 2009
Posts: 529
Location: Canada

PostPosted: Wed Jan 06, 2010 9:11 pm    Post subject: Reply with quote

@Anden100 They failed though.
Back to top
View user's profile Send private message MSN Messenger
Display posts from previous:   
Post new topic   Reply to topic    Cheat Engine Forum Index -> General programming -> Binaries All times are GMT - 6 Hours
Goto page 1, 2  Next
Page 1 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2005 phpBB Group

CE Wiki   IRC (#CEF)   Twitter
Third party websites