I believe that this guide was missing from a big l2 development & cheating forum such as this one what you say ?
With this tutorial you are able to remove the defenses NCsoft team adds to their systems and doing so you can decrypt their weapongrp.dat of (GoD Tauti example) since till now there exist only simple GoD File Editors.
You will find all the appropriate programms Here & here
So, let's start:
The first step I open a dat file for example l2itemname.data from h5 and paste everything in excell to haddle it easy then, I make a ddf with full UINT format for example:
FS = "\t";
HEADER = 1;
RECCNT = 1;
MTXCNT_OUT = 1;
MATCNT_OUT = 1;
ORD_IGNORE = 0;
{
UINT TEST[5];
}
So I will get full numbers in every where. The first number is a trash value, and you will get problems if u dont avoid it. so you can copy tha value and delete it from script with this.
FS = "\t";
HEADER = 1;
RECCNT = 1;
MTXCNT_OUT = 1;
MATCNT_OUT = 1;
ORD_IGNORE = 0;
{
UINT id
UINT TRASH;
ENBBY = [(id,trash_number)];
}
where trash trash_numberis the number that you got in the first script, now the enbby funtion is like a IF, use the value is id = trash_number, so you will use the trash number just in the begin of the script, and not the the others lines so no tras errors. We are just starting now, the script have a value named RECCNT and it will say how many rows you will check and is really use full whe you find a error to focus in the specific lines from the error. I start with RECCNT = 1 so I will focus in the first line. now I use a older ddf and run the l2disarm, I will get a error for sure . now start the hard part, you can use the Funtion ENBBY to check values in every field the problem is thta you can use it only for integer numbers, if the field have a string lines you will have problems, for exacmple let's say the first lines in h5 is:
1 stringcode 3 3 stringcode 0 0 0 0
and in GOD is:
1 3 3 stringcode stringcode 0 0 0 0 your first code in ddf will be UINT
{
UINT ID; //nextline you will check if is string or integer the problems is what values use xD? to test well check your H5 to get possibles numbers I will chosse 3 and use this funtion
UINT TEST;
UNICODE LOOKING_A_ERROR[1000];
ENBBY = [(TEST,3)];
}
if I get aa error, that mean the values is 3 and maybe i didnt change I will do this in every filed till I get some ddf without errors in the first lines if I do it I will go the next line maybe I will pass some lines maybe many of then, if I get a error in ahead I will look that lines in the older h5 dat and look for possibles values to test, yea I know this is so freak but it works some times . some usefull info ENBBY is like a If you can get a OR funtion by use ENNBY in a row I mean :
ENBBY = [(TEST,3)];
ENBBY = [(TEST,1)]; is line test = 3 or test = 1 or you can get AND FUNTION Using
ENBBY = [(TEST,3),(TEST,1)]; is like test = 3 and test=1, anothe funtion is SKIPIF = [(1),(3)]
FOR EXAMPLE:
UINT ID;
SKIPIF = = [(1),(3)];
it will sypp that field if the value is 1 or 3.
Well thats all I know I hope that I was clear enough to understand.. Any replies bad or good are accepted.
- Another useful guide by unexperienced l2 developer Dev. ;)
Credits : Dev
Cheers