avatar_worldhero

Как изменить параметры в игре MU Online на серверных файлах? Помощь в поиске смещения и замены

Автор worldhero, 2010 Июль 09, 09:28

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Ключевые слова [SEO] mu onlineсерверные файлы MUпомощьзаменасмещение

worldhero

Прошу Помощи...
взял вот это:
Цитировать//AttackSpeed-Defense-Etc
#define GS_18_ADDR_AttackDamageMin_Bow_StrDexDiv_Elf1    0x004C2BD3
#define GS_18_ADDR_AttackDamageMin_Bow_StrDexDiv_Elf2    0x004C2C02

#define GS_18_ADDR_AttackDamageMax_Bow_StrDexDiv_Elf1    0x004C2BEA
#define GS_18_ADDR_AttackDamageMax_Bow_StrDexDiv_Elf2    0x004C2C19

#define GS_18_ADDR_AttackDamageMin_NoBow_DexDiv_Elf1    0x004C2C33
#define GS_18_ADDR_AttackDamageMin_NoBow_DexDiv_Elf2    0x004C2C7B

#define GS_18_ADDR_AttackDamageMin_NoBow_StrDiv_Elf1    0x004C2C40
#define GS_18_ADDR_AttackDamageMin_NoBow_StrDiv_Elf2    0x004C2C88

#define GS_18_ADDR_AttackDamageMax_NoBow_Elf1    0x004C2C56
#define GS_18_ADDR_AttackDamageMax_NoBow_Elf2    0x004C2C9E

#define GS_18_ADDR_AttackDamageMin_DexStrDiv_Elf1    0x004C2CC8
#define GS_18_ADDR_AttackDamageMin_DexStrDiv_Elf2    0x004C2CF7

#define GS_18_ADDR_AttackDamageMax_DexStrDiv_Elf1    0x004C2D0E
#define GS_18_ADDR_AttackDamageMax_DexStrDiv_Elf2    0x004C2CDF

#define GS_18_ADDR_AttackDamageMin_StrDiv_DK1    0x004C2D39
#define GS_18_ADDR_AttackDamageMin_StrDiv_DK2    0x004C2D62

#define GS_18_ADDR_AttackDamageMax_StrDiv_DK1    0x004C2D4D
#define GS_18_ADDR_AttackDamageMax_StrDiv_DK2    0x004C2D76

#define GS_18_ADDR_AttackDamageMin_StrDiv_MG1    0x004C2DA5
#define GS_18_ADDR_AttackDamageMin_StrDiv_MG2    0x004C2DED

#define GS_18_ADDR_AttackDamageMin_EneDiv_MG1    0x004C2DB2
#define GS_18_ADDR_AttackDamageMin_EneDiv_MG2    0x004C2DFA

#define GS_18_ADDR_AttackDamageMax_StrDiv_MG1    0x004C2DC8
#define GS_18_ADDR_AttackDamageMax_StrDiv_MG2    0x004C2E10

#define GS_18_ADDR_AttackDamageMin_StrDiv_DL1    0x004C2E95
#define GS_18_ADDR_AttackDamageMin_StrDiv_DL2    0x004C2E4F

#define GS_18_ADDR_AttackDamageMin_EneDiv_DL1    0x004C2E5C
#define GS_18_ADDR_AttackDamageMin_EneDiv_DL2    0x004C2EA2

#define GS_18_ADDR_AttackDamageMax_StrDiv_DL1    0x004C2E72
#define GS_18_ADDR_AttackDamageMax_StrDiv_DL2    0x004C2EB8

#define GS_18_ADDR_AttackDamageMax_EneDiv_DL1    0x004C2E7F
#define GS_18_ADDR_AttackDamageMax_EneDiv_DL2    0x004C2EC5

#define GS_18_ADDR_AttackDamageMin_StrDiv_DWSU1    0x004C2EDD
#define GS_18_ADDR_AttackDamageMin_StrDiv_DWSU2    0x004C2F07

#define GS_18_ADDR_AttackDamageMax_StrDiv_DWSU1    0x004C2EF2
#define GS_18_ADDR_AttackDamageMax_StrDiv_DWSU2    0x004C2F1C

