View previous topic :: View next topic |
Author |
Message |
iPromise Grandmaster Cheater
Reputation: -1
Joined: 27 Jun 2009 Posts: 529 Location: Canada
|
Posted: Mon Jan 04, 2010 4:30 pm Post subject: iPromise Hacking Dll |
|
|
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 |
|
 |
hcavolsdsadgadsg I'm a spammer
Reputation: 26
Joined: 11 Jun 2007 Posts: 5801
|
Posted: Mon Jan 04, 2010 4:39 pm Post subject: |
|
|
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 |
|
 |
Flyte Peanuts!!!!
Reputation: 6
Joined: 19 Apr 2006 Posts: 1887 Location: Canada
|
Posted: Mon Jan 04, 2010 5:57 pm Post subject: |
|
|
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 |
|
 |
iPromise Grandmaster Cheater
Reputation: -1
Joined: 27 Jun 2009 Posts: 529 Location: Canada
|
Posted: Mon Jan 04, 2010 6:11 pm Post subject: |
|
|
@slovach its possible to export template functions, all you need is a module definition file to export and your done.
|
|
Back to top |
|
 |
Slugsnack Grandmaster Cheater Supreme
Reputation: 71
Joined: 24 Jan 2007 Posts: 1857
|
Posted: Mon Jan 04, 2010 7:39 pm Post subject: |
|
|
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 |
|
 |
iPromise Grandmaster Cheater
Reputation: -1
Joined: 27 Jun 2009 Posts: 529 Location: Canada
|
Posted: Mon Jan 04, 2010 7:45 pm Post subject: |
|
|
@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 |
|
 |
Slugsnack Grandmaster Cheater Supreme
Reputation: 71
Joined: 24 Jan 2007 Posts: 1857
|
Posted: Mon Jan 04, 2010 7:54 pm Post subject: |
|
|
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 |
|
 |
iPromise Grandmaster Cheater
Reputation: -1
Joined: 27 Jun 2009 Posts: 529 Location: Canada
|
Posted: Mon Jan 04, 2010 7:58 pm Post subject: |
|
|
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 |
|
 |
Slugsnack Grandmaster Cheater Supreme
Reputation: 71
Joined: 24 Jan 2007 Posts: 1857
|
Posted: Mon Jan 04, 2010 8:01 pm Post subject: |
|
|
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 |
|
 |
Flyte Peanuts!!!!
Reputation: 6
Joined: 19 Apr 2006 Posts: 1887 Location: Canada
|
Posted: Mon Jan 04, 2010 8:04 pm Post subject: |
|
|
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 |
|
 |
Slugsnack Grandmaster Cheater Supreme
Reputation: 71
Joined: 24 Jan 2007 Posts: 1857
|
Posted: Mon Jan 04, 2010 8:06 pm Post subject: |
|
|
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 |
|
 |
Anden100 Grandmaster Cheater
Reputation: 0
Joined: 20 Apr 2007 Posts: 668
|
Posted: Tue Jan 05, 2010 12:30 pm Post subject: Re: iPromise Hacking Dll |
|
|
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 |
|
 |
iPromise Grandmaster Cheater
Reputation: -1
Joined: 27 Jun 2009 Posts: 529 Location: Canada
|
Posted: Tue Jan 05, 2010 6:18 pm Post subject: |
|
|
@Anden100 Yes.
|
|
Back to top |
|
 |
Anden100 Grandmaster Cheater
Reputation: 0
Joined: 20 Apr 2007 Posts: 668
|
Posted: Wed Jan 06, 2010 6:10 am Post subject: |
|
|
iPromise wrote: | @Anden100 Yes. |
I thought GG did some more work to protect it, cool
|
|
Back to top |
|
 |
iPromise Grandmaster Cheater
Reputation: -1
Joined: 27 Jun 2009 Posts: 529 Location: Canada
|
Posted: Wed Jan 06, 2010 9:11 pm Post subject: |
|
|
@Anden100 They failed though.
|
|
Back to top |
|
 |
|