|
You last visited: Today at 19:17
Advertisement
NosHook - Direct3D Hook / Plugins / Addons
Discussion on NosHook - Direct3D Hook / Plugins / Addons within the Nostale forum part of the MMORPGs category.
08/02/2016, 23:31
|
#1
|
elite*gold: 0
Join Date: May 2013
Posts: 175
Received Thanks: 123
|
NosHook - Direct3D Hook / Plugins / Addons
NosHook
Direct3D Hook / Plugins / Addons
What is it?
NosHook is a third-party injected hook that allows users to enhance their gameplay in various ways. NosHook wraps the games Direct3D engine allowing for custom rendering of various things as well as exposes a feature rich SDK to plugins and addons.
NosHook includes the ability to: - Render custom font objects that are highly customizable.
- Render full featured GUI windows via ImGui.
- Read and block packets that are being sent or received.
- Inject packets in either direction.
- Write messages to the chat window directly.
NosHook includes the ability for others to write full-featured plugins that have full access to the NosHook SDK to handle various things. NosHook also includes a plugin called 'Addons' that allows users to script plugin-like scripts of code via Lua that have nearly the same abilities as if you were coding in a C/C++ plugin.
Screenshots
Here are some screenshots of things while being in beta:
A simple injector:
Writing directly to the chat log:
Dumping packets to a readable buffer:
ImGui demo window being rendered:
Download
At this time I am still working on NosHook and have not released a beta yet. I am looking to get feedback on things people would want to see included if they are interested in using this.
I am not looking for suggestions like 'make a bot to do 'x'', but rather features that are generically useful to all within something like this. Like the ability to multi-client, the ability to set the resolution to something custom etc.
Interested in hearing any feedback.
|
|
|
08/02/2016, 23:47
|
#2
|
elite*gold: 0
Join Date: Jan 2014
Posts: 149
Received Thanks: 8
|
Well, seems interesting, can you put screenshots on epvpers hosting ? I didn't understood everything but if you release it i will probably
|
|
|
08/03/2016, 02:44
|
#3
|
elite*gold: 0
Join Date: May 2013
Posts: 175
Received Thanks: 123
|
Quote:
Originally Posted by chyrla
Well, seems interesting, can you put screenshots on epvpers hosting ? I didn't understood everything but if you release it i will probably
|
Sure:
Injector:
Chat Log Writting:
Dumping Packets:
ImGui Demo:
Progress Update- Added in-game console to interact with NosHook.
- Added text scripts to execute commands easily.
- Added multi-client support to allow multiple instances of Nostale to run at once.
- Added prevention of the splash screen from showing.
The console looks like:
Commands are handled by input and start with / such as:
/exec Default.txt
|
|
|
08/03/2016, 09:15
|
#4
|
elite*gold: 0
Join Date: Apr 2015
Posts: 446
Received Thanks: 149
|
Looks really awesome
|
|
|
08/03/2016, 11:03
|
#5
|
elite*gold: 98
Join Date: Jan 2010
Posts: 631
Received Thanks: 1,726
|
Well done, i had to work once with Imgui, it's a pretty cool UI Lib
Hope we will be able to do some interesting things.
(I wanted to work on my proper hook but didn't have the time to learn that)
Anyway, thanks for that D3D hook
|
|
|
08/03/2016, 23:20
|
#6
|
elite*gold: 0
Join Date: May 2013
Posts: 175
Received Thanks: 123
|
Thanks for the feedback guys.
Progress Update (8/3/2016)- Implemented a handful of console commands.
- Implemented keybinds so you can execute commands on the fly.
- Finished up the beta plugin SDK for others to create plugins.
Next up I am working on the addons plugin for allowing Lua scripting then I think this will be ready for public testing.
If there is anything else before I push a beta that people are interested in, let me know.
|
|
|
08/04/2016, 12:16
|
#7
|
elite*gold: 98
Join Date: Jan 2010
Posts: 631
Received Thanks: 1,726
|
Quote:
Originally Posted by atom0s
Thanks for the feedback guys.
Progress Update (8/3/2016)- Implemented a handful of console commands.
- Implemented keybinds so you can execute commands on the fly.
- Finished up the beta plugin SDK for others to create plugins.
Next up I am working on the addons plugin for allowing Lua scripting then I think this will be ready for public testing.
If there is anything else before I push a beta that people are interested in, let me know.
|
Just got a question, when you will release it, how will you handle "features request" ?
Actually It's a little blur about how people will be able to implement features through the SDK, could you explain a bit ?
Will there be an "example plugin" ?
What is actually possible with the console ?
Don't know if i'm all clear with those questions, just pm or ask here if I need to be more precise.
Thanks for your work, very excited about your project
|
|
|
08/04/2016, 22:22
|
#8
|
elite*gold: 0
Join Date: May 2013
Posts: 175
Received Thanks: 123
|
Feature requests will be handled by judging if the feature fits in the hook itself, or should be done as a plugin/addon. If it is not something that fits in the hook itself I don't want to put it in the main hook code. The idea is to keep the hook itself lightweight and avoid features that have the potential of breaking between game updates.
The SDK allows people to code plugins that can interact with my hook directly as well as directly access the game memory. My hook has several callbacks that every plugin can implement as well to handle various things such as packets and console commands.
For example, if you want your plugin to handle a console command you could implement the following:
Code:
bool YourPluginClass::HandleCommand(const char* command)
{
// Obtain the command arguments..
std::vector<std::string> args;
auto count = Atomic::Commands::GetCommandArgs(command, &args);
// Handle the hello command..
HANDLECOMMAND("/hello")
{
// Print a message to the console..
this->m_HookCore->GetConsole()->Write(D3DCOLOR_ARGB(255, 0, 255, 0), "Hello world!");
return true;
}
return false;
}
Plugins can also access the packet flow including block packets from being sent or received by the client:
Code:
bool YourPluginClass::HandleOutgoingPacket(const char* packet, bool blocked)
{
// If something else blocked the packet already, just ignore it..
if (blocked)
return false;
// Block outgoing /say packets from happening..
if (strncmp(packet, "/say ", 5) == 0)
return true;
// Returning false here allows the plugin to continue..
return false;
}
For those that are not familiar with C/C++, that is where addons come in. You can also script addons in Lua that have the same features/access as plugins do to the hook. For example, doing the same to things above:
Code:
----------------------------------------------------------------------------------------------------
-- func: command
-- desc: Event called when a console command has been entered.
----------------------------------------------------------------------------------------------------
hook.register_event('command', function(cmd)
-- Parse the command for arguments..
local args = cmd:GetArgs();
-- Ensure this is the hello command..
if (args[1] ~= "/hello") then
return false;
end
HookCore:GetConsole():Write(0xFF00FF00, 'Hello world!');
return true;
end);
----------------------------------------------------------------------------------------------------
-- func: outgoing_packet
-- desc: Event called when an outgoing packet is being handled. (Client -> Server)
----------------------------------------------------------------------------------------------------
hook.register_event('outgoing_packet', function(packet, blocked)
if (blocked == true) then
return false;
end
if (packet:startswith('/say ')) then
return true;
end
return false;
end);
I will be including an example plugin as well as an example addon in the release package showing how to do both.
Since I can post more freely on my own site as well as have the images show directly, I will post status updates more frequently over there. You can find the development thread on my site here:
Code:
http://atom0s.com/forums/viewtopic.php?f=21&t=128
It will also be released over there along with updates posted there etc.
I will still post info to this thread though as development goes and will make a new thread once a full release is ready.
Right now I'm messing with an auto-login feature that does not do crappy things like SendInput/SendKeys to do things. Instead, I'm directly calling the game functions to handle the login process. Sadly they coded things a bit wonky so it's a little rough going and no promises that it will make it in the release.
|
|
|
08/05/2016, 00:10
|
#9
|
elite*gold: 98
Join Date: Jan 2010
Posts: 631
Received Thanks: 1,726
|
Nice work, I prefer C/C++ than LUA :3
|
|
|
08/06/2016, 00:43
|
#10
|
elite*gold: 0
Join Date: May 2013
Posts: 175
Received Thanks: 123
|
Plugin interface is done and working today. I have the Addons plugin fully done and working as well along with an example plugin and example addon written up demonstrating some basics. Tonight I spent some free time cleaning up the code, going through things in a minor code review to ensure everything is cooperating nicely and working as expected. Logging has been adjusted a bit to work better. Tonights change log so far:
Part 1- Changed character format to char* on chat manager calls.
- Added Writef to ChatManager for formatted message usage.
- Renamed ConfigurationManager Load override to LoadEx for Lua bindings.
- Implemented key binding.
- Added Console support to SDK.
- Added keybind support to SDK.
- Added GetGameInstallPath to IHookManager interface.
- Renamed plugin base to NosHookPlugin.
- Added HandleKeyboard and HandleMouse to plugin interface.
- Added console output to the plugin manager.
- Implemented Addons plugin.
- Implemented example plugin.
- Added more logging to some classes.
- Fixed logging engine not logging to files.
- Fixed logging engine not logging full queue when game was unloaded.
- Reordered some internal class initialization to prevent pointer bugs.
- General Code Cleanup
Part 2- Cleanup of console output from addons.
- Cleanup of console output from plugins.
- Fixed typo in /echo console command.
- Removed some stale code from another project.
- Added some more logging to the plugin manager.
- Implemented default text script execution on load. (/Scripts/Default.txt will execute when the game is loaded allowing you to auto-load addons/plugins as well as other commands to configure things to your needs.)
Part 3- Some more code cleanup.
- Implemented configurations for some basic stuff.
- Discovered a bug/issue that can be avoided but is kind of annoying.
Known Issues
- Nostale does not call Reset on the device to resize it. Instead, they completely destroy the device and recreate it. This causes NosHook to reload everything due to how it works. As long as you stick to one resolution you will never see any issues. For those that swap resolutions often, it may become annoying.
Some more updates this morning, I should hopefully have a beta package ready soon.
- Added new documentation.
- Added some more Lua bindings for addons.
- Renamed a few bindings for addons.
- Adjusted a default config value.
|
|
|
08/06/2016, 01:10
|
#11
|
elite*gold: 0
Join Date: Dec 2012
Posts: 2,728
Received Thanks: 934
|
Its exciting to see your effort for this, thanks for that
|
|
|
08/06/2016, 02:08
|
#12
|
elite*gold: 0
Join Date: May 2013
Posts: 175
Received Thanks: 123
|
I have released the beta v1.0.0.0 package of NosHook here:
If a moderator could please close this topic.
All future information will be posted to the new topic in the release section.
|
|
|
08/06/2016, 15:50
|
#13
|
elite*gold: 0
Join Date: Feb 2016
Posts: 139
Received Thanks: 191
|
Thanks to add virustotal link.
|
|
|
08/06/2016, 22:10
|
#14
|
elite*gold: 0
Join Date: May 2013
Posts: 175
Received Thanks: 123
|
Quote:
Originally Posted by Uppermost
Thanks to add virustotal link.
|
|
|
|
08/07/2016, 18:12
|
#15
|
elite*gold: 0
Join Date: Sep 2010
Posts: 46
Received Thanks: 7
|
Nice work
|
|
|
|
|
Similar Threads
|
[SUPPORT-SERVICE] WBB 3.x & 4.x • PLUGINS, TUTORIALS, ADDONS, STYLES UND MEHR!
12/25/2013 - elite*gold Trading - 2 Replies
Servus Community,
hiermit eröffne ich meinen offiziellen WBB Support-Service Thread.
Da ich mich seit mehr als drei Jahren mit Woltlab beschäftige und jede
Menge Erfahrungen, in jede verschiedene Ecke gesammelt habe, biete
ich diesen Service euch an. Es geht darum, dass ich euer WBB Forum
Supporte, sozusagen die Software, ich gebe euch Tipps, helfe euch bei
euren Problemen, schlage euch oder verkaufe euch Plugins, Styles oder
auf Bedarf Tutorials. Ihr müsst euch bei mir nur mit der...
|
[S]CSS Jailserver Plugins/Addons [B]eGold, PayPal, PSC
01/19/2013 - elite*gold Trading - 4 Replies
Jo Servus leutz, habe vor mir einen Root Server zu mieten.
Daraus will ich, wie der Titel schon sagt einen Jailbreak Server machen.
Da ich aber im Bereich Server für CSS 0 Ahnung habe bräuchte ich Starterhilfe.
Diese folgenden Plugins will ich auch noch installieren:
- Joinmusik
|
[12.7] xCrazia's Direct3D Hook v2.8 [Artillery,AutoMedic,AutoAmmo,UnlAmmo,Chams,STW]
07/14/2012 - WarRock Hacks, Bots, Cheats & Exploits - 22 Replies
Here is my newest hack, i have fully recoded the Base for No Crash! :)
Video:
xCrazia Hack Preview (Artillery,UnlAmmo and more) - YouTube
Screen:
http://img5.fotos-hochladen.net/uploads/sssssndya zcsq1m.png
Download:
File-Upload.net - xCrazia-s-Direct3D-Hook-v2.8.rar
|
Counter-Strike 1.6 Addons/Plugins *Problem*
04/18/2011 - Counter-Strike - 1 Replies
Guten Tag,
Ich besitze ein Linux Debian 6 vServer mit Counter Strike 1.6 Dedicated Server.
Server startet und restartet mit TekBase Webinterface. Das starten, stoppen und restarten funktioniert alles ohne Probleme. Mein Problem ist das ich Metamod & AMX Mod X auf mein CS 1.6 Server installiert habe und die Addons/Plugins nicht geladen werden, wenn ich in der Konsole "meta list" oder "meta version" eingebe wird da angezeigt
"meta list":
Currently running plugins:
0 plugins...
|
CyberRazzer Direct3D Hook :) *Chams/WallHack/WireFrame*
11/12/2010 - WarRock Hacks, Bots, Cheats & Exploits - 57 Replies
http://s5.directupload.net/images/101105/sg3s5rke. png
Download: (Unten)
VirusScan: Online Virus Scan
http://www.elitepvpers.com/forum/images/misc/light box_progress.gif
|
All times are GMT +2. The time now is 19:17.
|
|