#define GS_18_ADDR_AttackSpeed_Elf1    ( 0x004C3436+1 ) //32
#define GS_18_ADDR_AttackSpeed_Elf2    ( 0x004C344A+1 ) //32
#define GS_18_ADDR_AttackSpeed_DK_MG1    ( 0x004C3485+1 ) //0F
#define GS_18_ADDR_AttackSpeed_DK_MG2    ( 0x004C3499+1 ) //14
#define GS_18_ADDR_AttackSpeed_DL1    ( 0x004C34C0+1 ) //0A
#define GS_18_ADDR_AttackSpeed_DL2    ( 0x004C34D4+1 ) //0A
#define GS_18_ADDR_AttackSpeed_DS1    ( 0x004C34EA+1 ) //14
#define GS_18_ADDR_AttackSpeed_DS2    ( 0x004C34FE+1 ) //0A

#define GS_18_ADDR_Defense_Elf    ( 0x004C3EB5+1 ) // /0A
#define GS_18_ADDR_Defense_DK    ( 0x004C3EDC+1 ) // /3
#define GS_18_ADDR_Defense_DL    ( 0x004C3F03+1 ) // /7
#define GS_18_ADDR_Defense_DS_MG    ( 0x004C3F19+1 ) // /4

хочу изменить данные параметры.
как я понимаю, это не смещение: 0x004C2BD3
возможно это адрес памяти - но как же мне найти смещение и заменить?
и сколько Byte значение? правильно я понимаю что 4?

Очень нужна помощь!

если кто поможет - дам выведенные настройки в блокнот )))

Simp1e

Что конкретно тебе надо сделать тут? я мало чего понял прочитав твоё сообщение =)

worldhero

да я уже разобрался
смещение = смещение от входа (virtual address)
а значения принимают от 1 до 255 = 1 Byte

спс. что откликнулись )))

Simp1e

Короче как я понял что ты хочешь сделать вообще не чего сложного нема тут

открываешь GameServer через Olydbg.
Нажимаешь  Ctrl+G и туда вписываешь офсет 0x004C2BD3, 0x004C2BD3 итд
нажимаешь ОК и переходишь на значение например под офсетом

004C2BD3  |. B9 07000000    MOV ECX,7

то есть значение 7. мы можем поменять это значение на любое другое число
нажав 2 раза кликам на "MOV ECX,7"  MOV ECX, оставляем заменяем последнее число. например  MOV ECX,100

да и еще стоит заметить чтобы получить число нужное тебе в Hex зайди в Калькулятор там увидишь  Вид потом Инженерный нажимаешь галочку на Dec пишеш число например 133 и просто ставим галочку на Hex получаем число 85 то есть 85 в хексе это значение 133 в геимсервере ставить только Hex значение.


worldhero

#4
ЦитироватьКороче как я понял что ты хочешь сделать вообще не чего сложного нема тут

открываешь GameServer через Olydbg.
Нажимаешь Ctrl+G и туда вписываешь офсет 0x004C2BD3, 0x004C2BD3 итд
нажимаешь ОК и переходишь на значение например под офсетом

004C2BD3 |. B9 07000000 MOV ECX,7

то есть значение 7. мы можем поменять это значение на любое другое число
нажав 2 раза кликам на "MOV ECX,7" MOV ECX, оставляем заменяем последнее число. например MOV ECX,100

да и еще стоит заметить чтобы получить число нужное тебе в Hex зайди в Калькулятор там увидишь Вид потом Инженерный нажимаешь галочку на Dec пишеш число например 133 и просто ставим галочку на Hex получаем число 85 то есть 85 в хексе это значение 133 в геимсервере ставить только Hex значение
спс. только я настройки вывожу для GS от MuAntrum - потом скину )))

Simp1e

а ты пишешь в DLL это?


Спойлер
ЗаКоЛе*али 20 БуКовОк
[свернуть]

worldhero

#6
Цитироватьа ты пишешь в DLL это?
Нет - на asm, без dll напрямую в GameServer.exe (завтра скину)
еще бы узнать где баг на зены в GS_CS - его бы тоже поправил бы )))

Simp1e

worldhero мне не нужно это =) я не увлекаюсь такими серверами у меня есть свой сервер =) где эта система давно сделана)

кстати не забудь про это !
Спойлер
   BYTE SARtoIDIVStr[]         = {0xB9 , 0x04 , 0x00 , 0x00 , 0x00 , 0xF7 , 0xF9 , 0x90};
