Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
Buy OSRS Gold

Search the Community

Showing results for tags 'Hooking'.

More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


  • TRiBot
    • News and Announcements
    • Old School Scripts
    • Help and Guidance
    • Development
    • Bugs and Errors
    • Tutorials
  • Scripters' Forums
    • Scripter Application
  • RuneScape®
    • General
    • Guides/Tutorials
    • Achievements
  • General
    • General
    • Questions
    • Discussions & Debates
    • Introductions
    • Suggestions
    • Feedback
  • The Black Market
    • Disputes
    • Repository Credits
    • Gold Exchange
    • Item Exchange
    • Membership Sales
    • Services
    • Other
    • Middleman Services


  • Getting Started With TRiBot
  • The Best Way To Get Rid Of Termites
  • How to Generate Real Estate Leads Using Twitter
  • A Guide to Landing Pages
  • Dog Grooming in Sydney – 5 steps to finding a grooming salon
  • Cheap RS 2007 Gold for Spring 2020!
  • Logo Design Mistakes- Your Business Should Avoid at All Cost
  • Effective Pest Control Measures
  • В Алматы карантин из-за коронавируса: жизнь в условиях пандемии
  • Preschool Educational Toys, Helping One's Child Prepare For the Future
  • Automating Tribot
  • Payment error
  • Animal Crossing: New Horizons Cuts Player Interest Rates
  • network-security-engineer
  • The best place to buy Animal Crossing Bells
  • Major Content of Escape from Tarkov Patch Optimizations
  • You need to rest properly when playing Rocket League
  • Escape from Tarkov hits 200k concurrent players
  • List of Rocket League Ranking System
  • Should I need to run a paid ad campaign, when organically I rank well?
  • How to play Rocket League
  • Twitch Drops Come Back in Escape from Tarkov
  • The Path of Exile game features
  • Be more seen
  • Rocket League Took Actions to Fight Racism and Discrimination in the Game 
  • Rocket League camera setting 
  • Animal Crossing -List of Wedding Season Rewards
  • What WoW Classic race and sophistication is best?
  • FIFA 21 Coming to Steam
  • The Ideal Place for Global Players to Buy and Sell Rocket League Items 
  • Customize furniture in Animal Crossing: New Horizons
  • ABOUT NBA 2K20
  • Purchase Cheap RL Items from Lolga.com to set aside bunches of Cash 
  • Ethan Smith
  • How much does WoW Classic cost?
  • Special Olympics NY partners with Mission Control for Rocket League competitions
  • Rocket League:Premium Challenges and Rewards
  • The things Psyonix has made for this occasion are generally birthday-themed
  • Epic Games Store version of Rocket League
  • The Rocket League people group quickly got their pitchforks and took to Reddit
  • The arrival of cross-platform progression means changes to player-to-player trading
  • will Rocket League Credits stay dynamic

Find results in...

Find results that contain...

Date Created

  • Start


Last Updated

  • Start


Filter by number of...


  • Start





Found 1 result

  1. So guys this is a simple way to hook and debug functions. The use of this is that we can edit functions to your liking and modify the parameters and return values of them. With slight modifications you can modify any function to your liking too. I have put in a lot of comments that should help, hope someone has use of this. Also if you guys are interested in learning anything comment. Skill level required: 3/10 #include <Windows.h>#include <iostream>DWORD getAPI(char *Dll, char* API){ return (DWORD)GetProcAddress(GetModuleHandleA(Dll), API); //Get the module base address then find the address of the API in that module.}typedef BOOL(__stdcall * Beep_)(DWORD dwFreq, DWORD dwDuration); // Can find this wrapper on MSDN with a google searchBeep_ pBeep;BOOL __stdcall BeepX(DWORD dwFreq, DWORD dwDuration){ //dwFreq = dwFreq / 2; Proof we can change the functions paramaters //dwDuration = dwDuration / dwFreq; Proof we can change the functions paramaters printf("[Beep Called] Frequency: %d Duration: %d\n",dwFreq, dwDuration); //We can get and modify the parameters before it actually gets called. return pBeep(dwFreq, dwDuration); //Return the Beep wrapper}void *Detour(PBYTE pAddress, PBYTE dwJumpTo, DWORD dwLen){ DWORD dwOldProtect, dwBkup, dwRelAddr; VirtualProtect(pAddress, dwLen, PAGE_EXECUTE_READWRITE, &dwOldProtect); //Make sure we can write to the address and save it's old protection dwRelAddr = (DWORD)(dwJumpTo - (DWORD)pAddress) - 5; // Calcualte the JMP address, 5 bytes is uses for a standard JMP in 32bit applications *pAddress = 0xE9; //0xE9 is the byte opcode for JMP *((DWORD *)(pAddress + 0x1)) = dwRelAddr; // So we want to write to the address and we have + 1 byte so we don't over write the JMP for (DWORD x = 0x5; x < dwLen; x++) *(pAddress + x) = 0x90; //If the length of the JMP goes over 5 bytes we nop the rest of the bytes beacuse it's useless VirtualProtect(pAddress, dwLen, dwOldProtect, &dwBkup); //Restore the old protection dwBkup is useless and just for debugging tests return (PVOID)(pAddress + dwLen); // We want to return the address + size of jump so if we use to call back where the detour is we go to the next avaible bytes}int main(){ DWORD BeepAddy = getAPI("kernel32.dll", "Beep"); if (BeepAddy) //If we fine Beep in Kernel32 pBeep /*We want to point our wrapper to the 5 bytes after we just hook so the function gets called.*/ = (Beep_)Detour((BYTE*)BeepAddy/*Location of where the function is in memory*/, (BYTE*)&BeepX/*Address of our BeepX function*/, 5/*Size of bytes needed for the JMP*/); while (1) { BeepX(1000, 1000); //We can call our hooked function or the function directly does not matter. //Beep(1000, 1000); }}
  • Create New...