Ir para conteúdo
Faça parte da equipe! (2024) ×

Openkore Atualizado Sem KL!!


 Compartilhar

Posts Recomendados

Vo passa anti virus e olhar os arquivos jaja volto.

 

#EDIT

 

Não vi keylogger, por mim ta seguro.

 

#EDIT 2

 

Funfou, porém gostaria que alguém checasse para ver se tem KL ou não.

 

 

 

package Network::Send::bRO;

use strict;

use Globals;

use Log qw(message warning error debug);

use Utils qw(existsInList getHex getTickCount getCoordString);

use Math::BigInt;

use base 'Network::Send::ServerType0';

use I18N qw(stringToBytes);

 

sub new {

my ($class) = @_;

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

 

my %packets = (

'07D7' => ['party_setting', 'V C2', [qw(exp itemPickup itemDivision)]],

'008C' => ['public_chat', 'x2 Z*', [qw(message)]],

'017E' => ['guild_chat', 'x2 Z*', [qw(message)]],

'0108' => ['party_chat', 'x2 Z*', [qw(message)]],

'094E' => ['sync', 'V', [qw(time)]],

'088A' => ['item_drop', 'v2', [qw(index amount)]],

'0891' => ['party_join_request_by_name', 'Z24', [qw(partyName)]], #f

'0864' => ['actor_info_request', 'a4', [qw(ID)]],

'0869' => ['skill_use_location', 'v4', [qw(lv skillID x y)]],

'087C' => ['character_move','a3', [qw(coords)]],

'01B2' => ['shop_open'],

'09CB' => ['private_message', 'x2 Z24 Z*', [qw(privMsgUser privMsg)]],

'087A' => ['storage_item_add', 'v V', [qw(index amount)]],

'0892' => ['map_login', 'a4 a4 a4 V C', [qw(accountID charID sessionID tick sex)]],

'0443' => ['skill_select', 'V v', [qw(why skillID)]],

'02C4' => ['item_take', 'a4', [qw(ID)]],

'0966' => ['actor_action', 'a4 C', [qw(targetID type)]],

'0887' => ['actor_look_at', 'v C', [qw(head body)]],

'0889' => ['homunculus_command', 'v C', [qw(commandType, commandID)]], #f

'0917' => ['storage_item_remove', 'v V', [qw(index amount)]],

'012E' => ['shop_close'],

 

);

 

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

 

my %handlers = qw(

public_chat 008C

private_message 09CB

storage_item_remove 0917

skill_select 0443

actor_action 0966

shop_open 01B2

actor_info_request 0864

actor_look_at 0887

character_move 087C

skill_use_location 0869

sync 094E

map_login 0892

party_chat 0108

buy_bulk_vender 0801

homunculus_command 0889

party_setting 07D7

storage_item_add 087A

party_join_request_by_name 0891

shop_close 012E

item_take 02C4

item_drop 088A

master_login 02B0

guild_chat 017E

 

);

 

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

 

return $self;

}

 

# Local Servertype Globals

my $map_login = 0;

my $enc_val3 = 0;

 

sub encryptMessageID

{

my ($self, $r_message, $MID) = @_;

if ($self->{net}->getState() != Network::IN_GAME && !$map_login) { $enc_val1 = 0; $enc_val2 = 0; return; }

if ($map_login) { $map_login = 0; } if ($enc_val1 != 0 && $enc_val2 != 0)

{

my $oldMID = $MID;

my $oldKey = ($enc_val1 >> 8 >> 8) & 0x7FFF;

$enc_val1 = $enc_val1->bmul($enc_val3)->badd($enc_val2) & 0xFFFFFFFF;

$MID = ($MID << 2) if (($MID << 2 << 3 << 6) == 0x04B000); $MID = ($MID ^ (($enc_val1 >>8 >> 8) & 0x7FFF)) &

0xFFFF; $$r_message = pack("v", $MID) . substr($$r_message, 2);

}

}

 

sub sendStoragePassword {

my $self = shift;

# 16 byte packed hex data

my $pass = shift;

# 2 = set password ?

# 3 = give password ?

my $type = shift;

my $msg;

if ($type == 3) {

$msg = pack("v v", 0x893, $type).$pass.pack("H*", "EC62E539BB6BBC811A60C06FACCB7EC8");

} elsif ($type == 2) {

$msg = pack("v v", 0x893, $type).pack("H*", "EC62E539BB6BBC811A60C06FACCB7EC8").$pass;

} else {

ArgumentException->throw("The 'type' argument has invalid value ($type).");

}

$self->sendToServer($msg);

}

 

sub sendMapLogin

{

my ($self, $accountID, $charID, $sessionID, $sex) = @_;

my $msg;

 

$sex = 0 if ($sex > 1 || $sex < 0); # Sex can only be 0 (female) or 1 (male)

 

if ( $map_login == 0 ) { PrepareKeys(); $map_login = 1; }

 

# Reconstructing Packet

$msg = $self->reconstruct({

switch => 'map_login',

accountID => $accountID,

charID => $charID,

sessionID => $sessionID,

tick => getTickCount,

sex => $sex,

});

 

$self->sendToServer($msg);

debug "Sent sendMapLogin\n", "sendPacket", 2;

}

 

sub sendHomunculusCommand

{

my ($self, $command, $type) = @_; # $type is ignored, $command can be 0:get stats, 1:feed or 2:fire

 

$self->sendToServer($self->reconstruct({

switch => 'homunculus_command',

commandType => $type,

commandID => $command,

}));

 

debug "Sent Homunculus Command $command", "sendPacket", 2;

}

 

sub sendPartyJoinRequestByName

{

my ($self, $name) = @_;

 

$self->sendToServer($self->reconstruct({

switch => 'party_join_request_by_name',

partyName => stringToBytes ($name),

}));

 

debug "Sent Request Join Party (by name): $name\n", "sendPacket", 2;

}

 

sub PrepareKeys()

{

# K

$enc_val1 = Math::BigInt->new('0x1D2249FA');

# M

$enc_val3 = Math::BigInt->new('0x7DA62897');

# A

$enc_val2 = Math::BigInt->new('0x25586B88');

}

 

1;

 

 

Link para o comentário
Compartilhar em outros sites

Este tópico está impedido de receber novos posts.
 Compartilhar

  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...

Informação Importante

Nós fazemos uso de cookies no seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies , caso contrário, vamos supor que você está bem para continuar.