NRZBot v2.2(Bot Fixed)

Here is the long-waited NRZBot v2.2. The functions are almost the same in NRZBot v2.0 but I added few features for the ease of botting. And because this NRZBot v2.2 is a total different codebase than the 2.0 one, if it's buggy, let me know. For details explanation, read the "Help" tab inside my bot.

[Added Features]
1. Auto Move with 3 options - Now botters can choose from the Auto Move tab with 3 options, Move One Side, Move Both Side and Normal Move.
2. Key choosing features. - Botters can choose which key to be use for different skills.


To be honest, I'm fairly new to the .Net Framework codebase which makes me kinda headache when making this bot. I've disable some buttons in the bot as I'm still figuring how to make it. Will update once I figure those buttons.



[Update]
1. Added Hotkeys for different checkboxes.
2. Attack will stop when Auto Move is on.(Keyboard detection, theoretically, when Left or Right arrow is pressed, attack will stop, when the arrow keys is released, attack will continue)





Edit : 
1. Bot Updated. All buttons works perfectly now. The "Save", "Load", "Exit NRZBot" and the "Exit MapleStory" works as it says.
2. Fixed some mistake on Move One Side codes.



-Let me know what to improve-

[How to use]
I've include an .exe injector which will ONLY inject the NRZBot v2.1 so that some dumbass which don't know how to deal with dll file will able to run it.
1. Run MapleStory FIRST.
2. Run NRZBot v2.1.exe(Run as admin if you are on Vista/7)
3. If there is a chance the injector doesn't inject(Fail injection), search for any injector that works for your PC, and inject the NRZBot v2.1 manually.

[Screen Shot]

Image

Image

Image

Image

VIRUSSCAN

[DOWNLOAD]
NRZBot v2.2

NRZChat Spammer

Here is the chat spammer I made, nothing much to say about it, just add in a few text, press F9 and you'll be spamming the text one by one.

[How to use]
1. Run MapleStory.
2. Run NRZChat Spammer.
3. Click the drop down box and search for "MapleStory"
4. Insert few line of texts.
5. Press F9 or click the SPAM checkbox.
6. SPAAAAAAAAAMMMMMM!

[How to save text]
1. Click the "Save Text" button and browse for the "default.spam" file.
2. Save.

[How to load text]
1. Click the "Load Text" button and browse for the "default.spam" file.
2. Open.

[Screen Shot]












[Credit]
Waffle for his wonderful source.

[Download Link]
NRZChat Spammer

NRZBot v2.0 Injector

This is an injector specially made by me for the injection of NRZBot v2.0
Tested in windows 7 and works. I'm not sure about the other OS since I don't have them.

**NOTE: Put the NRZBot v2.0 in the same folder as the injector.

[Step]
1. Run MapleStory first.(MUST, or else the injection will fail)
2. Run the injector.(Run as admin for Vista/7 users)
3. And you'll get the NRZBot v2.0 interface.

Download and install this if you have error running the Injector.
Microsoft Visual C++ Redistributable 2010 Package (32bit)
Microsoft Visual C++ Redistributable 2010 Package (64bit)

Help me to test it and let me know if the injector working, it works on my Window 7 64 bit though.

VirusScan
3 detected. Believe me, it's false positive, but if you don't, don't use it. That's all.

[Download Link]
NRZBot v2.0 Injector

[Tutorial]How to convert ASM script to C++

Yes, this is a tutorial including converting simple AA script, to codecave scripts. 
It will be short and sweet. I don't include any dll stuff inside just merge it with the dll you've made.
Ok, let's start it.

We take this simple Instant Drop script

CODE: SELECT ALL
//instant drop
// updated to MSEA 93 by nerrazzuri
[enable]
00ad0dd0:
add [eax],al
add [eax],al
add [eax],al
add [eax],al

[disable]
00af0dd0:
add [eax],al
add [eax],al
add [eax-71],al
inc eax


now to convert to a C++ script, you need to have it's bytes, which located in the memory view of Cheat Engine. (To learn on how to view Cheat Engine memory without getting HAD, LOOK HERE.)

