game.exe + adress = an address so with the calculator game.exe + adress is going to be the base address or the same CE can do it.
Hi, ı use vb.net and ı have problems.
I make new lol zoom hack and I found true adress it's never changed , because ı fix it.
IT'S= League Of Legends.exe + 00CA5CEC
but how can I make hack on vb.net game.exe + adress. I search google and I found nothing !
And this pointer is float.
I try getmodulehandle and *(Float*) fuction on c++ our game working but on lol when timer enabled game is exit, and try getbaseadress c# and game exit :/. Please help me on vb.net how can I use writeinteger for example: game.exe + adress ???
Last edited by hacktry3169; 02-06-2014 at 01:29 PM.
game.exe + adress = an address so with the calculator game.exe + adress is going to be the base address or the same CE can do it.
Get a process object, then
Process.MainModule.BaseAddress (or Process.MainModuleBase I believe)
"MainModule" is the same as "game.exe"
When "game.exe" is loaded into memory, it becomes the first module of the program - any other dll's that are used will come after it.
|game.exe|module2|module3|module4|...
edit: "I try getmodulehandle and *(Float*) fuction on c++ our game working but on lol when timer enabled game is exit, and try getbaseadress c# and game exit :/ "
..sounds like the game is detecting when you change that value, and closing down? This is a zoom hack? - does it work in CE (or, whichever program are you using to debug)?
If it didn't work in C++ or C#, I see no reason why the exact same thing would work in vb. Just a guess though.
"writeinteger" doesn't mean anything in the vb language... so you're using someone else's memory class for this?
Last edited by abuckau907; 02-07-2014 at 12:10 AM.
'Some things that can be counted, don't matter. And some things that matter, can't be counted' - A.E.
--
post code .
'Some things that can be counted, don't matter. And some things that matter, can't be counted' - A.E.
--
GetModuleHandleA( "League Of Legends.exe" )
Does that return a valid value?
Then,
dwPointer = *(DWORD*) ((above value) + 0x00CA5CEC)
does dwPointer contain the address you expect? Have CheatEngine open to verify.
Last edited by abuckau907; 02-07-2014 at 08:15 PM. Reason: ( ) 's
'Some things that can be counted, don't matter. And some things that matter, can't be counted' - A.E.
--
...ofc it does: ("LeagueOfLegends.exe") is a string and can't be +'d with 0x00CA5CEC..
I was saying, break that 1 line of code into several steps and store each step in a variable.
When you call GetModuleHandle() store that in a variable and check it for success.
Once you know the handle is valid, try following your pointer list and see if you get the correct addr.
Then and only then try to write new value to the addr.
'Some things that can be counted, don't matter. And some things that matter, can't be counted' - A.E.
--
..are you injecting this as a .dll into the target program??
If not, using *(FLOAT*) will refer to your own memory.
?
edit: it looks like you're using managed C++ (the ^^'s). So are you injecting a managed .dll or what?
If you create a standard non-managed .dll,
If you're going to do this in C++, please create a new thread in the C++ section if you need help. If you want to do this in vb.net, create some code in vb and post it to get help.Code:const DWORD OFFSET1 = 0x00CA5CEC; char* _appName = "cpp_scratch_good.exe"; // or "League Of Legend.exe" or whatever module DWORD _moduleBase = (DWORD)GetModuleHandleA(_appName); if (_moduleBase) { // module is currently in target program's memory. DWORD _firstAddr = *(DWORD*)(_moduleBase + OFFSET1); *(FLOAT*)_firstAddr = 3000; MessageBox(0,L"Module Found.",L"SUCCESS",2) } else { // module not found in programs's memory. MessageBox(0,L"Unable to find module.",L"ERROR",2); }
Last edited by abuckau907; 02-08-2014 at 04:54 PM.
'Some things that can be counted, don't matter. And some things that matter, can't be counted' - A.E.
--
U just use main.cpp, but again league of legends.exe working stop!
Code:#include <Windows.h> DWORD MyTutorialThread() // Our thread { const DWORD OFFSET1 = 0xCA5CEC; char* _appName = "League of Legends.exe"; // or "League Of Legend.exe" or whatever module DWORD _moduleBase = (DWORD)GetModuleHandleA(_appName); for(;;) // unlimited loop { if (_moduleBase) { // module is currently in target program's memory. DWORD _firstAddr = *(DWORD*)(_moduleBase + OFFSET1); *(FLOAT*)_firstAddr = 3000; MessageBox(0,L"Module Found.",L"SUCCESS",2); } else { // module not found in programs's memory. MessageBox(0,L"Unable to find module.",L"ERROR",2); } } } BOOL WINAPI DllMain(HMODULE hDll, DWORD dwReason, LPVOID lpReserved) { if(dwReason == DLL_PROCESS_ATTACH) // if dll is injected { CreateThread(NULL, NULL,(LPTHREAD_START_ROUTINE)MyTutorialThread , NULL, NULL, NULL); // Creates the thread "MyTutorialThread" } return true; }
DWORD MyTutorialThread() // Our thread
{
const DWORD OFFSET1 = 0xCA5CEC;
char* _appName = "League of Legends.exe"; // or "League Of Legend.exe" or whatever module
DWORD _moduleBase = (DWORD)GetModuleHandleA(_appName);
for(; // unlimited loop
{
if (_moduleBase)
{ // module is currently in target program's memory.
MessageBox(0,L"Module Found.",L"SUCCESS",2);
DWORD _firstAddr = *(DWORD*)(_moduleBase + OFFSET1);
MessageBox(0,L"Crash on line before this?",L"SUCCESS",2);
*(FLOAT*)_firstAddr = 3000;
}
else
{ // module not found in programs's memory.
MessageBox(0,L"Unable to find module.",L"ERROR",2);
}
}
}
hmm. I'm not sure why LoL.exe would crash... maybe _modBase+offset1 isn't valid and it's getting an access fault? I moved the messagebox to show before it tries to read the pointer. When you inject the dll, do you see any of the message boxes? How long before LoL.exe crashes? Is there a crash report / error message?
Another thing to try might be empty all the code out of MyTutorialThread() and see if injecting an empty function still causes the crash. (well, have a msgbox and sleep() so we can visually see it's running)
Last edited by abuckau907; 02-09-2014 at 12:54 PM.
'Some things that can be counted, don't matter. And some things that matter, can't be counted' - A.E.
--
Last edited by hacktry3169; 02-10-2014 at 07:13 AM.
Create the most basics .dll you can --> Only calling MessageBox() saying "Injected ok". If you can't get that simple .dll to work, more complicated ones wont work - probably some type of LoL anti-cheat. I'm not sure man.
If you're new to this type of stuff, create your own "test game program" to practice hacking on first -- because you know it has no security. If you can't get the code to work on your simple "test game", then it probably won't work on a real game. That's where I'd start..verify the code works by testing on simple programs, then move onto real games.
'Some things that can be counted, don't matter. And some things that matter, can't be counted' - A.E.
--