ผมจะแนะนำให้แล้วกัน

Thailand

Moderator: Moderators

Message
Author
tamx
Human
Human
Posts: 30
Joined: 26 Jun 2013, 00:49
Noob?: Yes

Re: ผมจะแนะนำให้แล้วกัน

#61 Post by tamx »

อีกอย่างนะครับ ไม่ว่าคุณจะใช้ recvpackets.txt ของบอทตัวไหนๆ หรือ ใช้โปรแกรมอะไรๆแกะัออกมา

เมื่อคุณเอาไปเปิดบอท บอทคุณก็จะถูกตัดอยู่ดี

นั่นคือ ปัญหาหลัก มันไม่ได้อยู่ที่เรื่อง packet อันนี้ครับ แต่มันอยู่ที่ฟังก์ชั่นการทำงานในเรื่องของการแปลงรหัส Encrypt กับ Xor ถ้าแก้ตรงนี้ไม่ได้ ยังไงก็ไม่ผ่านครับ

anotherdead
Noob
Noob
Posts: 13
Joined: 28 Jun 2013, 06:12
Noob?: No

Re: ผมจะแนะนำให้แล้วกัน

#62 Post by anotherdead »

tamx wrote:อีกอย่างนะครับ ไม่ว่าคุณจะใช้ recvpackets.txt ของบอทตัวไหนๆ หรือ ใช้โปรแกรมอะไรๆแกะัออกมา

เมื่อคุณเอาไปเปิดบอท บอทคุณก็จะถูกตัดอยู่ดี

นั่นคือ ปัญหาหลัก มันไม่ได้อยู่ที่เรื่อง packet อันนี้ครับ แต่มันอยู่ที่ฟังก์ชั่นการทำงานในเรื่องของการแปลงรหัส Encrypt กับ Xor ถ้าแก้ตรงนี้ไม่ได้ ยังไงก็ไม่ผ่านครับ
ฟังก์ชั่นที่ว่า อยู่ใน ServerType0 ของฝั่ง send และ Recieve หรอครับ

dear0012
Human
Human
Posts: 25
Joined: 14 Jun 2013, 06:56
Noob?: Yes

Re: ผมจะแนะนำให้แล้วกัน

#63 Post by dear0012 »

SKalax มันอัพเดดใหม่ มี recvpackets มาให้ด้วย

ผมลองเอามาใส่ตัว OPK มันก้อไม่เดินแฮะ ใครมีแนวทางยางไงบอกหน่อยครับ
ขอบคุณครับ

phetphet
Human
Human
Posts: 35
Joined: 13 Jun 2013, 08:47
Noob?: No

Re: ผมจะแนะนำให้แล้วกัน

#64 Post by phetphet »

check แล้วครับ recvpacket ไม่มีผลในการทำให้ค้างนะครับ

ต้องไปดูในไฟล์ src นะครับ packet บางตัวมันถูกเข้ารหัสใหม่

tamx
Human
Human
Posts: 30
Joined: 26 Jun 2013, 00:49
Noob?: Yes

Re: ผมจะแนะนำให้แล้วกัน

#65 Post by tamx »

ฟังก์ชั่นที่บอกนี้จะอยู่ใน 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');
}

anotherdead
Noob
Noob
Posts: 13
Joined: 28 Jun 2013, 06:12
Noob?: No

Re: ผมจะแนะนำให้แล้วกัน

#66 Post by anotherdead »

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

phetphet
Human
Human
Posts: 35
Joined: 13 Jun 2013, 08:47
Noob?: No

Re: ผมจะแนะนำให้แล้วกัน

#67 Post by phetphet »

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');
}
ใช่คับๆ ต้องแก้ฝั่ง sent เพราะมันมีการ sent ไปไม่ถูกต้อง
แก้ยากอยู่ครับ เพราะเราไม่ทราบรหัส
โค๊ด recvpacket ไรพวกนี้ถูกแล้วนะครับ

แต่ผิดตรงพวก Send ฝั่ง Receive ยังไม่เห็นความผิดปกติ แต่ sent เมื่อไหร่ เดี้ยงหมดครับ

phetphet
Human
Human
Posts: 35
Joined: 13 Jun 2013, 08:47
Noob?: No

Re: ผมจะแนะนำให้แล้วกัน

#68 Post by phetphet »

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

มีใครพอจะรู้ไหมว่าไอ้ a4 a4 a4 V C คืออะไร

ปล . โค๊ดที่ยกมาไม่ได้มีส่วนในการทำให้ค้างนะครับ ไม่ต้องงม แต่แค่อยากรู้ครับว่าเราจะหาค่าตรงนี้ได้ยังไง

giftrin
Noob
Noob
Posts: 4
Joined: 27 Jun 2013, 01:16
Noob?: No

Re: ผมจะแนะนำให้แล้วกัน

#69 Post by giftrin »

เป็นกำลังใจให้อย่างรุนเเรงครับ

CJENTUS
Noob
Noob
Posts: 1
Joined: 25 Jun 2013, 13:37
Noob?: No

Re: ผมจะแนะนำให้แล้วกัน

#70 Post by CJENTUS »

sub PrepareKeys()
{
# K
$enc_val1 = Math::BigInt->new('0x59e76651');
# M
$enc_val2 = Math::BigInt->new('0x4d3e5bdf');
# A
$enc_val3 = Math::BigInt->new('0x45ed6a29');
ค่าสีแดงพวกนี้หายังไงครับ
ใครทราบบ้างครับ

Post Reply