I'll just give you the bytes here.

CODE: SELECT ALL
add [eax], al //bytes 00 00
add [eax-71], al//bytes 00 40 8f
inc eax// bytes 40


The byte should be, 00 00 00 00 00 40 8f 40. This is the [disable] part, while for the [enable] part, we see that,

CODE: SELECT ALL
add [eax], al // bytes 00 00


So, the bytes should be 00 00 00 00 00 00 00 00.

Create variables for the address that will be edited in the script.

CODE: SELECT ALL
DWORD dwInstantDropAddy = 0x00af0dd0;


Declare a variable that will hold the bytes when the hack is enabled.

CODE: SELECT ALL
BYTE Enabledbytes[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};


Declare a variable that will hold the bytes when the hack is disabled.

CODE: SELECT ALL
BYTE Disabledbytes[] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x8f, 0x40};


And write a function for the hacks

CODE: SELECT ALL
void InstantDrop (__in BOOL bEnable)
{
     if(bEnable)
     {
           memcpy((void*)dwInstantDropAddy, Enabledbytes, sizeof(Enabledbytes));
     }
     else
     {
           memcpy((void*)dwInstantDropAddy, Disabledbytes, sizeof(Disabledbytes));
     }
}


now you are successfully converted a simple AA script to C++. :D


We are going to a more advance step, codecave, TBH, sometimes I have difficulties to convert some script also, but in these tutorial, I'll just teach you how to convert scripts that I know.

We are using full monster book script. Here is it.

CODE: SELECT ALL
[ENABLE] 
alloc(MonsterBook,24) 
registersymbol(MonsterBook) 

0095d048:
jmp MonsterBook

MonsterBook: 
mov eax,5
jmp 0095d04d

[disable] 
0095d048:
call 007018c0

dealloc(MonsterBook,24) 
unregistersymbol(MonsterBook)


Alright, for codecave script, you could use inline ASM to insert the script directly. But first, you have to define jump globally so that the function could jump into the inline ASM script.

CODE: SELECT ALL
#define jmp(frm, to) (int)(((int)to - (int)frm) - 5);


And then, we declare the address.

CODE: SELECT ALL
DWORD g_dwBook = 0x0095d048, g_dwBooKRet = g_dwBook + 5;
char  g_szBookMem[5];


I know a lot of people doesn't really understand this, just follow the tutorial and you'll eventually understand it. :D 

Create a function for inline ASM and add the AA script into it.

CODE: SELECT ALL
__declspec(naked) void __stdcall MonsterBook()
{
    __asm 
    {
         mov eax,5
         jmp dword ptr [g_dwBookRet]
    }
}


Ok, I'll explain this one by one, why

CODE: SELECT ALL
g_dwBooKRet = g_dwBook + 5;

It's because the codecave need to jump to the address 0095d04d, which have 5 bytes at the original address 0095d048.

Well for the 

CODE: SELECT ALL
jmp dword ptr [g_dwBookRet]

It's kinda like, jump a word instead of byte(correct me if i'm wrong).

Now, we need to create a function to call the inline ASM.

CODE: SELECT ALL
void tglMonsterBook(__in BOOL bEnable)
{
     memcpy(g_szBookMem, (void*)g_dwBook, 5)//copy clean memory
     if(bEnable)
     {
          *(BYTE*)  g_dwBook = 0xe9; // 0xe9 = jmp
          *(DWORD*)(g_dwBook + 1) = jmp(g_dwBook, MonsterBook); // jmp to cave
     }
     else
     {
           memcpy( (void*)g_dwBook, g_szBookMem, 5);//copy the original bytes back to the address
     }
}


This is basically how a codecave script could be written in C++. I'll explain what is in the function.

CODE: SELECT ALL
*(BYTE*)  g_dwBook = 0xe9;

as I stated, it is a jump into the inline assembly script. We declare a jump that will jump to the codecave.


CODE: SELECT ALL
*(DWORD*)(g_dwBook + 1) = jmp(g_dwBook, MonsterBook);

This is where will jump into the codecave script.

Well that's all from my tutorial, correct me if I had written anything wrong, we can learn together. =)

