Closed aecuto closed 7 years ago
sorry.
@nuclearist thank you for roadmap. @unknown-item 0_o very nice.
@lordslegolas .. x3 in fixed processing
@winztr Thank you for your help, I'll wait for you.
I Saw so many people in here only asking for help but never try to do anything.
Stop asking for help please , it none sense.
This thread is not made for beggar only begging for help it's disgusting.
Thing we should do is helping each other find a way to fix this problem and focus on x3.
I know at this moment we have no idea how to find a key but don't be a child that always say 1 word "help me" this is embarrassing for thai people.
@unknown-item How to use tools packet hamc or guidelines please.
thanks mate really appreciated :) @unknown-item
@unknown-item thanks
@nuclearist refer to "Now, X3 that have only problem about action packet. when access into map, bot dont moved"
Do you think that it relate to hmac between CLIENT <-1-> OPK <-2-> SERVER ?
Since we can use x0 then I think that <-2-> it should be fine but I think we may have issue on <-1->.
@unknown-item thank you.
@tarkungZ right , i think so
@Samunprai english pls
@dogsmile
You don’t have to care about what he said, He just vulgar.
@viperball ummm. issue 1 that's problem too. @_@ LOL
hello, I give truemany number you give me bot ok ok ok?
@nuclearist Could we try like this diagram? CLIENT <--> OPK <--> PSD SERVER <--> ROEXE SERVER to confirm that send&recv packet between OPK <--> SERVER are working properly. If there aren't any problem then we could focus only on CLIENT <--> OPK like @viperball said
If anybody know how to make PSD show the raw packet, HMAC-ed packet and the KEY it would be much easier to figure that out.
worship to @unknown-item, next time EAC update "jer gun sad"..
Just, ignore from discredit message. Thank for everyone try to help problem to botting thailand server.
So sory but this for thai people only. "สำหรับคนไทยครับ ถ้าคุณไม่รู้เรื่องอะไร ได้โปรดอย่าขอความช่วยเหลือใด ๆ เพราะเพจนี้เขาทำขึ้นมาสำหรับ กลุ่มคนที่มีความสนใจหรือ มีพื้นฐานในด้านการเขียนโปรแกรมมมาบ้าง ดังนั้น ได้โปรด ถ้าคุณไม่เก่งด้านนี้ให้รอที่เพจภาษาไทยที่คุณรู้จัก ให้คนที่เขามีความเข้าใจและพออ่านโค๊ตต่าง ๆ ได้ ถามคำถาม เพราะยิ่งคุณมั่วมากๆ คนที่เขาให้ความช่วยเหลือเขาจะรำคราญ ดังนั้นปล่อยให้คนที่เขารู้เรื่องถาม แล้วก็รอ อ่านทำความเข้าใจ ไม่มั่ว พอคนของเพจเราเขาเข้าใจเขาก็จะบอกหรือสอนพวกเราเอง"
@tarkungZ As Thai, I would like to say sorry if they are annoying or disgusting due to too much begging. I think they may get some lesson on what you said. For me, who is just a beginner for programming, trying to put an effort on solving the problems as much as I can. While some Thai are behaving like this , I believe some are trying hard in their part too. Please be calm, go on what you start, and just ignore the disgusting ones :)
Another comment that may be possible of X3. recvpackets.txt*\ in [src and Tables] seems to be the answer to X3.
They just new update (.exe) ***If you want see to upgrade .exe can be found in the program PEviewer. Causes X3 do not work no response.
observation Log in to access your character to this map, but did not respond. You just recvpackets.txt *\ You need to edit the new set.
These programs can help you (but very old, I'm not sure). 1.Packet Extractor 2.PEEK - Packet Extraction 3.PackerBreaker
Hopefully that will be the answer for you.
Ragexe.exe tRo size is 7mb
So ..>> .PEEK - Packet Extraction by Yommy is what we looking for.
@monster-x It's not like that. X3 thailand server doesn't work, because some hmac method feedback control sequence.
@tarkungZ I've tried it, unfortunately, it failed to extract.
Fix it Packet Parser: Unknown switch: 086F
I've some issue about EAC message sync.
My ROexe client has not send 0A73 (EAC response) to OPK after OPK received 0A72 (EAC request) from RO server.
This issue made my X3 has DC after connect to map server in 10 secs.
The work around for me is handle 0A72 and send the random EAC key in 0A73 back to the RO server (like X0) but this make ROexe client don't active via mouse click, chat, etc.
And it make ROexe cannot load a new map when OPK send 0092 (map_changed) IMPORTANT!!!
Can anyone found this issue like me? Thank you and best regards :)
@beerdrumers For me, the client received 0A7B then OPK tried to responses but it couldn't sent packet through client which cause disconnect.
http://www.mediafire.com/download/8eh515bad6c5ife/packets9-17-16.rar
@Samunprai try this. I can solve my issue. It looks pretty good for X3.
MessageTokenizer.pm
sub getMessageIDNew {
uc join '', unpack '@3H2 @2H2', $_[0]
}
sub readNext {
my ($self, $type) = @_;
my $buffer = \$self->{buffer};
return undef if (length($$buffer) < 2);
my $switch = getMessageID($$buffer);
my $rpackets = $self->{rpackets};
my $size = $rpackets->{$switch}{length};
my $result;
#Log::warning sprintf("Packet %s %d %d \n", $switch, $rpackets->{$switch}{length}, $size);
my $nextMessageMightBeAccountID = $self->{nextMessageMightBeAccountID};
$self->{nextMessageMightBeAccountID} = undef;
if ($nextMessageMightBeAccountID) {
if (length($$buffer) >= 4) {
$result = substr($$buffer, 0, 4);
if (unpack("V1",$result) == unpack("V1",$Globals::accountID)) {
substr($$buffer, 0, 4, '');
$$type = ACCOUNT_ID;
} else {
# Account ID is "hidden" in a packet (0283 is one of them)
return $self->readNext($type);
}
} else {
$self->{nextMessageMightBeAccountID} = $nextMessageMightBeAccountID;
}
} elsif ($size > 1) {
# Static length message.
if (length($$buffer) >= $size) {
$result = substr($$buffer, 0, $size);
substr($$buffer, 0, $size, '');
$$type = KNOWN_MESSAGE;
}
} elsif (
defined($size)
and $size == 0 # old Kore convention
|| $size == -1 # packet extractor v3
) {
# Variable length message.
if (length($$buffer) >= 4) {
# check is HMAC or not
if ($switch eq "00DE" && length($$buffer) >= 4)
{
my $newSwitch = getMessageIDNew($$buffer);
# check is EAC response or not
if ($newSwitch eq "0A7C")
{
$size = $rpackets->{$newSwitch}{length};
my $hmacSize = $size + 26;
if ($size > 1) {
# Static length message.
if (length($$buffer) >= $hmacSize) {
# sub string only 0A7C packet
$result = substr($$buffer, 2, $size);
# but clear buffer with 0A7C HMAC format
substr($$buffer, 0, $hmacSize, '');
$$type = KNOWN_MESSAGE;
}
} elsif (
defined($size)
and $size == 0 # old Kore convention
|| $size == -1 # packet extractor v3
) {
# Variable length message.
if (length($$buffer) >= 4) {
$size = unpack("v", substr($$buffer, 2, 2));
$hmacSize = $size + 26;
if (length($$buffer) >= $hmacSize) {
$result = substr($$buffer, 2, $size);
substr($$buffer, 0, $hmacSize, '');
$$type = KNOWN_MESSAGE;
}
}
} else {
$result = $$buffer;
$self->{buffer} = '';
$$type = UNKNOWN_MESSAGE;
}
}
}
else{
$size = unpack("v", substr($$buffer, 2, 2));
if (length($$buffer) >= $size) {
$result = substr($$buffer, 0, $size, '');
$$type = KNOWN_MESSAGE;
}
}
}
} else {
# all send by client that is HMAC format
$switch = getMessageIDNew($$buffer) if (length($$buffer) >= 4);
$size = $rpackets->{$switch}{length};
my $hmacSize = $size + 26;
if ($size > 1) {
# Static length message.
if (length($$buffer) >= $hmacSize) {
$result = substr($$buffer, 2, $size);
substr($$buffer, 0, $hmacSize, '');
$$type = KNOWN_MESSAGE;
}
} elsif (
defined($size)
and $size == 0 # old Kore convention
|| $size == -1 # packet extractor v3
) {
# Variable length message.
if (length($$buffer) >= 4) {
$size = unpack("v", substr($$buffer, 2, 2));
$hmacSize = $size + 26;
if (length($$buffer) >= $hmacSize) {
$result = substr($$buffer, 2, $size);
substr($$buffer, 0, $hmacSize, '');
$$type = KNOWN_MESSAGE;
}
}
} else {
$result = $$buffer;
$self->{buffer} = '';
$$type = UNKNOWN_MESSAGE;
}
}
return $result;
}
@beerdrumers this looks good to me. You may provide the full patch to @windhamwong for review and commit, Thank you for making efforts to make OpenKore support this new packet format. And also I see some forked projects put HMAC key into configuration, rather than my hard-coding, please also include that into the patch. We might be able to close this mega thread finally, it seems that issues related to tRO are now resolved.
so pretty , a good news before sleep . thank you very much. @unknown-item @beerdrumers
I'm already use MessageTokenizer.pm but still disconnect just 2 second in map.
Xkore 3 problem, not sure if anybody got the same problem here? After I've tried to use the modified XKoreProxy.pm opk disconnect from client after server selection menu.( I've already modified my accountInfo & serverInfo) I also tried to use the old XKoreProxy.pm and put only extra code from unknown-item in. The client connect to OPK and still disconnect after server selection menu. I saw that many of you guys could connect to the map login. PS. my old XKoreProxy.pm worked perfectly fine before the HMAC-updated and be able to connect to the map but cannot move/use any command, couldn't see any players/monster name and got disconnect after few seconds. Please provide some guidelines for me to fix this problem. THANKYOU in advance guys
I'm use windows10 can't connect to map. But when i use windows 7 I can connect to map but disconnect in 2 second. I think x3 has problem about HMAC . Because when I use ragexe.exe Old version before update HMAC with out openkore disconnect in 2 second too.
Hello @tosspons Could you tell me about your modification to XKoreProxy.pm from your previous X3 files? I've tried to test all my previous files and the mod-files. Only XKoreProxy.pm that made me stuck at server selection.
I'm use xkoreproxy.pm from @unknown-item Like you.
XKoreProxy.pm in sub serverDisconnect, add: $self->{client_hmac} = 0; before: return $self->{server}->serverDisconnect();
in sub modifyPacketOut, add:
if($self->{client_hmac} && length($msg) > 28) { $msg = substr($msg, 2, length($msg) - 2 - 24) } before: my $switch = uc(unpack("H2", substr($msg, 1, 1))) . uc(unpack("H2", substr($msg, 0, 1)));
add:
if ($switch eq "0436" || $switch eq "0072") { $self->{client_hmac} = 1; } before: return $msg;
@beerdrumers Any other issues on your x3 now? or now it work perfectly for x3?
@tosspons same too. but it has a problem when connect to server info that disconnect from client. if X3 dont use HMAC_MD5 that ok about login process. It can access to map server. but dont moved.
I can't heading to map that npc interaction needed. Anyway,I did follow the steps and npc location was right but it said connection failed afterwards. How can I fix this matter?
Thank you
Sample My x3 cant move my $msgOri = $msg; if($config{'XKore'} eq '0' ) { if ($messageID eq $self->{packet_lut}{map_login}) { $self->{hmac_enc} = 1; $self->{seq} = 0; $self->{flag} = 1; } elsif ($self->{net}->getState() != Network::IN_GAME) { $self->{hmac_enc} = 0; $self->{seq} = 0; } elsif($self->{hmac_enc}) { $msg .= pack('V', $self->{flag}) . pack('V', $self->{seq}++); $msg .= hmacmd5($msg, pack('H', 'AE7AEE43215F3B442010CEE2AB647FBA')); $msg = pack('v', length($msg) + 2) . $msg;
} } if($config{'XKore'} eq '3' ) { if ($messageID eq '0436' or $messageID eq '0072') { $self->{hmac_enc} = 1; $self->{seq} = 0; $self->{flag} = 1; } elsif ($self->{net}->getState() != Network::IN_GAME) { $self->{hmacenc} = 0; $self->{seq} = 0; } else { if(length($msg) > 28) { $msg = substr($msg, 2, length($msg) - 2 - 24); $messageID = substr((uc unpack( 'H', $msg )), 2, 2).substr((uc unpack( 'H_', $msg )), 0, 2); } else { $msg .= pack('V', $self->{flag}) . pack('V', $self->{seq}++); $msg .= hmacmd5($msg, pack('H', 'AE7AEE43215F3B442010CEE2AB647FBA')); $msg = pack('v', length($msg) + 2) . $msg; }
if(substr((uc unpack( 'H*', $msgOri )), 0, 8) eq "1C007D00"){ $msg = substr($msgOri, 0, 28); $messageID = "007D"; } }
}
;(
@thitiboy Is that ok ????
เม้นนี้สำหรับคนไทยที่บอกว่า การขอความช่วยเหลือเป็นเรื่องน่าขยะแขยงนะคับ คื่อผมไม่เข้าไจว่ามันน่าเกลียดตรงไหน ? ไม่ไช่ทุกคนที่เค้าเก่ง เค้าเรียนมาด้านนี้ เหมือนคุณนะคับ ซึ่งเวลาที่เค้าไม่เข้าไจหรือ สงสัย เค้าถาม หรือ ขอความช่วยเหลือ เพราะเค้าไม่รุ้จิงๆ นี่มันพิดมากเลยหรอคับ ... การขอความช่วยเหลือนี่คือขอทานเลยหรอ ? มันดูน่าขยะแขยงขนาดนั้นเลยหรอ ?
ผมขอยกตัวอย่างนะคับ ถ้าคุนเป็นนักเรียน แล้วไม่เข้าใจการบ้านที่ครูให้มา พยายามแล้วแต่ก็ทำไม่ได้สักที ทำมาหลายวัน จนหมดปัญญา ไม่รุ้จะทำยังไงต่อ แล้วทางเลือกต่อไปคือคุณไปถามครู ไปขอความช่วยเหลือจากครู นี่มัน เป็นเรื่อง น่าขยะแขยง ? เป็นเรื่องของการขอทานหรอคับ ?
@otop57130 Do you understand wrong place at the wrong time at the wrong manner? TS for thai, คุณเข้าใจเรื่องผิดที่ผิดเวลาผิดมารยาทไหม
@systeman ผมเข้าไจคับ แต่เรื่องแค่นี้ ถึงกับต้องด่าว่า เป็นขอทาน เป็นเรื่องน่าขยะแขยงเลยหรอคับ ตักเตือนก็ได้มั้งคับ ด่าขนาดนี้ มันแรงเกินไปนะคับ
Sorry, i will clear this by thai language. @otop57130 อ่าถ้าคุณไปงาน ๆ หนึง หรือ ไปเทียวต่างประเทศ ประเทศหนึง แล้วคุณทำผิดมารยาทในงานในประเทศนั้นทุกคนก็จะมองคุณแบบน่ารังเกียจมันเป็นเช่นนั้น
@systeman ถ้าเค้าทำไปเพราะเค้าไม่รุ้จิงๆ หละคับ คนไม่รุ้นี คุนจะไปด่าเค้าว่าเป็นขอทานเลยหรือป่าวคับ ? คุนจะไปเข้าไปด่าเค้าเลยหรอ ? หรือ คุณจะพูดดีๆไห้เค้าเข้าไจก่อน หละคับ ?
stop plz
So sory but this for thai people only: @otop57130 มึงหยุดเหอะไปคุยกันที่อื่น ที่นี่เข้าพูดคุยเรื่องพัฒนา ถ้าต้องการความช่วยเหลือมึงไปบอร์ดอื่นครับ
how can i fix this problem??
today my server has update new EAC, my openkore can login to map server but after 1-3 second my openkore has disconnect from map server, please help me or notice me about this problem.
ps. i'm newbie for programmer :D ps2. i'm from Free bot page....