![]() |
|
About hooks, and missing server functions - Printable Version +- LCKB (https://lckb.dev/forum) +-- Forum: ** OLD LCKB DATABASE ** (https://lckb.dev/forum/forumdisplay.php?fid=109) +--- Forum: General Section (https://lckb.dev/forum/forumdisplay.php?fid=216) +---- Forum: Development Showroom (https://lckb.dev/forum/forumdisplay.php?fid=114) +---- Thread: About hooks, and missing server functions (/showthread.php?tid=647) Pages:
1
2
|
- Wizatek - 02-05-2012 Hi ![]() I was wondering. Since DestinyLC is using small programs that hook in the gameserver to achieve some of the custom things like the upgrade rate, the levelcap, a fake gm char and such Wouldnt it be possible to make a same kind of hook that implements the use of rareoption and such ? I wouldnt know how to start on it, but if someone could tell me if it is even possible then i might consider to figure it out. - Koko - 02-05-2012 (just curious) What a hook does exactly? I mean what does it do on the gameserver itself, not the effect. - Wizatek - 02-05-2012 Its basicly a program that attaches itself into another program to takeover or manipulate parts of the host program - illusionist - 02-05-2012 yeah all a hook is in reality is a code that fits in somewhere and you tell the server when to use it. idk where the fk you would start but its possible. Its like the packet sniffer we used for ep2 packets it just goes into the program is told when to start and executes its duty inside the orginal application. You would only need to create the code that displays calcuates and stores those rare options then hook the send to display them but unlike some of the stuff Destiny does with hooks its a whole new ball game. - HateMe - 02-05-2012 yes it is look at this its made from fabi202cool on this forum - CADH - 02-05-2012 yes it is look at this its made from fabi202cool on this forum fabi have made a clientless-bot in .net, he "sniff" the logs from the gameserver, and then drop the tradet item with the normal options. If a other player get the item, he get banned.. the server checks the serial from the item and the name of the player.. - fabi202cool - 02-06-2012 fabi have made a clientless-bot in .net, he "sniff" the logs from the gameserver, and then drop the tradet item with the normal options.If a other player get the item, he get banned.. the server checks the serial from the item and the name of the player.. that is incorrect, the bot is completly based on packets... it only compare if the right player picks the item (based on the server logs). - someone - 02-06-2012 A Hook is a dll, that you write somewhere in the .exe files to load an dll. In another place of the code will will load the functions or mehods from the dll. For example the server will receive some packets. Implementing a Hook is simple just learn how to use LoadLibrary function. //at initialization push "my.dll" call Kernel32.LoadLibrary Using the dll will be: switch(packet){ case 10: do something; ... default: launch your function } ; my.myfunction is an address(the packet will be process by the function) push packet_size push packet_offset call my.myfunction More info about the load library: 2 - Koko - 02-06-2012 Thanks for all the precision ![]() - Falo - 02-12-2012 some of the custom things like the upgrade rate, the levelcap, a fake gm char and suchWouldnt it be possible to make a same kind of hook that implements the use of rareoption and such ? Destiny uses ep2 files, you can use the upgrade event command to change the rate, the levelcap/exp is easy to change, you just need change some values. but a fake GM ? even with hooks this would be a bit difficult to do. i dont think they use hooks and ep2 files (from 777 / gamigo) are linux, so kernel32.LoadLibraryA wouldnt work ^^ for ep1, its easier to use code caves, but its not that easy to add the real rareoptions, if i count right we would need to port ~20 functions to this old gameserver and change several other functions to add the missing packets |