NRZBot v2.0

Yeah, the NRZBot v2.0 was done. It has all the features which all botters need. I've updated the Auto Bot with 2 new features, a charging bot and aran swing bot. Charging bot is used for charged skills like Big Bang and Ice Breath. While Aran Bot will include 2 skills, Double Swing and Triple Swing. I will add more features like combo attack when I'm free. Please take note that the Aran Double Swing and Triple Swing is not usable with the Auto Loot feature. Use a pet loot instead. Too bad there is no other idea to make an Aran swing bot with Auto Loot feature on except using a packet. The screenshot will not be posted since the bot interface doesn't change much.




[Features]
- Pointer viewer : This is view your current pointers which included your character X/Y position, Attack Count, Channel, Map ID, HP/MP and many more. This will ease especially those who are active in wz edit map and the ID will show up for you instead of googling every time.

- Auto Clicker : The auto clicker will help bot user to click at a certain X-Y position. It was for fast clicking purpose. Especially for those who loves PQ much.

- Auto Potter : There will be 2 auto potter included in NRZBot.
                    - Value-Based Auto Potter : Take pots according to your HP/MP value.
                    - Time-Based Auto Potter : Take pots according the time you've set.

- Auto Bot : This is where bot users could set their skills for botting.
                    - Auto Loot : Helps bot users to loot item by pressing the "Z" key.
                    - Auto Attack : Helps bot users to Attack by pressing the "C" key.
                    - Auto Skills : Extra for bot users to cast skills or buffs on both "D" and "F" keys.
                    - Auto Mover : Help bot users to cancel the anti-bot detection by pressing the arrow keys.

                    - (*NEW)Charge Bot : Charge bot will help botters to charge up the skill and release it repeatly.
                    - (*NEW)Aran Bot : Aran skills, Double Swing and Triple Swing. 








[Download Link]
NRZBot v2.0


            

NRZBot -RELEASE-

Finally, I could proudly present my newest project to you! The NRZBot. As I've stated in the previous post, the NRZBot contain every single stuff you might need to use for botting purpose. The bot is currently working for every skills except double swing and triple swing, which was under development now. Once I've done my aran bot, it will be added into NRZBot for the next update. As you can see from the screenshot, there will be a tutorial to help you guys on how to use the setting before you start to use NRZBot. But be sure to read it or else you'll get screwed up especially for the auto potter part. I've included a save function for you guys so that you'll just load the setting for your character and you doesn't need to re-enter every single delay everytime you start up the bot.

[Update]
- Wordings changed, resized the bot.
- Fixed a bug where Auto Loot will be turn off when Auto Mover turn on.


[FEATURES]

- Pointer viewer : This is view your current pointers which included your character X/Y position, Attack Count, Channel, Map ID, HP/MP and many more. This will ease especially those who are active in wz edit map and the ID will show up for you instead of googling every time.

- Auto Clicker : The auto clicker will help bot user to click at a certain X-Y position. It was for fast clicking purpose. Especially for those who loves PQ much.

- Auto Potter : There will be 2 auto potter included in NRZBot.
                    - Value-Based Auto Potter : Take pots according to your HP/MP value.
                    - Time-Based Auto Potter : Take pots according the time you've set.

- Auto Bot : This is where bot users could set their skills for botting.
                    - Auto Loot : Helps bot users to loot item by pressing the "Z" key.
                    - Auto Attack : Helps bot users to Attack by pressing the "C" key.
                    - Auto Skills : Extra for bot users to cast skills or buffs on both "D" and "F" keys.
                    - Auto Mover : Help bot users to cancel the anti-bot detection by pressing the arrow keys.


[Screenshot]



















Well, as you can see, there will be a tutorial about on how to use the bot. So read it first before asking stupid questions. Everything is stated inside the tutorial clearly and IF there is something I missed out, just let me know.
Feedback needed. Please comment on my new project, I need that to improve NRZBot for next update.

Virus Scan

[Download Link]
NRZBot

NRZBot -PREVIEW-

