[1] Compilation:
[1] Compilation:
[1.1] What software is needed for compilation ?
This really depends on the version you
want to compile. There are 3 compilers currently supported on Win32,
Microsoft's Visual C++ 6, MingW32 and the Borland C++ Compiler. Since
the MingW32 version is currently incomlete, and the Borland version
only built but crashed on startup, the only real support I'm giving at
the moment is for Microsoft Visual C++ 6. Additionally the bot has
support for Linux (or more generally POSIX compatible systems), it was
tested using gcc 3.2.x and 3.3.x.
The bot also needs a copy of OpenSSL, but this is already included as a
static library for Win32, Linux and MingW32. You can get OpenSSL from
http://www.openssl.org/. There will
be instructions on how to build your own static library soon.
[1.2] How to use Visual Studio ?
Get the Visual Studio 6 SP5 from
here,
newest Platform SDK from
here
(you don't need the full 129mb download,
only Core SDK/Build Environment) and
the Processor Pack from
here.
Install all 3. Add the following paths to
"Tools|Options...|Directories" in Visual Studio (
be sure to include them on top of the list):
You should be ready to compile now.
[1.3] How to use MingW32 ?
Soon to be available.
[1.4] How to use BCC ?
Soon to be available.
[1.5] How to use GCC ?
Execute this:
gcc -v 2>&1 | grep "gcc version"
and check if the reported version is one of the supported version, if
it isn't, you can still try and compile, but you should consider
notifying me so I can update my documentation. I'm always looking for
people who test my bot on Linux flavors I didn't test it on.
Edit Makefile to enable optimization or debug, you just have to remove
some # signs to uncomment the line. After this type "make", it will
start compilation, and if everything works well you will end up with an
agobot3 executable that you can test using ./agobot3 if you're using
bash.
Beware that the Linux version isn't a finished bot, but it mostly
works. It has no installer to add itself to SysV startup at the moment,
but I'm planning on fixing this in reasonable time.
[1.6] Which systems are tested ?
Debian 3.0 |
2.4.20-3-k6 |
libc6 / gcc version 3.3.1
20030728 (Debian prerelease) |
Slackware 9.0 |
2.4.20 |
libc6 / gcc version 3.2.2 |
FreeBSD 4.8 |
???
|
libc6 / gcc version 3.3.1
20030728 (Debian prerelease) / compiled in debian |
SuSe 8.1 |
2.4.21 |
libc6 / gcc version 3.2 |
Windows 2000 Server English |
SP4
|
Visual Studio 6.0 SP5 |
Windows 2000 Server English |
SP3
|
Visual Studio 6.0 SP5 |
Windows 2000 Pro English |
SP4
|
Visual Studio 6.0 SP5 |
Windows 2000 Pro English |
SP3 |
Visual Studio 6.0 SP5 |
Windows 2000 Pro German |
SP1 |
Visual Studio 6.0 SP5 |
Windows 2003 Server English |
SP0 |
Visual Studio 6.0 SP5 |
Windows 2003 Server English |
SP1 |
Visual Studio 6.0 SP5 |
Windows XP Pro English |
SP0 |
Visual Studio 6.0 SP5 |
Windows XP Home Polish
|
SP1
|
Visual Studio 6.0 SP5
|
Contact me if you tested on any system that isn't in this list yet.
[1.7] What to do if I'm getting compilation errors ?
First: don't worry about compiler
warnings, they are pretty common.
This can have multiple causes. I'll try to list a few here.
C:\agobot3\nbscanner.cpp(120) : error
C2440: '=' : cannot convert from
'unsigned short [260]' to 'char *'
Types pointed to are unrelated; conversion requires reinterpret_cast,
C-style cast or function-style cast
C:\agobot3\nbscanner.cpp(121) : error C2440: '=' : cannot convert from
'unsigned short [1]' to 'char *'
Types pointed to are unrelated; conversion requires reinterpret_cast,
C-style cast or function-style cast
Something like this means that you
haven't installed the Platform SDK the right way, goto
[1.2] again, and be especially careful to read
the bold parts. What I want to say is that you have to add the Platform
SDK
ON TOP of the list.
C:\agobot3\main.h(31) : fatal error
C1083: Cannot open include file: 'psapi.h': No such file or directory
Same as above, the SDK files were not
found, cause psapi.h is in the SDK. goto
[1.2]
again, and be sure to install it right.
LINK : warning LNK4089: all references
to "GDI32.dll" discarded by /OPT:REF
ftplib\ftplib.c(415) : warning C4761: integral size mismatch in
argument; conversion supplied
You can ignore this warning, I got it too, and it was never a problem
for me.
[2] Configuration:
[2.1] How to configure ?
Copy \configs\config-sample.cpp to
\config.cpp. Edit the file to configure the bot.
[2.2] How do I get a MD5 password ?
Win32: Open agobot3.dsw, right click
the getmd5 project, select "Build"
Linux: cd getmd5 ; make
After that there is a getmd5 executable in \bin\<platform> which
you have to start like this:
V:\bin\win32>getmd5.exe password
MD5 of "password" is "5F4DCC3B5AA765D61D8327DEB882CF99"
V:\bin\win32>
Copy the string "5F4DCC3B5AA765D61D8327DEB882CF99" into your config as
the password.
[2.3] How to crypt strings for config file usage ?
Win32: Open agobot3.dsw, right click
the crypt project, select "Build"
Linux: cd crypt ; make
After that there is a crypt executable in \bin\<platform> which
you have to start like this:
V:\bin\win32>crypt text 10 blabla
igjigj
V:\bin\win32>
If the crypted string contains non-printable characters, start it like
this:
V:\bin\win32>crypt hex 10 blabla
\x69\x67\x6A\x69\x67\x6A
V:\bin\win32>
Set the CVar you want to have crypted in config.cpp like this:
g_cMainCtrl.m_cCVar.RegisterCvar(&bot_id, "bot_id",
"\x69\x67\x6A\x69\x67\x6A", "Bot - Current ID", false, true, 10);
instead of:
g_cMainCtrl.m_cCVar.RegisterCvar(&bot_id, "bot_id",
"\x69\x67\x6A\x69\x67\x6A", "Bot - Current ID", false, false, 0);
[3] Installation:
[3.1] It doesn't start, what do I do ?
Compile the bot in debug mode, this is
either done by selecting "agobot3 - Win32 Debug" from "Build|Set Active
Configuration..." in Visual Studio, or by editing Makefile and
uncommenting the debug lines in Linux. Start the bot with these command
line parameters: agobot3 -debug -debuglevel 10. It will popup a DOS
(actually only the Win32 console) window that contains all the debug
info the bot is giving. If you can't find the error using this
information yourself, send me a log.
[4] Runtime:
[4.1] How to use it ?
First use .login <user>
<password> to login to the bot. After that /msg one of the bots
with ".commands.list", this will cause the bot to reply with its
command list.
[4.2] Where can I get help for the commands ?
Check out the command reference
here.
[5] Private version:
[5.1] How do I get the private version ?
Contact me, you will either have to
make good contributions of code or pay me for it, cause I can't do all
of this for free (there's lot of time involved).
[5.2] What about the leaked one ?
This software was distributed without
my permission, that's why it's really buggy, but don't try asking me
for
help with it, cause I already know about the bugs and am developing a
version that is much newer and better (i.e. the new scanner can scan
WinXP, which is a big number of hosts). If you really want to use the
leaked version I cannot stop you, but beware that there's no support,
and the bot may crash unexpectedly and/or not remove it and/or not
shutdown threads correctly and/or not be able to create new threads at
all.
Nobody in who isn't insane will give out his scanner if it isn't
outdated, cause else everyone will be able to scan with it making the
exploit effectively much more ineffective. Also the scanner (and
probably other features of the private version) is my source for
money, so that's another reason I won't give it out. If you want to buy
the code, you will get all updates ill do to the private version, which
will also include new exploits every few months (though i cannot
guarantee that). Also there will be a premium version with all kinds of
scanners for Linux/Unix based systems included, but that will have to
wait till I have the Linux version fully working (i.e. Autostart isn't
there yet).
[5.3] What's the price for the private version ?
Minimum:
- No updates, but bugfixes if they are requested
- Price: 50$
- Update price: 10$
Standard:
- All updates and new scanners
- Price: 100$
Premium:
- Linux scanners, all updates and new scanners
- Price: 250$
I accept payment through paypal.
I might also be willing to sell/rent/share bots but I don't have a
price set, contact me and we can negotiate one.
[5.4] I don't have enough money to buy
it, what to do ?
Contact me with an offer for something
I really need, or if you're living in a poor country I could negotiate
a discount price with you.
- by Ago