BYTE SARtoIDIVMix[]         = {0xB9 , 0x06 , 0x00 , 0x00 , 0x00 , 0xF7 , 0xF9 , 0x8B ,
0xC8 , 0x8B , 0x45 , 0xEC , 0x99 , 0xBE , 0x0C , 0x00 ,
0x00 , 0x00 , 0xF7 , 0xFE , 0x90 , 0x90
};
BYTE SARtoIDIVMix2[]      = {0xB9 , 0x07 , 0x00 , 0x00 , 0x00 , 0xF7 , 0xF9 , 0x8B ,
0xC8 , 0x8B , 0x45 , 0xF8 , 0x99 , 0xBE , 0x0E , 0x00 ,
0x00 , 0x00 , 0xF7 , 0xFE , 0x90 , 0x90
};

//Elf with BOW

memcpy ( (int *)GS_18_ADDR_AttackDamageMax_Bow_StrDexDiv_Elf1 ,SARtoIDIVStr ,sizeof(SARtoIDIVStr) );
memcpy ( (int *)GS_18_ADDR_AttackDamageMax_Bow_StrDexDiv_Elf2 ,SARtoIDIVStr ,sizeof(SARtoIDIVStr) );
memcpy ( (int *)GS_18_ADDR_AttackDamageMax_NoBow_Elf1 ,SARtoIDIVMix2 ,sizeof(SARtoIDIVMix2) );
memcpy ( (int *)GS_18_ADDR_AttackDamageMax_NoBow_Elf2 ,SARtoIDIVMix2 ,sizeof(SARtoIDIVMix2) );
memcpy ( (int *)GS_18_ADDR_AttackDamageMax_DexStrDiv_Elf2 ,SARtoIDIVStr ,sizeof(SARtoIDIVStr) );
memcpy ( (int *)GS_18_ADDR_AttackDamageMax_DexStrDiv_Elf1 ,SARtoIDIVStr ,sizeof(SARtoIDIVStr) );

//DK

memcpy ( (int *)GS_18_ADDR_AttackDamageMax_StrDiv_DK1 ,SARtoIDIVStr ,sizeof(SARtoIDIVStr) );
memcpy ( (int *)GS_18_ADDR_AttackDamageMax_StrDiv_DK2 ,SARtoIDIVStr ,sizeof(SARtoIDIVStr) );


//MG

memcpy ( (int *)GS_18_ADDR_AttackDamageMax_StrDiv_MG1 ,SARtoIDIVMix ,sizeof(SARtoIDIVMix) );
memcpy ( (int *)GS_18_ADDR_AttackDamageMax_StrDiv_MG2 ,SARtoIDIVMix ,sizeof(SARtoIDIVMix) );

//DW-SU

memcpy ( (int *)GS_18_ADDR_AttackDamageMin_StrDiv_DWSU1 ,SARtoIDIVStr ,sizeof(SARtoIDIVStr) );
memcpy ( (int *)GS_18_ADDR_AttackDamageMin_StrDiv_DWSU2 ,SARtoIDIVStr ,sizeof(SARtoIDIVStr) );
memcpy ( (int *)GS_18_ADDR_AttackDamageMax_StrDiv_DWSU1 ,SARtoIDIVStr ,sizeof(SARtoIDIVStr) );
memcpy ( (int *)GS_18_ADDR_AttackDamageMax_StrDiv_DWSU2 ,SARtoIDIVStr ,sizeof(SARtoIDIVStr) );








[свернуть]

worldhero

точно точно - уже забыл )))

DobrjaG

Цитата: worldhero от 2010 Июль 09, 13:09  Нет - на asm, без dll напрямую в GameServer.exe (завтра скину)
еще бы узнать где баг на зены в GS_CS - его бы тоже поправил бы )))
А можно мне тоже?
Очень бы пригодилось!
Благодарю!

worldhero

#10
ЦитироватьА можно мне тоже?
Очень бы пригодилось!
Благодарю!
легко

Ну вот народ, сделана программка - менять все это дело, даже не закрывая gs.
Но вот не задача :)
половина OffSet сбита, и адрес не совпадает.

Кто может подсказать - на настройку персонажей и магий offset? :)

очень и очень буду благодарен.

Похожие темы (5)