There you go! NRZBot is almost done! Well, I could say that this will be my final project for MyBot, and I've decided to change it's name to NRZBot. there will be not much changes for the next update(might add some additional stuff), NRZBot will consist of a complete bot with auto attack, auto loot, and auto skills for buffs, also a value-based autopotter and a time-based autopotter to choose on depending on your botting method. Additionally, an auto-clicker was included into this bot for fast clicking purpose.

[Screen Shot]






Ok, This will be the screenshot of NRZBot. There will be a tutorial in it to help you guys so that you will not be messing up with it. Anyway, I'm still on the final part, will be release soon. Might be in these few days.

Well, I accept any suggestion to add in more features. Please give me some feedback to improve it.

**NRZBot is complete. It will be release tomorrow(9/6/2010).
**An additional features has been added, an Auto Mover. It will help the character to move ONLY left and            right for specific time.

Thanks.

MyBot v1.1 -RELEASE-

This is the release version of MyBot. I know there are lots of bugs on the last version, all the bugs were fixed. MyBot v1.1 will have zero lag, accurate pointers, an auto bot feature, an auto potter and a new one, auto clicker. Well I know this bot was simple, but I'm sure that I'm capable to made a better bot in the future. Anyway, just inject the bots into the game using any injector that suit your PC.

*Note : Download C++ Redistributable Package 2010 for those who had an error injecting into the game.

*And to those who dislike my release, just leave here and don't come back. I can understand a kid's feeling when jealousy overtakes your rational. Stop barking like a dog on my chat post and act like you know me well.

[ScreenShot]






















**Warning : Read the Key Config button and Reminder button before you attempt to use this bot.

[Update]
1. Decrease the massive lag cause by pointer search.
2. Fixed bugs, Map ID and Attack Counter working now.
3. Added an Auto Clicker.
4. Changed the interface, better layout.

[Virus Scan]

[Download Link]
MyBot v1.1

MyBot v1.0 -BETA-

Proudly brought to you, MyBot v1.0. It still in testing though, not sure if it's buggy or what. Need you guys help me to test it and give me some feedback so I could fix any bugs in it. The bot is very self-explanatory, it will show you the information about yourself, your channel, your map ID, and a lot more. It has few features to help botting such as auto loot, auto attack and auto skills. And it will helps botter to drink potion once the HP and MP value is lower than the value sets. I've found one bug which couldn't be fixed is that the HP and MP value will not show accurately once your HP and MP is full, but it only shows the 95% of your Max HP and MP. For certain reason, to show Max HP and MP, you need to have a bypass. Anyway, hope you guys could help me test it and give me some feedback about it and I'll try to fixed it for you.

*Reminder* PLEASE SET YOUR HP AND MP ALERT TO MAX TO AVOID SCREWING UP YOUR POTS.
[Screen Shot]



















[Keys Configuration]
Auto Loot : Z
Auto Attack : C
Auto Skill 1 : D
Auto Skill 2 : F
Auto Pot HP : DEL
Auto Pot MP : END

Virus Scan

[Download Link]
MyBot v1.0

Sad News.

A sad news for MapleStory SEA hacking community, I don't know if it's only me but after today server check, MapleStory will reject any dll injection into the game and detects it as a hacking tool. Soon, I can see the end of public hacks for MapleStory SEA. 


Well, I'm not very sure of this, I just try to inject several different dll into the game but all end up crashing MapleStory and Hackshield detects as a hacking tools.

MyTrainer v2.1

After few days working on it, I've done with MyTrainer v2.1. Basically, it does what MyTrainer v2.1 does, but with a good looking GUI and a better layout. =)

[ScreenShot]
























Still, you need a bypass to use this, you'll get kicked out off the game if you intent to use it without inserting a bypass before.
Have fun using it.

[Download Link]
Here

MyTrainer v2

I'm ready with MyTrainer v2. This hacks has more features than the last one. Well, everything was the same as MyTrainer, it just I've added few hacks in it.
*NOTICE: Some hacks does ban. USE IT AT YOUR OWN RISK. You have been warned.

[Screenshot]
























Tell me if any hacks doesn't work. I'll try to figure it out.

