ผมจะแนะนำให้แล้วกัน
Moderator: Moderators
Re: ผมจะแนะนำให้แล้วกัน
อีกอย่างนะครับ ไม่ว่าคุณจะใช้ recvpackets.txt ของบอทตัวไหนๆ หรือ ใช้โปรแกรมอะไรๆแกะัออกมา
เมื่อคุณเอาไปเปิดบอท บอทคุณก็จะถูกตัดอยู่ดี
นั่นคือ ปัญหาหลัก มันไม่ได้อยู่ที่เรื่อง packet อันนี้ครับ แต่มันอยู่ที่ฟังก์ชั่นการทำงานในเรื่องของการแปลงรหัส Encrypt กับ Xor ถ้าแก้ตรงนี้ไม่ได้ ยังไงก็ไม่ผ่านครับ
เมื่อคุณเอาไปเปิดบอท บอทคุณก็จะถูกตัดอยู่ดี
นั่นคือ ปัญหาหลัก มันไม่ได้อยู่ที่เรื่อง packet อันนี้ครับ แต่มันอยู่ที่ฟังก์ชั่นการทำงานในเรื่องของการแปลงรหัส Encrypt กับ Xor ถ้าแก้ตรงนี้ไม่ได้ ยังไงก็ไม่ผ่านครับ
-
- Noob
- Posts: 13
- Joined: 28 Jun 2013, 06:12
- Noob?: No
Re: ผมจะแนะนำให้แล้วกัน
ฟังก์ชั่นที่ว่า อยู่ใน ServerType0 ของฝั่ง send และ Recieve หรอครับtamx wrote:อีกอย่างนะครับ ไม่ว่าคุณจะใช้ recvpackets.txt ของบอทตัวไหนๆ หรือ ใช้โปรแกรมอะไรๆแกะัออกมา
เมื่อคุณเอาไปเปิดบอท บอทคุณก็จะถูกตัดอยู่ดี
นั่นคือ ปัญหาหลัก มันไม่ได้อยู่ที่เรื่อง packet อันนี้ครับ แต่มันอยู่ที่ฟังก์ชั่นการทำงานในเรื่องของการแปลงรหัส Encrypt กับ Xor ถ้าแก้ตรงนี้ไม่ได้ ยังไงก็ไม่ผ่านครับ
Re: ผมจะแนะนำให้แล้วกัน
SKalax มันอัพเดดใหม่ มี recvpackets มาให้ด้วย
ผมลองเอามาใส่ตัว OPK มันก้อไม่เดินแฮะ ใครมีแนวทางยางไงบอกหน่อยครับ
ขอบคุณครับ
ผมลองเอามาใส่ตัว OPK มันก้อไม่เดินแฮะ ใครมีแนวทางยางไงบอกหน่อยครับ
ขอบคุณครับ
Re: ผมจะแนะนำให้แล้วกัน
check แล้วครับ recvpacket ไม่มีผลในการทำให้ค้างนะครับ
ต้องไปดูในไฟล์ src นะครับ packet บางตัวมันถูกเข้ารหัสใหม่
ต้องไปดูในไฟล์ src นะครับ packet บางตัวมันถูกเข้ารหัสใหม่
Re: ผมจะแนะนำให้แล้วกัน
ฟังก์ชั่นที่บอกนี้จะอยู่ใน src\network\send\bRO.pm ครับ
ไฟล์ที่คิดว่าคงต้องแก้ไขหลักๆ (เน้นแก้ฝั่ง send ครับ ส่วนฝั่ง receive ผมไม่แน่ใจว่าต้องแก้ด้วยรึป่าว คือมันก็อาจจะมีส่วนที่ต้องแก้ แต่ยังไงแล้วตัวหลักๆที่ต้องแ้ก้ไขจะอยู่ฝั่ง send แน่นอน)
1. src\network\send\ServerType0.pm
2. src\network\send\bRO.pm
3. src\network\receive\ServerType0.pm
4. src\network\receive\bRO.pm
*** ผมก็ลองเอามาแก้ไข ปรับแต่ง ดูเยอะแล้ว แต่ยังไม่ผ่านสักที
sub encryptMessageID
{
my ($self, $r_message, $MID) = @_;
# Checking In-Game State
if ($self->{net}->getState() != Network::IN_GAME && !$map_login) { $enc_val1 = 0; $enc_val2 = 0; return; }
# Turn Off Map Login Flag
if ($map_login) { $map_login = 0; }
# Checking if Encryption is Activated
if ($enc_val1 != 0 && $enc_val2 != 0)
{
# Saving Last Informations for Debug Log
my $oldMID = $MID;
my $oldKey = ($enc_val1 >> 16) & 0x7FFF;
# Calculating the Encryption Key
$enc_val1 = $enc_val1->bmul($enc_val2)->badd($enc_val3) & 0xFFFFFFFF;
# Xoring the Message ID
$MID = ($MID ^ (($enc_val1 >> 16) & 0x7FFF));
$$r_message = pack("v", $MID) . substr($$r_message, 2);
# Debug Log
if ($config{debugPacket_sent} == 1)
{
debug(sprintf("Encrypted MID : [%04X]->[%04X] / KEY : [0x%04X]->[0x%04X]\n", $oldMID, $MID, $oldKey, ($enc_val1 >> 8 >> 8) & 0x7FFF), "sendPacket", 0);
}
}
}
sub PrepareKeys()
{
# K
$enc_val1 = Math::BigInt->new('0x59e76651');
# M
$enc_val2 = Math::BigInt->new('0x4d3e5bdf');
# A
$enc_val3 = Math::BigInt->new('0x45ed6a29');
}
ไฟล์ที่คิดว่าคงต้องแก้ไขหลักๆ (เน้นแก้ฝั่ง send ครับ ส่วนฝั่ง receive ผมไม่แน่ใจว่าต้องแก้ด้วยรึป่าว คือมันก็อาจจะมีส่วนที่ต้องแก้ แต่ยังไงแล้วตัวหลักๆที่ต้องแ้ก้ไขจะอยู่ฝั่ง send แน่นอน)
1. src\network\send\ServerType0.pm
2. src\network\send\bRO.pm
3. src\network\receive\ServerType0.pm
4. src\network\receive\bRO.pm
*** ผมก็ลองเอามาแก้ไข ปรับแต่ง ดูเยอะแล้ว แต่ยังไม่ผ่านสักที
sub encryptMessageID
{
my ($self, $r_message, $MID) = @_;
# Checking In-Game State
if ($self->{net}->getState() != Network::IN_GAME && !$map_login) { $enc_val1 = 0; $enc_val2 = 0; return; }
# Turn Off Map Login Flag
if ($map_login) { $map_login = 0; }
# Checking if Encryption is Activated
if ($enc_val1 != 0 && $enc_val2 != 0)
{
# Saving Last Informations for Debug Log
my $oldMID = $MID;
my $oldKey = ($enc_val1 >> 16) & 0x7FFF;
# Calculating the Encryption Key
$enc_val1 = $enc_val1->bmul($enc_val2)->badd($enc_val3) & 0xFFFFFFFF;
# Xoring the Message ID
$MID = ($MID ^ (($enc_val1 >> 16) & 0x7FFF));
$$r_message = pack("v", $MID) . substr($$r_message, 2);
# Debug Log
if ($config{debugPacket_sent} == 1)
{
debug(sprintf("Encrypted MID : [%04X]->[%04X] / KEY : [0x%04X]->[0x%04X]\n", $oldMID, $MID, $oldKey, ($enc_val1 >> 8 >> 8) & 0x7FFF), "sendPacket", 0);
}
}
}
sub PrepareKeys()
{
# K
$enc_val1 = Math::BigInt->new('0x59e76651');
# M
$enc_val2 = Math::BigInt->new('0x4d3e5bdf');
# A
$enc_val3 = Math::BigInt->new('0x45ed6a29');
}
-
- Noob
- Posts: 13
- Joined: 28 Jun 2013, 06:12
- Noob?: No
Re: ผมจะแนะนำให้แล้วกัน
โหดจังtamx wrote:ฟังก์ชั่นที่บอกนี้จะอยู่ใน src\network\send\bRO.pm ครับ
ไฟล์ที่คิดว่าคงต้องแก้ไขหลักๆ (เน้นแก้ฝั่ง send ครับ ส่วนฝั่ง receive ผมไม่แน่ใจว่าต้องแก้ด้วยรึป่าว คือมันก็อาจจะมีส่วนที่ต้องแก้ แต่ยังไงแล้วตัวหลักๆที่ต้องแ้ก้ไขจะอยู่ฝั่ง send แน่นอน)
1. src\network\send\ServerType0.pm
2. src\network\send\bRO.pm
3. src\network\receive\ServerType0.pm
4. src\network\receive\bRO.pm
*** ผมก็ลองเอามาแก้ไข ปรับแต่ง ดูเยอะแล้ว แต่ยังไม่ผ่านสักที
sub encryptMessageID
{
my ($self, $r_message, $MID) = @_;
# Checking In-Game State
if ($self->{net}->getState() != Network::IN_GAME && !$map_login) { $enc_val1 = 0; $enc_val2 = 0; return; }
# Turn Off Map Login Flag
if ($map_login) { $map_login = 0; }
# Checking if Encryption is Activated
if ($enc_val1 != 0 && $enc_val2 != 0)
{
# Saving Last Informations for Debug Log
my $oldMID = $MID;
my $oldKey = ($enc_val1 >> 16) & 0x7FFF;
# Calculating the Encryption Key
$enc_val1 = $enc_val1->bmul($enc_val2)->badd($enc_val3) & 0xFFFFFFFF;
# Xoring the Message ID
$MID = ($MID ^ (($enc_val1 >> 16) & 0x7FFF));
$$r_message = pack("v", $MID) . substr($$r_message, 2);
# Debug Log
if ($config{debugPacket_sent} == 1)
{
debug(sprintf("Encrypted MID : [%04X]->[%04X] / KEY : [0x%04X]->[0x%04X]\n", $oldMID, $MID, $oldKey, ($enc_val1 >> 8 >> 8) & 0x7FFF), "sendPacket", 0);
}
}
}
sub PrepareKeys()
{
# K
$enc_val1 = Math::BigInt->new('0x59e76651');
# M
$enc_val2 = Math::BigInt->new('0x4d3e5bdf');
# A
$enc_val3 = Math::BigInt->new('0x45ed6a29');
}
พี่ครับไอ ServerType0.pm นี่ ต้องแก้แบบคนนี้บอกรึป่าวครับ
http://forums.openkore.com/viewtopic.php?f=69&t=51690
Re: ผมจะแนะนำให้แล้วกัน
ใช่คับๆ ต้องแก้ฝั่ง sent เพราะมันมีการ sent ไปไม่ถูกต้องtamx wrote:ฟังก์ชั่นที่บอกนี้จะอยู่ใน src\network\send\bRO.pm ครับ
ไฟล์ที่คิดว่าคงต้องแก้ไขหลักๆ (เน้นแก้ฝั่ง send ครับ ส่วนฝั่ง receive ผมไม่แน่ใจว่าต้องแก้ด้วยรึป่าว คือมันก็อาจจะมีส่วนที่ต้องแก้ แต่ยังไงแล้วตัวหลักๆที่ต้องแ้ก้ไขจะอยู่ฝั่ง send แน่นอน)
1. src\network\send\ServerType0.pm
2. src\network\send\bRO.pm
3. src\network\receive\ServerType0.pm
4. src\network\receive\bRO.pm
*** ผมก็ลองเอามาแก้ไข ปรับแต่ง ดูเยอะแล้ว แต่ยังไม่ผ่านสักที
sub encryptMessageID
{
my ($self, $r_message, $MID) = @_;
# Checking In-Game State
if ($self->{net}->getState() != Network::IN_GAME && !$map_login) { $enc_val1 = 0; $enc_val2 = 0; return; }
# Turn Off Map Login Flag
if ($map_login) { $map_login = 0; }
# Checking if Encryption is Activated
if ($enc_val1 != 0 && $enc_val2 != 0)
{
# Saving Last Informations for Debug Log
my $oldMID = $MID;
my $oldKey = ($enc_val1 >> 16) & 0x7FFF;
# Calculating the Encryption Key
$enc_val1 = $enc_val1->bmul($enc_val2)->badd($enc_val3) & 0xFFFFFFFF;
# Xoring the Message ID
$MID = ($MID ^ (($enc_val1 >> 16) & 0x7FFF));
$$r_message = pack("v", $MID) . substr($$r_message, 2);
# Debug Log
if ($config{debugPacket_sent} == 1)
{
debug(sprintf("Encrypted MID : [%04X]->[%04X] / KEY : [0x%04X]->[0x%04X]\n", $oldMID, $MID, $oldKey, ($enc_val1 >> 8 >> 8) & 0x7FFF), "sendPacket", 0);
}
}
}
sub PrepareKeys()
{
# K
$enc_val1 = Math::BigInt->new('0x59e76651');
# M
$enc_val2 = Math::BigInt->new('0x4d3e5bdf');
# A
$enc_val3 = Math::BigInt->new('0x45ed6a29');
}
แก้ยากอยู่ครับ เพราะเราไม่ทราบรหัส
โค๊ด recvpacket ไรพวกนี้ถูกแล้วนะครับ
แต่ผิดตรงพวก Send ฝั่ง Receive ยังไม่เห็นความผิดปกติ แต่ sent เมื่อไหร่ เดี้ยงหมดครับ
Re: ผมจะแนะนำให้แล้วกัน
'6FA1' => ['map_login', 'a4 a4 a4 V C', [qw(accountID charID sessionID tick sex)]],
มีใครพอจะรู้ไหมว่าไอ้ a4 a4 a4 V C คืออะไร
ปล . โค๊ดที่ยกมาไม่ได้มีส่วนในการทำให้ค้างนะครับ ไม่ต้องงม แต่แค่อยากรู้ครับว่าเราจะหาค่าตรงนี้ได้ยังไง
มีใครพอจะรู้ไหมว่าไอ้ a4 a4 a4 V C คืออะไร
ปล . โค๊ดที่ยกมาไม่ได้มีส่วนในการทำให้ค้างนะครับ ไม่ต้องงม แต่แค่อยากรู้ครับว่าเราจะหาค่าตรงนี้ได้ยังไง
Re: ผมจะแนะนำให้แล้วกัน
เป็นกำลังใจให้อย่างรุนเเรงครับ
Re: ผมจะแนะนำให้แล้วกัน
ค่าสีแดงพวกนี้หายังไงครับsub PrepareKeys()
{
# K
$enc_val1 = Math::BigInt->new('0x59e76651');
# M
$enc_val2 = Math::BigInt->new('0x4d3e5bdf');
# A
$enc_val3 = Math::BigInt->new('0x45ed6a29');
ใครทราบบ้างครับ