Openkore.com
http://forums.openkore.com/

Help to fix bots tRO.
http://forums.openkore.com/viewtopic.php?f=69&t=211939
Page 1 of 1

Author:  sctnightcore [ 16 Jun 2017, 10:52 ]
Post subject:  Help to fix bots tRO.

@skylord
Download from here https://github.com/OpenKore/openkore/tree/tRO


send > trO
Quote:
#################################################################################################
# OpenKore - Network subsystem #
# This module contains functions for sending messages to the server. #
# #
# This software is open source, licensed under the GNU General Public #
# License, version 2. #
# Basically, this means that you're allowed to modify and distribute #
# this software. However, if you distribute modified versions, you MUST #
# also distribute the source code. #
# See http://www.gnu.org/licenses/gpl.html for the full license. #
#################################################################################################
# tRO (Thai)
package Network::Send::tRO;
use strict;
use base qw(Network::Send::ServerType0);

sub new {
my ($class) = @_;
my $self = $class->SUPER::new(@_);

my %packets = (
'0369' => ['actor_action', 'a4 C', [qw(targetID type)]],
'035F' => ['character_move','a3', [qw(coords)]],
'0361' => ['actor_look_at', 'v C', [qw(head body)]],
'0362' => ['item_take', 'a4', [qw(ID)]],
'0363' => ['item_drop', 'v2', [qw(index amount)]],
'023B' => ['storage_password'],
'0364' => ['storage_item_add', 'v V', [qw(index amount)]],
'0365' => ['storage_item_remove', 'v V', [qw(index amount)]],
'0366' => ['skill_use_location', 'v4', [qw(lv skillID x y)]],
'0368' => ['actor_info_request', 'a4', [qw(ID)]],
'022D' => ['party_join_request_by_name', 'Z24', [qw(partyName)]],
'0802' => ['homunculus_command', 'v C', [qw(commandType, commandID)]],
'0970' => ['char_create', 'a24 C v2', [qw(name, slot, hair_style, hair_#color)]],
'0436' => ['map_login', 'a4 a4 a4 V C', [qw(accountID charID sessionID tick sex)]],
);

$self->{packet_list}{$_} = $packets{$_} for keys %packets;

my %handlers = qw(
actor_action 0089
party_join_request_by_name 022D
storage_password 023B
game_login 0275
character_move 035F
actor_look_at 0361
item_take 0362
item_drop 0363
storage_item_add 0364
storage_item_remove 0365
skill_use_location 0366
actor_info_request 0368
actor_name_request 0369
skill_use 0438
party_setting 07D7
buy_bulk_vender 0801
homunculus_command 0802
char_create 0970
send_equip 0998
ban_check 0187
map_login 0436
sync 0360
);

$self->{packet_lut}{$_} = $handlers{$_} for keys %handlers;
$self->cryptKeys(0x4d8e77b2, 0x6e7b6757, 0x46ae0414);
return $self;
}

1;


Receive > tRO
Quote:
#################################################################################################
# OpenKore - Network subsystem #
# This module contains functions for sending messages to the server. #
# #
# This software is open source, licensed under the GNU General Public #
# License, version 2. #
# Basically, this means that you're allowed to modify and distribute #
# this software. However, if you distribute modified versions, you MUST #
# also distribute the source code. #
# See http://www.gnu.org/licenses/gpl.html for the full license. #
#################################################################################################
# tRO (Thai)
package Network::Receive::tRO;
use strict;
use base qw(Network::Receive::ServerType0);
use Globals;

sub new {
my ($class) = @_;
my $self = $class->SUPER::new(@_);
my %packets = (
# '0069' => ['account_server_info', 'x2 a4 a4 a4 x30 C1 x4 a*', [qw(sessionID accountID sessionID2 accountSex serverInfo)]],
'0276' => ['account_server_info', 'x2 a4 a4 a4 x30 C1 x4 a*', [qw(sessionID accountID sessionID2 accountSex serverInfo)]],
'0078' => ['actor_exists', 'C a4 v14 a4 a2 v2 C2 a3 C3 v', [qw(object_type ID walk_speed opt1 opt2 option type hair_style weapon lowhead shield tophead midhead hair_color clothes_color head_dir guildID emblemID manner opt3 stance sex coords unknown1 unknown2 act lv)]], # 55 # standing
'007C' => ['actor_connected', 'C a4 v14 C2 a3 C2', [qw(object_type ID walk_speed opt1 opt2 option hair_style weapon lowhead type shield tophead midhead hair_color clothes_color head_dir stance sex coords unknown1 unknown2)]], # 42 # spawning
'0097' => ['private_message', 'v Z24 V Z*', [qw(len privMsgUser flag privMsg)]], # -1
'022C' => ['actor_moved', 'C a4 v3 V v5 V v5 a4 a2 v V C2 a6 C2 v', [qw(object_type ID walk_speed opt1 opt2 option type hair_style weapon shield lowhead tick tophead midhead hair_color clothes_color head_dir guildID emblemID manner opt3 stance sex coords unknown1 unknown2 lv)]], # 65 # walking
'082D' => ['sync_received_characters'],
'099D' => ['received_characters', 'x2 a*', [qw(charInfo)]],
'0367' => ['sync_request_ex'],
'085A' => ['sync_request_ex'],
'085B' => ['sync_request_ex'],
'085C' => ['sync_request_ex'],
'085D' => ['sync_request_ex'],
'085E' => ['sync_request_ex'],
'085F' => ['sync_request_ex'],
'0860' => ['sync_request_ex'],
'0861' => ['sync_request_ex'],
'0862' => ['sync_request_ex'],
'0863' => ['sync_request_ex'],
'0864' => ['sync_request_ex'],
'0865' => ['sync_request_ex'],
'0866' => ['sync_request_ex'],
'0867' => ['sync_request_ex'],
'0868' => ['sync_request_ex'],
'023B' => ['sync_request_ex'],
'086A' => ['sync_request_ex'],
'086B' => ['sync_request_ex'],
'086C' => ['sync_request_ex'],
'086D' => ['sync_request_ex'],
'086E' => ['sync_request_ex'],
'086F' => ['sync_request_ex'],
'0870' => ['sync_request_ex'],
'0871' => ['sync_request_ex'],
'0872' => ['sync_request_ex'],
'0873' => ['sync_request_ex'],
'0874' => ['sync_request_ex'],
'0875' => ['sync_request_ex'],
'0876' => ['sync_request_ex'],
'0877' => ['sync_request_ex'],
'0878' => ['sync_request_ex'],
'0879' => ['sync_request_ex'],
'087A' => ['sync_request_ex'],
'087B' => ['sync_request_ex'],
'087C' => ['sync_request_ex'],
'087D' => ['sync_request_ex'],
'087E' => ['sync_request_ex'],
'087F' => ['sync_request_ex'],
'0880' => ['sync_request_ex'],
'0881' => ['sync_request_ex'],
'0882' => ['sync_request_ex'],
'0883' => ['sync_request_ex'],
'0917' => ['sync_request_ex'],
'0918' => ['sync_request_ex'],
'0919' => ['sync_request_ex'],
'091A' => ['sync_request_ex'],
'091B' => ['sync_request_ex'],
'091C' => ['sync_request_ex'],
'091D' => ['sync_request_ex'],
'091E' => ['sync_request_ex'],
'091F' => ['sync_request_ex'],
'0920' => ['sync_request_ex'],
'0921' => ['sync_request_ex'],
'0361' => ['sync_request_ex'],
'0923' => ['sync_request_ex'],
'0924' => ['sync_request_ex'],
'0925' => ['sync_request_ex'],
'0926' => ['sync_request_ex'],
'0927' => ['sync_request_ex'],
'0928' => ['sync_request_ex'],
'0929' => ['sync_request_ex'],
'092A' => ['sync_request_ex'],
'092B' => ['sync_request_ex'],
'092C' => ['sync_request_ex'],
'092D' => ['sync_request_ex'],
'092E' => ['sync_request_ex'],
'092F' => ['sync_request_ex'],
'0930' => ['sync_request_ex'],
'0931' => ['sync_request_ex'],
'0932' => ['sync_request_ex'],
'0933' => ['sync_request_ex'],
'0934' => ['sync_request_ex'],
'0935' => ['sync_request_ex'],
'0936' => ['sync_request_ex'],
'0937' => ['sync_request_ex'],
'0938' => ['sync_request_ex'],
'0939' => ['sync_request_ex'],
'093A' => ['sync_request_ex'],
'093B' => ['sync_request_ex'],
'093C' => ['sync_request_ex'],
'093D' => ['sync_request_ex'],
'093E' => ['sync_request_ex'],
'093F' => ['sync_request_ex'],
);
foreach my $switch (keys %packets) {
$self->{packet_list}{$switch} = $packets{$switch};
}

my %handlers = qw(
received_characters 099D
sync_request 0187
received_character_ID_and_Map 0071
account_id 0283
actor_moved 0856
actor_exists 0857
actor_connected 0858
received_sync 007f
actor_info 0095
);

$self->{packet_lut}{$_} = $handlers{$_} for keys %handlers;

$self->{sync_ex_reply} = {
'0367' => '02C4',
'085A' => '0884',
'085B' => '0885',
'085C' => '0886',
'085D' => '0887',
'085E' => '0888',
'085F' => '0889',
'0860' => '088A',
'0861' => '088B',
'0862' => '088C',
'0863' => '088D',
'0864' => '088E',
'0865' => '088F',
'0866' => '0890',
'0867' => '0891',
'0868' => '0892',
'023B' => '0893',
'086A' => '0894',
'086B' => '0895',
'086C' => '0202',
'086D' => '0897',
'086E' => '0898',
'086F' => '0899',
'0870' => '089A',
'0871' => '089B',
'0872' => '089C',
'0873' => '089D',
'0874' => '089E',
'0875' => '089F',
'0876' => '08A0',
'0877' => '08A1',
'0878' => '08A2',
'0879' => '08A3',
'087A' => '08A4',
'087B' => '08A5',
'087C' => '08A6',
'087D' => '08A7',
'087E' => '08A8',
'087F' => '08A9',
'0880' => '08AA',
'0881' => '0436',
'0882' => '08AC',
'0883' => '08AD',
'0917' => '0941',
'0918' => '0942',
'0919' => '0943',
'091A' => '0944',
'091B' => '0945',
'091C' => '0946',
'091D' => '0947',
'091E' => '0948',
'091F' => '0949',
'0920' => '094A',
'0921' => '094B',
'0361' => '094C',
'0923' => '094D',
'0924' => '094E',
'0925' => '094F',
'0926' => '0950',
'0927' => '0951',
'0928' => '0952',
'0929' => '0953',
'092A' => '0954',
'092B' => '0955',
'092C' => '0956',
'092D' => '0957',
'092E' => '0958',
'092F' => '0959',
'0930' => '095A',
'0931' => '095B',
'0932' => '095C',
'0933' => '095D',
'0934' => '0940',
'0935' => '095E',
'0936' => '0960',
'0937' => '0961',
'0938' => '0962',
'0939' => '0963',
'093A' => '0964',
'093B' => '0965',
'093C' => '0966',
'093D' => '0967',
'093E' => '0968',
'093F' => '0969',
};
return $self;
}

1;



help me pls

Author:  SkylorD [ 16 Jun 2017, 16:19 ]
Post subject:  Re: Help to fix bots tRO.

I don't know if tRO is having problem.
Can u give more details for me !?

Author:  sctnightcore [ 17 Jun 2017, 00:23 ]
Post subject:  Re: Help to fix bots tRO.

SkylorD wrote:
I don't know if tRO is having problem.
Can u give more details for me !?


1.Again, do not send log 0064 prototype data instead of 0A76, which is the main login TRO.
2.x0 map load > time out

download game : https://ro.exe.in.th/download/client

Author:  koodpzok [ 17 Jun 2017, 01:05 ]
Post subject:  Re: Help to fix bots tRO.

Hi skylord, as you may have heard that tRO has implemented an encryption algorithm called HMAC by which i believe it is associated with packet 0A7B (receive) and we need to reply with 0A7C (send). We were able to go through all the login process until map loaded that is once we received 0A7B, we got disconnected. I believe if someone could write some perl script to send back the correct or the matched 0A7C, the bot would have worked just fine.

Author:  rangerarmy36 [ 17 Jun 2017, 03:11 ]
Post subject:  Re: Help to fix bots tRO.

Maybe.. it's just about a sync packet.

Author:  koodpzok [ 17 Jun 2017, 05:57 ]
Post subject:  Re: Help to fix bots tRO.

well, it's easier said than done.

Author:  jansizapata [ 24 Jun 2017, 12:52 ]
Post subject:  Re: Help to fix bots tRO.

sctnightcore wrote:
@skylord
Download from here https://github.com/OpenKore/openkore/tree/tRO


send > trO
Quote:
#################################################################################################
# OpenKore - Network subsystem #
# This module contains functions for sending messages to the server. #
# #
# This software is open source, licensed under the GNU General Public #
# License, version 2. #
# Basically, this means that you're allowed to modify and distribute #
# this software. However, if you distribute modified versions, you MUST #
# also distribute the source code. #
# See http://www.gnu.org/licenses/gpl.html for the full license. #
#################################################################################################
# tRO (Thai)
package Network::Send::tRO;
use strict;
use base qw(Network::Send::ServerType0);

sub new {
my ($class) = @_;
my $self = $class->SUPER::new(@_);

my %packets = (
'0369' => ['actor_action', 'a4 C', [qw(targetID type)]],
'035F' => ['character_move','a3', [qw(coords)]],
'0361' => ['actor_look_at', 'v C', [qw(head body)]],
'0362' => ['item_take', 'a4', [qw(ID)]],
'0363' => ['item_drop', 'v2', [qw(index amount)]],
'023B' => ['storage_password'],
'0364' => ['storage_item_add', 'v V', [qw(index amount)]],
'0365' => ['storage_item_remove', 'v V', [qw(index amount)]],
'0366' => ['skill_use_location', 'v4', [qw(lv skillID x y)]],
'0368' => ['actor_info_request', 'a4', [qw(ID)]],
'022D' => ['party_join_request_by_name', 'Z24', [qw(partyName)]],
'0802' => ['homunculus_command', 'v C', [qw(commandType, commandID)]],
'0970' => ['char_create', 'a24 C v2', [qw(name, slot, hair_style, hair_#color)]],
'0436' => ['map_login', 'a4 a4 a4 V C', [qw(accountID charID sessionID tick sex)]],
);

$self->{packet_list}{$_} = $packets{$_} for keys %packets;

my %handlers = qw(
actor_action 0089
party_join_request_by_name 022D
storage_password 023B
game_login 0275
character_move 035F
actor_look_at 0361
item_take 0362
item_drop 0363
storage_item_add 0364
storage_item_remove 0365
skill_use_location 0366
actor_info_request 0368
actor_name_request 0369
skill_use 0438
party_setting 07D7
buy_bulk_vender 0801
homunculus_command 0802
char_create 0970
send_equip 0998
ban_check 0187
map_login 0436
sync 0360
);

$self->{packet_lut}{$_} = $handlers{$_} for keys %handlers;
$self->cryptKeys(0x4d8e77b2, 0x6e7b6757, 0x46ae0414);
return $self;
}

1;


Receive > tRO
Quote:
#################################################################################################
# OpenKore - Network subsystem #
# This module contains functions for sending messages to the server. #
# #
# This software is open source, licensed under the GNU General Public #
# License, version 2. #
# Basically, this means that you're allowed to modify and distribute #
# this software. However, if you distribute modified versions, you MUST #
# also distribute the source code. #
# See http://www.gnu.org/licenses/gpl.html for the full license. #
#################################################################################################
# tRO (Thai)
package Network::Receive::tRO;
use strict;
use base qw(Network::Receive::ServerType0);
use Globals;

sub new {
my ($class) = @_;
my $self = $class->SUPER::new(@_);
my %packets = (
# '0069' => ['account_server_info', 'x2 a4 a4 a4 x30 C1 x4 a*', [qw(sessionID accountID sessionID2 accountSex serverInfo)]],
'0276' => ['account_server_info', 'x2 a4 a4 a4 x30 C1 x4 a*', [qw(sessionID accountID sessionID2 accountSex serverInfo)]],
'0078' => ['actor_exists', 'C a4 v14 a4 a2 v2 C2 a3 C3 v', [qw(object_type ID walk_speed opt1 opt2 option type hair_style weapon lowhead shield tophead midhead hair_color clothes_color head_dir guildID emblemID manner opt3 stance sex coords unknown1 unknown2 act lv)]], # 55 # standing
'007C' => ['actor_connected', 'C a4 v14 C2 a3 C2', [qw(object_type ID walk_speed opt1 opt2 option hair_style weapon lowhead type shield tophead midhead hair_color clothes_color head_dir stance sex coords unknown1 unknown2)]], # 42 # spawning
'0097' => ['private_message', 'v Z24 V Z*', [qw(len privMsgUser flag privMsg)]], # -1
'022C' => ['actor_moved', 'C a4 v3 V v5 V v5 a4 a2 v V C2 a6 C2 v', [qw(object_type ID walk_speed opt1 opt2 option type hair_style weapon shield lowhead tick tophead midhead hair_color clothes_color head_dir guildID emblemID manner opt3 stance sex coords unknown1 unknown2 lv)]], # 65 # walking
'082D' => ['sync_received_characters'],
'099D' => ['received_characters', 'x2 a*', [qw(charInfo)]],
'0367' => ['sync_request_ex'],
'085A' => ['sync_request_ex'],
'085B' => ['sync_request_ex'],
'085C' => ['sync_request_ex'],
'085D' => ['sync_request_ex'],
'085E' => ['sync_request_ex'],
'085F' => ['sync_request_ex'],
'0860' => ['sync_request_ex'],
'0861' => ['sync_request_ex'],
'0862' => ['sync_request_ex'],
'0863' => ['sync_request_ex'],
'0864' => ['sync_request_ex'],
'0865' => ['sync_request_ex'],
'0866' => ['sync_request_ex'],
'0867' => ['sync_request_ex'],
'0868' => ['sync_request_ex'],
'023B' => ['sync_request_ex'],
'086A' => ['sync_request_ex'],
'086B' => ['sync_request_ex'],
'086C' => ['sync_request_ex'],
'086D' => ['sync_request_ex'],
'086E' => ['sync_request_ex'],
'086F' => ['sync_request_ex'],
'0870' => ['sync_request_ex'],
'0871' => ['sync_request_ex'],
'0872' => ['sync_request_ex'],
'0873' => ['sync_request_ex'],
'0874' => ['sync_request_ex'],
'0875' => ['sync_request_ex'],
'0876' => ['sync_request_ex'],
'0877' => ['sync_request_ex'],
'0878' => ['sync_request_ex'],
'0879' => ['sync_request_ex'],
'087A' => ['sync_request_ex'],
'087B' => ['sync_request_ex'],
'087C' => ['sync_request_ex'],
'087D' => ['sync_request_ex'],
'087E' => ['sync_request_ex'],
'087F' => ['sync_request_ex'],
'0880' => ['sync_request_ex'],
'0881' => ['sync_request_ex'],
'0882' => ['sync_request_ex'],
'0883' => ['sync_request_ex'],
'0917' => ['sync_request_ex'],
'0918' => ['sync_request_ex'],
'0919' => ['sync_request_ex'],
'091A' => ['sync_request_ex'],
'091B' => ['sync_request_ex'],
'091C' => ['sync_request_ex'],
'091D' => ['sync_request_ex'],
'091E' => ['sync_request_ex'],
'091F' => ['sync_request_ex'],
'0920' => ['sync_request_ex'],
'0921' => ['sync_request_ex'],
'0361' => ['sync_request_ex'],
'0923' => ['sync_request_ex'],
'0924' => ['sync_request_ex'],
'0925' => ['sync_request_ex'],
'0926' => ['sync_request_ex'],
'0927' => ['sync_request_ex'],
'0928' => ['sync_request_ex'],
'0929' => ['sync_request_ex'],
'092A' => ['sync_request_ex'],
'092B' => ['sync_request_ex'],
'092C' => ['sync_request_ex'],
'092D' => ['sync_request_ex'],
'092E' => ['sync_request_ex'],
'092F' => ['sync_request_ex'],
'0930' => ['sync_request_ex'],
'0931' => ['sync_request_ex'],
'0932' => ['sync_request_ex'],
'0933' => ['sync_request_ex'],
'0934' => ['sync_request_ex'],
'0935' => ['sync_request_ex'],
'0936' => ['sync_request_ex'],
'0937' => ['sync_request_ex'],
'0938' => ['sync_request_ex'],
'0939' => ['sync_request_ex'],
'093A' => ['sync_request_ex'],
'093B' => ['sync_request_ex'],
'093C' => ['sync_request_ex'],
'093D' => ['sync_request_ex'],
'093E' => ['sync_request_ex'],
'093F' => ['sync_request_ex'],
);
foreach my $switch (keys %packets) {
$self->{packet_list}{$switch} = $packets{$switch};
}

my %handlers = qw(
received_characters 099D
sync_request 0187
received_character_ID_and_Map 0071
account_id 0283
actor_moved 0856
actor_exists 0857
actor_connected 0858
received_sync 007f
actor_info 0095
);

$self->{packet_lut}{$_} = $handlers{$_} for keys %handlers;

$self->{sync_ex_reply} = {
'0367' => '02C4',
'085A' => '0884',
'085B' => '0885',
'085C' => '0886',
'085D' => '0887',
'085E' => '0888',
'085F' => '0889',
'0860' => '088A',
'0861' => '088B',
'0862' => '088C',
'0863' => '088D',
'0864' => '088E',
'0865' => '088F',
'0866' => '0890',
'0867' => '0891',
'0868' => '0892',
'023B' => '0893',
'086A' => '0894',
'086B' => '0895',
'086C' => '0202',
'086D' => '0897',
'086E' => '0898',
'086F' => '0899',
'0870' => '089A',
'0871' => '089B',
'0872' => '089C',
'0873' => '089D',
'0874' => '089E',
'0875' => '089F',
'0876' => '08A0',
'0877' => '08A1',
'0878' => '08A2',
'0879' => '08A3',
'087A' => '08A4',
'087B' => '08A5',
'087C' => '08A6',
'087D' => '08A7',
'087E' => '08A8',
'087F' => '08A9',
'0880' => '08AA',
'0881' => '0436',
'0882' => '08AC',
'0883' => '08AD',
'0917' => '0941',
'0918' => '0942',
'0919' => '0943',
'091A' => '0944',
'091B' => '0945',
'091C' => '0946',
'091D' => '0947',
'091E' => '0948',
'091F' => '0949',
'0920' => '094A',
'0921' => '094B',
'0361' => '094C',
'0923' => '094D',
'0924' => '094E',
'0925' => '094F',
'0926' => '0950',
'0927' => '0951',
'0928' => '0952',
'0929' => '0953',
'092A' => '0954',
'092B' => '0955',
'092C' => '0956',
'092D' => '0957',
'092E' => '0958',
'092F' => '0959',
'0930' => '095A',
'0931' => '095B',
'0932' => '095C',
'0933' => '095D',
'0934' => '0940',
'0935' => '095E',
'0936' => '0960',
'0937' => '0961',
'0938' => '0962',
'0939' => '0963',
'093A' => '0964',
'093B' => '0965',
'093C' => '0966',
'093D' => '0967',
'093E' => '0968',
'093F' => '0969',
};
return $self;
}

1;



help me pls



Good day sir , Revo Classic RO here in the philppines CBT just started days ago this is the same as Thai RO and same company under Extreme & Elite can you help us ?
i have the working IP it can connect but doesnt continue

Author:  chrzsdltn [ 23 Jul 2017, 19:46 ]
Post subject:  Re: Help to fix bots tRO.

where should i put these?

Page 1 of 1 All times are UTC - 5 hours [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/