[Download Link]
MyTrainer v2
MyTrainer v2(Mirror)

[Tut]How to Make a DLL Trainer

Well since a lot of you guys asking me on how to make a trainer, I'll just post a tutorial on how to make a simple trainer like I've released. This was a total spoon feed so it will be copy and paste and edit. First, there are few things you need:
1. Microsoft Visual Studio 2010
2. A lil knowledge about Assembly.

Ok, let's start this. Run your Microsoft Visual Studio 2010. Click New Project->Win32 and Enter your Project name. Lets say Trainer. Click Ok and next, choose DLL and Empty project. Now you are in Trainer.cpp blank page. Ok, now go Solution Explorer(You could find it easily a View tab) and you'll see 4 things there:
1. External Dependencies
2. Header Files
3. Resource Files
4. Source Files

















Now you need to add in a few files inside these folders to make it work. To add a file, simply right click->Add and choose your extension. For Header Files, choose .h extension. For Source Files, choose .cpp extension.  I'm lazy so I posted a screenshot for you all to look at, add all the files inside the screenshot.






















Ok, if you follow my simple tutorial, these would be your files to make your first dll trainer. We'll use the most simple example for this tutorial.Super tubi.
//Tubi(Updated by nerrazzuri msea v93)
[enable]
00488AA6: //75 ? 83 7C 24 ? ? 75 ? 8B ? ? ? ? ? FF 70 ? 83 C0 ? 50
DB 90 90
[disable]
00488AA6: //75 ? 83 7C 24 ? ? 75 ? 8B ? ? ? ? ? FF 70 ? 83 C0 ? 50
jne 00488ADE //byte 75 36

Now, Open up your Trainer.h and paste the codes below into it.
#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'\"")
#include Window.h (add <>, I couldn't add here)

#include tchar.h (add <>, I couldn't add here)


//ADD HACKS BELOW *THIS IS KINDA LIKE A LIST OF THE HACKS YOU ARE ADDING*

void SuperTubi(__in BOOL bEnable);//To add in more hacks, simply copy this line and paste it at the bottom, and change the name SuperTubi to others for example NoKnockBack.


