Tutorials
The HackSuite has lots of hidden features that allow you to expand the program even further. You can learn more about the structure of the HackSuite and how to create new add ons for it by reading the tutorials.How to make a new native tool
The Plan
In this tutorial I will show you how to create native tools. I'm not going to make a new tool though, instead I will show you what is required to create one.
You can find all the native tools in the configuration section, simply because they are used for configuration, debugging and/or data retrieval. The native tools will show up as below:
What we need
First of all you need to store your output in the variable $sCode, which is required for just about anything you create for the suite.
There are only a couple of files you need:
- a native file
- a png image
- Data/nativeconfig.php
That's it basically.
You can create any png-24 image as long as it's transparant and has the following dimensions: 48x48px.
the code
You need to save all your native tools in the Native folder. Here's an example of a native tool. As you can see it's not different from a module or any other code in the suite. There are however some things you need to pay attention to, if you don't the native tool won't be loaded properly or at all.
You must save the variable iCFG(post) in every form, just hide it in your form (for an example just check any native tool that use post forms).
If you open the file Data/nativeconfig.php you can see that all properties are stored in an array. It works like this:
$_CONTEXT['native'][0] = array("configuration editor","edit_config.php","edit_config","edit your configuration files and it's default values");
These are the properties for native tool configuration editor.
properties for the array $_CONTEXT['native'][0]:
[0]: name of the native tool
[1]: include file in Native folder associated with configuration editor
[2]: name of the image (used in the configuration menu above) in Templates/x/images (must be a PNG (check above for the properties)), so in this case your image will become: Templates/x/images/edit_config.png
[3]: description text (image hover text)
Note that all images are sorted on the array's index number. Not much else to think of, just make sure you use the iCFG variable when you post forms.