evp
evs
dat
csv
lua
a need for a lot because I'm with talisman files plus all encrypted! I am awaiting a thank you help!

aluigi wrote:TZ Online has been covered in various topics on both zenhax and xentax under different names and versions (shumenol, Talisman Online, Zuixiaoyao, weapons of war online and so on).
For the archives try this script:
http://aluigi.altervista.org/bms/tzonline.bms
For the other files I have no idea but checks on google:
shumenol Talisman online Zuixiaoyao weapons of war online site:zenhax.com
shumenol Talisman online Zuixiaoyao weapons of war online site:xentax.com
Code: Select all
wps ¶ “hçõ}A @_ OpenFlag ð? SpecialNpcList A
‡ €
Code: Select all
int __usercall sub_BA4060@<eax>(int a1@<esi>)
{
const char *v1; // ebx@1
_DWORD *v2; // eax@2
bool v3; // zf@2
int v4; // eax@2
_BYTE *v5; // ecx@3
int v6; // edi@3
int result; // eax@7
v1 = "\x1Bwps";
while ( 1 )
{
v2 = *(_DWORD **)(a1 + 4);
v3 = (*v2)-- == 0;
v4 = *(_DWORD *)(a1 + 4);
if ( v3 )
{
v6 = sub_B9D950(*(_DWORD *)(a1 + 4));
}
else
{
v5 = *(_BYTE **)(v4 + 4);
v6 = *v5;
*(_DWORD *)(v4 + 4) = v5 + 1;
}
if ( v6 == -1 )
sub_B9ED80(*(_DWORD *)a1, "unexpected end of file in %s", *(_DWORD *)(a1 + 16));
result = *v1;
if ( v6 != result )
break;
if ( !*++v1 )
return result;
}
if ( *v1 )
sub_B9ED80(*(_DWORD *)a1, "bad signature in %s", *(_DWORD *)(a1 + 16));
return result;
}
Code: Select all
LUA_SIGNATURE must be:
#define LUA_SIGNATURE "\x1Bwps" /* binary files start with "<esc>Lua" */
VERSION and VERSION0 must be:
#define VERSION 0x10 /* last format change was in 5.0 */
#define VERSION0 0x10 /* last major change was in 5.0 */
Code: Select all
#define LUA_OPNAMES
Code: Select all
#include <sys/param.h>
Code: Select all
#define MIN(a,b) (((a)<(b))?(a):(b))
#define MAX(a,b) (((a)>(b))?(a):(b))
Code: Select all
luadec.exe npclocation.lua
GetCurrentNpcLocation = function()
return "NpcLocation"
end
NpcLocation = {}
NpcLocation[0] = {24, 388, -160, 1}
NpcLocation[1] = {25, -129, -111, 6}
NpcLocation[2] = {46, 281, -138, 1}
NpcLocation[3] = {46, 285, -143, 2}
NpcLocation[4] = {35, -491, -667, 4}
NpcLocation[5] = {32, 99, -609, 4}
NpcLocation[6] = {69, -360, -430, 12}
NpcLocation[7] = {123, -400, -391, 12}
NpcLocation[8] = {31, 395, -348, 12}
NpcLocation[9] = {56, -223, -423, 6}
NpcLocation[10] = {122, -275, -621, 0}
NpcLocation[11] = {93, 24, -884, 8}
NpcLocation[12] = {8, 345, 109, 15}
NpcLocation[13] = {196, -325, -803, 8}
NpcLocation[14] = {204, 415, 627, 8}
NpcLocation[15] = {142, 103, 199, 3}
NpcLocation[16] = {141, 102, 145, 3}
NpcLocation[17] = {140, 137, 111, 3}
NpcLocation[18] = {139, 242, 102, 3}
NpcLocation[19] = {138, 199, 149, 3}
NpcLocation[20] = {136, 72, 97, 9}
NpcLocation[21] = {224, 448, 306, 14}
NpcLocation[22] = {234, 345, 115, 0}
NpcLocation[23] = {234, 317, 115, 15}
NpcLocation[24] = {234, 318, 111, 4}
NpcLocation[25] = {234, 358, 113, 0}
NpcLocation[26] = {234, 336, 102, 15}
NpcLocation[27] = {234, 321, 103, 3}
NpcLocation[28] = {234, 355, 126, 6}
NpcLocation[29] = {234, 335, 128, 6}
NpcLocation[30] = {234, 339, 129, 6}
NpcLocation[31] = {237, 68, -90, 7}
NpcLocation[32] = {38, -547, -657, 4}
NpcLocation[33] = {33, -537, -649, 8}
NpcLocation[34] = {59, -537, -663, 0}
NpcLocation[35] = {242, -162, -598, 14}
NpcLocation[36] = {90, -204, -552, 1}
NpcLocation[37] = {37, -196, -403, 7}
NpcLocation[38] = {302, -808, -796, 11}
NpcLocation[39] = {297, -908, -922, 11}
NpcLocation[40] = {309, -1256, -996, 2}
NpcLocation[41] = {312, -1127, -1127, 7}
NpcLocation[42] = {330, -854, -895, 15}
NpcLocation[43] = {329, -882, -945, 9}
NpcLocation[44] = {316, -1138, -939, 8}
NpcLocation[45] = {316, -1138, -1000, 4}
NpcLocation[46] = {316, -1138, -1005, 4}
NpcLocation[47] = {316, -1149, -996, 10}
NpcLocation[48] = {316, -1158, -987, 10}
NpcLocation[49] = {316, -1094, -968, 10}
NpcLocation[50] = {316, -1090, -1005, 14}
NpcLocation[51] = {316, -1155, -948, 5}
NpcLocation[52] = {316, -1165, -942, 9}
NpcLocation[53] = {316, -1186, -943, 9}
NpcLocation[54] = {316, -1156, -824, 10}
NpcLocation[55] = {316, -1216, -892, 5}
NpcLocation[56] = {316, -1180, -919, 1}
NpcLocation[57] = {316, -1193, -986, 1}
NpcLocation[58] = {316, -1208, -974, 8}
NpcLocation[59] = {316, -1225, -873, 1}
NpcLocation[60] = {316, -1152, -886, 13}
NpcLocation[61] = {316, -1153, -851, 10}
NpcLocation[62] = {316, -1232, -934, 3}
NpcLocation[63] = {316, -1235, -950, 4}
NpcLocation[64] = {316, -1147, -900, 10}
NpcLocation[65] = {316, -1250, -930, 9}
NpcLocation[66] = {316, -1072, -988, 11}
NpcLocation[67] = {316, -1135, -941, 9}
NpcLocation[68] = {339, 125, -1673, 2}
NpcLocation[69] = {341, -200, -1407, 5}
NpcLocation[70] = {72, 179, -1389, 9}
NpcLocation[71] = {354, 203, -843, 9}
NpcLocation[72] = {95, 92, -875, 0}
NpcLocation[73] = {190, -644, -1195, 2}
NpcLocation[74] = {378, -469, -1097, 15}
NpcLocation[75] = {378, -736, -1151, 4}
NpcLocation[76] = {378, -664, -1113, 11}
NpcLocation[77] = {378, -526, -1041, 11}
NpcLocation[78] = {378, -734, -993, 4}
NpcLocation[79] = {197, -297, -1127, 0}
NpcLocation[80] = {195, -281, -1223, 7}
NpcLocation[81] = {382, -318, -1218, 10}
NpcLocation[82] = {382, -315, -1246, 15}
NpcLocation[83] = {382, -282, -1247, 13}
NpcLocation[84] = {382, -304, -1234, 10}
NpcLocation[85] = {382, -287, -1222, 8}
NpcLocation[86] = {382, -334, -1212, 8}
NpcLocation[87] = {382, -327, -1240, 14}
NpcLocation[88] = {382, -343, -1201, 11}
NpcLocation[89] = {382, -342, -1210, 9}
NpcLocation[90] = {382, -339, -1233, 0}
NpcLocation[91] = {382, -378, -1188, 7}
NpcLocation[92] = {382, -362, -1180, 6}
NpcLocation[93] = {382, -351, -1193, 9}
NpcLocation[94] = {382, -372, -1203, 3}
NpcLocation[95] = {382, -382, -1197, 3}
NpcLocation[96] = {382, -388, -1184, 4}
NpcLocation[97] = {382, -361, -1216, 1}
NpcLocation[98] = {382, -351, -1228, 1}
NpcLocation[99] = {382, -356, -1205, 1}
NpcLocation[100] = {382, -329, -1226, 1}
NpcLocation[101] = {198, -315, -1464, 8}
NpcLocation[102] = {190, -307, -1468, 9}
NpcLocation[103] = {390, -313, -1486, 0}
NpcLocation[104] = {349, -18, -1290, 0}
NpcLocation[105] = {349, -36, -1291, 0}
NpcLocation[106] = {349, -14, -1265, 0}
NpcLocation[107] = {349, 10, -1273, 0}
NpcLocation[108] = {349, -30, -1255, 0}
NpcLocation[109] = {349, 11, -1243, 0}
NpcLocation[110] = {349, 1, -1252, 0}
NpcLocation[111] = {349, 67, -1250, 0}
NpcLocation[112] = {349, 39, -1266, 0}
NpcLocation[113] = {349, 0, -1226, 0}
NpcLocation[114] = {349, -45, -1245, 14}
NpcLocation[115] = {349, -42, -1225, 14}
NpcLocation[116] = {349, 44, -1233, 9}
NpcLocation[117] = {349, 82, -1243, 9}
NpcLocation[118] = {349, -90, -1219, 9}
NpcLocation[119] = {349, 124, -1255, 0}
dbrito wrote:result : bad singture in pve.lua :C
atom0s wrote:dbrito wrote:result : bad singture in pve.lua :C
You need to edit the src to Lua like I said to above.
atom0s wrote:I'll explain what you need to do but you will have to do the steps yourself:
1. Download an old version of LuaDec that supported Lua 5.0 (or 5.0.2):
http://files.luaforge.net/releases/luadec/luadec/0.6
2. Open lundump.h within the \includes\ folder and edit the following:Code: Select all
LUA_SIGNATURE must be:
#define LUA_SIGNATURE "\x1Bwps" /* binary files start with "<esc>Lua" */
VERSION and VERSION0 must be:
#define VERSION 0x10 /* last format change was in 5.0 */
#define VERSION0 0x10 /* last major change was in 5.0 */
3. Open lua.h within the \includes\ folder and add the following to the top:Code: Select all
#define LUA_OPNAMES
4. Open StringBuffer.h and StringBuffer.c within the \src\luadec\ folder and remove the following include:Code: Select all
#include <sys/param.h>
5. At the top of StringBuffer.h add the following:Code: Select all
#define MIN(a,b) (((a)<(b))?(a):(b))
#define MAX(a,b) (((a)>(b))?(a):(b))
6. Build the source for Lua and LuaDec, then it should work on the scripts dumped for this game.
For example, decompiling an npc script gives:Code: Select all
luadec.exe npclocation.lua
GetCurrentNpcLocation = function()
return "NpcLocation"
end
NpcLocation = {}
NpcLocation[0] = {24, 388, -160, 1}
NpcLocation[1] = {25, -129, -111, 6}
NpcLocation[2] = {46, 281, -138, 1}
NpcLocation[3] = {46, 285, -143, 2}
NpcLocation[4] = {35, -491, -667, 4}
NpcLocation[5] = {32, 99, -609, 4}
NpcLocation[6] = {69, -360, -430, 12}
NpcLocation[7] = {123, -400, -391, 12}
NpcLocation[8] = {31, 395, -348, 12}
NpcLocation[9] = {56, -223, -423, 6}
NpcLocation[10] = {122, -275, -621, 0}
NpcLocation[11] = {93, 24, -884, 8}
NpcLocation[12] = {8, 345, 109, 15}
NpcLocation[13] = {196, -325, -803, 8}
NpcLocation[14] = {204, 415, 627, 8}
NpcLocation[15] = {142, 103, 199, 3}
NpcLocation[16] = {141, 102, 145, 3}
NpcLocation[17] = {140, 137, 111, 3}
NpcLocation[18] = {139, 242, 102, 3}
NpcLocation[19] = {138, 199, 149, 3}
NpcLocation[20] = {136, 72, 97, 9}
NpcLocation[21] = {224, 448, 306, 14}
NpcLocation[22] = {234, 345, 115, 0}
NpcLocation[23] = {234, 317, 115, 15}
NpcLocation[24] = {234, 318, 111, 4}
NpcLocation[25] = {234, 358, 113, 0}
NpcLocation[26] = {234, 336, 102, 15}
NpcLocation[27] = {234, 321, 103, 3}
NpcLocation[28] = {234, 355, 126, 6}
NpcLocation[29] = {234, 335, 128, 6}
NpcLocation[30] = {234, 339, 129, 6}
NpcLocation[31] = {237, 68, -90, 7}
NpcLocation[32] = {38, -547, -657, 4}
NpcLocation[33] = {33, -537, -649, 8}
NpcLocation[34] = {59, -537, -663, 0}
NpcLocation[35] = {242, -162, -598, 14}
NpcLocation[36] = {90, -204, -552, 1}
NpcLocation[37] = {37, -196, -403, 7}
NpcLocation[38] = {302, -808, -796, 11}
NpcLocation[39] = {297, -908, -922, 11}
NpcLocation[40] = {309, -1256, -996, 2}
NpcLocation[41] = {312, -1127, -1127, 7}
NpcLocation[42] = {330, -854, -895, 15}
NpcLocation[43] = {329, -882, -945, 9}
NpcLocation[44] = {316, -1138, -939, 8}
NpcLocation[45] = {316, -1138, -1000, 4}
NpcLocation[46] = {316, -1138, -1005, 4}
NpcLocation[47] = {316, -1149, -996, 10}
NpcLocation[48] = {316, -1158, -987, 10}
NpcLocation[49] = {316, -1094, -968, 10}
NpcLocation[50] = {316, -1090, -1005, 14}
NpcLocation[51] = {316, -1155, -948, 5}
NpcLocation[52] = {316, -1165, -942, 9}
NpcLocation[53] = {316, -1186, -943, 9}
NpcLocation[54] = {316, -1156, -824, 10}
NpcLocation[55] = {316, -1216, -892, 5}
NpcLocation[56] = {316, -1180, -919, 1}
NpcLocation[57] = {316, -1193, -986, 1}
NpcLocation[58] = {316, -1208, -974, 8}
NpcLocation[59] = {316, -1225, -873, 1}
NpcLocation[60] = {316, -1152, -886, 13}
NpcLocation[61] = {316, -1153, -851, 10}
NpcLocation[62] = {316, -1232, -934, 3}
NpcLocation[63] = {316, -1235, -950, 4}
NpcLocation[64] = {316, -1147, -900, 10}
NpcLocation[65] = {316, -1250, -930, 9}
NpcLocation[66] = {316, -1072, -988, 11}
NpcLocation[67] = {316, -1135, -941, 9}
NpcLocation[68] = {339, 125, -1673, 2}
NpcLocation[69] = {341, -200, -1407, 5}
NpcLocation[70] = {72, 179, -1389, 9}
NpcLocation[71] = {354, 203, -843, 9}
NpcLocation[72] = {95, 92, -875, 0}
NpcLocation[73] = {190, -644, -1195, 2}
NpcLocation[74] = {378, -469, -1097, 15}
NpcLocation[75] = {378, -736, -1151, 4}
NpcLocation[76] = {378, -664, -1113, 11}
NpcLocation[77] = {378, -526, -1041, 11}
NpcLocation[78] = {378, -734, -993, 4}
NpcLocation[79] = {197, -297, -1127, 0}
NpcLocation[80] = {195, -281, -1223, 7}
NpcLocation[81] = {382, -318, -1218, 10}
NpcLocation[82] = {382, -315, -1246, 15}
NpcLocation[83] = {382, -282, -1247, 13}
NpcLocation[84] = {382, -304, -1234, 10}
NpcLocation[85] = {382, -287, -1222, 8}
NpcLocation[86] = {382, -334, -1212, 8}
NpcLocation[87] = {382, -327, -1240, 14}
NpcLocation[88] = {382, -343, -1201, 11}
NpcLocation[89] = {382, -342, -1210, 9}
NpcLocation[90] = {382, -339, -1233, 0}
NpcLocation[91] = {382, -378, -1188, 7}
NpcLocation[92] = {382, -362, -1180, 6}
NpcLocation[93] = {382, -351, -1193, 9}
NpcLocation[94] = {382, -372, -1203, 3}
NpcLocation[95] = {382, -382, -1197, 3}
NpcLocation[96] = {382, -388, -1184, 4}
NpcLocation[97] = {382, -361, -1216, 1}
NpcLocation[98] = {382, -351, -1228, 1}
NpcLocation[99] = {382, -356, -1205, 1}
NpcLocation[100] = {382, -329, -1226, 1}
NpcLocation[101] = {198, -315, -1464, 8}
NpcLocation[102] = {190, -307, -1468, 9}
NpcLocation[103] = {390, -313, -1486, 0}
NpcLocation[104] = {349, -18, -1290, 0}
NpcLocation[105] = {349, -36, -1291, 0}
NpcLocation[106] = {349, -14, -1265, 0}
NpcLocation[107] = {349, 10, -1273, 0}
NpcLocation[108] = {349, -30, -1255, 0}
NpcLocation[109] = {349, 11, -1243, 0}
NpcLocation[110] = {349, 1, -1252, 0}
NpcLocation[111] = {349, 67, -1250, 0}
NpcLocation[112] = {349, 39, -1266, 0}
NpcLocation[113] = {349, 0, -1226, 0}
NpcLocation[114] = {349, -45, -1245, 14}
NpcLocation[115] = {349, -42, -1225, 14}
NpcLocation[116] = {349, 44, -1233, 9}
NpcLocation[117] = {349, 82, -1243, 9}
NpcLocation[118] = {349, -90, -1219, 9}
NpcLocation[119] = {349, 124, -1255, 0}
Keep in mind that not all scripts will work with this. They seem to have modded the verison of Lua they use (5.0) to handle things that are not stock. While a lot of scripts will decompile fine, others will either crash luadec or cause it to fail to decompile. The only way you will fix that is disassembling the game client and finding the opcode handler for Lua and finding anything custom and add it to Luadec yourself.
Fuujii wrote:i did it using make command, but only worked with two exe files called lua.exe and luac.exe, the last one luadec gave some errors at process and was not inside folder bin at end of process, i saw a bit of this errors one of them was in stdio.h of sys, and proto.h i think.
system wrote:Invalid information profvided does not work on any Linux OS. Recommend closing and deleting thread as it appears on google and is missleading to others.
aluigi wrote:Let's cut the wasted time (and posts) of everybody.
I have attached the compiled lua executables.
The <sys/param.h> step wasn't needed and it was necessary to comment the "#define USE_DLL 1" in loadlib.c
Code: Select all
--[[ DECOMPILER ERROR 816: Confused about usage of registers ]]