After you have done, now we move to the part where everyone loves, GUI. Go back to the Solution Explorer->Right Click at the Resource Files. Add a Resource(not item) and choose Dialog(DO NOT CLICK THE +, click Dialog and click new and you'll bring to a Dialog Box which is like below:

















Add in a checkbox at the Dialog Editor(You can found it easily at View->Toolbars) like mine below.

















You could resize your Dialog Box and the size you edited will be show up while you inject into the game.

Open up, dllmain.h and paste this inside.
#include Window.h (add <>, I couldn't add here)

#include tchar.h (add <>, I couldn't add here)



extern HINSTANCE g_h_main_instance;

And finally your gui.h
#include Window,h (add <>, I couldn't add here)

#include stdlib.h (add <>, I couldn't add here)

#include CommCtrl (add <>, I couldn't add here)

#include "resource.h"

DWORD WINAPI CreateGUIThread(__in LPVOID lParam);
INT_PTR CALLBACK DialogProc(__in HWND hwndDlg,__in UINT uMsg,__in WPARAM wParam,__in LPARAM lParam);

Now go to your Source Files, and open up your dllmain.cpp and paste this
#include "dllmain.h"
#include "gui.h"

HINSTANCE g_h_main_instance;

BOOL WINAPI DllMain(__in HINSTANCE hinstDLL, __in DWORD fdwReason, __in LPVOID lpvReserved)
{
  switch(fdwReason)
  {
  case DLL_PROCESS_ATTACH:
    g_h_main_instance = hinstDLL;    
    DisableThreadLibraryCalls(hinstDLL);    
    CreateThread(0, 0, CreateGUIThread, 0, 0, 0);
    break;
  }
  return TRUE;
}

And your gui.cpp
#include "gui.h"
#include "dllmain.h"
#include "cheats.h"

DWORD WINAPI CreateGUIThread(__in LPVOID lParam)
{
DialogBox(g_h_main_instance, MAKEINTRESOURCE(IDD_DIALOG1), 0, DialogProc);
return 0;
}

INT_PTR CALLBACK DialogProc(__in HWND hwndDlg,__in UINT uMsg,__in WPARAM wParam,__in LPARAM lParam)
{
int checked;

switch(uMsg)
{
case WM_INITDIALOG:

return TRUE;

case WM_COMMAND:
switch(LOWORD(wParam))
{
       case IDC_CHECK1:    
checked = IsDlgButtonChecked(hwndDlg, IDC_CHECK1);
SuperTubi(checked);
break;
}
break;

case WM_CLOSE:
EndDialog(hwndDlg, 0);
break;
}

return 0;
}


Ok, now finally, open up your Trainer.cpp, add this
#include "Trainer.h"

BOOL WriteAddress(__in LPVOID lpcvBase, __in LPCVOID lpcvWriteValue, __in size_t uSize)
{
DWORD old_protection = 0;

__try
{
if(VirtualProtect(lpcvBase, uSize, PAGE_READWRITE, &old_protection))
{
memcpy_s(lpcvBase, uSize, lpcvWriteValue, uSize);
VirtualProtect(lpcvBase, uSize, old_protection, &old_protection);
}
else
return FALSE;
}
__except(EXCEPTION_EXECUTE_HANDLER)
{
return FALSE;
}
return TRUE;
}

VOID SuperTubi(__in BOOL bEnable)
{
static BYTE normalbytes[] = {0x75, 0x36}; //DISABLED bytes of the hack
static BYTE hackonbytes[] = {0x90, 0x90}; //ENABLED bytes of the hack
static DWORD HackAddr = 0x00488AA6; //Address of the hack

if(bEnable)
WriteAddress((LPVOID)HackAddr, hackonbytes, 2); //Number of ENABLED bytes...
else
WriteAddress((LPVOID)HackAddr, normalbytes, 2); //Number of DISABLED bytes...
}

Well, this is the main part of the codes. I'll explain it 1 by 1, follow me tightly. Firstly you need to know the bytes for the hacks. Simply open Cheat Engine and go to the address and you'll see something like 00488AA6(Address)-75 36(Bytes)-jne 00488ADE(Opcodes). Copy down the bytes part.
static BYTE normalbytes[] = {0x75, 0x36};
Your original bytes.(The one found in Cheat Engine.)

static BYTE hackonbytes[] = {0x90, 0x90};
Your edited bytes.(90 = nop = do nothing)

static DWORD HackAddr = 0x00488AA6;
Your hack address.

WriteAddress((LPVOID)HackAddr, hackonbytes, 2);
The bytes you need to activate the hacks. (Super tubi have 2 because 90 90, so if your hack bytes are 90 90 90, then change the 2 to 3)

WriteAddress((LPVOID)HackAddr, normalbytes, 2);
Your disable bytes amount.(Change it if you have different amount)

Now you have your done your Trainer.cpp, go to gui.cpp. If you have more checkbox to tick with, do it like me.



















The IDC_CHECK1 is your checkbox ID to find it, back to Solution Explorer->Resource Files->Dialog->Double click your Dialog Box, and right click your check box and select properties. There will be a properties box beside(either on left or right) and find the (Name) and it would be your check box name. Change both the IDC_CHECK1 to your check box name. And lastly, Change the SuperTubi name to the hack name you've declared in the Trainer.h(must exactly the same) and you are done!

Click the save all button at the top(I assume you could search yourself) and click Build->Build Solution to see whether there is error or not. If your codes are perfectly done, go back to Solution Explorer, right click the Solution 'Trainer' (1 project) and select Configuration Manager. Change Debug to Release and go back to Build and click Rebuild Solution. And CONGRATULATIONS! You have just done your first dll trainer!.

To find your dll, simply go My Document->;Visual Studio 2010->;Project->;Trainer->;Release.

Well, that's all from my tutorial, hope you'll have fun making your own trainer. Good Luck guys!

[Dowload Link]
Microsoft Visual Studio 2010 Professional
Mirror

Credit:
Goomba @GK for the teaching me how to do it.
Me, for typing this freaking long tutorial  :D