기금넷 공식사이트 - 복권 조회 - WPE 패키지를 통해 온라인 게임 데이터를 수정하려면 어떻게 해야 합니까?
WPE 패키지를 통해 온라인 게임 데이터를 수정하려면 어떻게 해야 합니까?
먼저 WPE 에서 캡처한 패킷을 텍스트 파일로 저장한 다음 엽니다. 이 시점에서 우리는 다음과 같은 데이터를 볼 수 있습니다 (전설적인 PK archer 클라이언트가 보낸 데이터를 예로 들어 설명): 첫 번째 파일: SEND-& gt;; 0000e6 56 0d 22 7e 6be41713131213/ 00101712dd341212/kloc-0 0000 E6 561ef129 061712 3b0e17/; 0000 E6 561bc0 68121212 5a send-> 0000 E6 56 02 c8/ 0000 E6 56 17 C9 12 두 번째 파일: send-> 0000 83 33 68 471b0e8/kloc-0 C77 77 77 77 72 77 72 72 77 77 6ds end-> 0000 83 33 7b94 4c63 72 77 5e 6b72 F3 send-> 0000 83 33 7ea5 21 77 73f send-> 0000 83 33 67 ad 76 cf1b0e8172 75 50 42 76 77 77 77 send-> 0000 83 33 72 AC 77 우리는 두 PK 궁수의 우리는 PK 의 NPC 입니다. 왜 달라요? 원래 전설적인 패킷은 암호화 후 네트워크를 통해 전송되었으므로 우리가 직면 한 문제는 암호문을 일반 텍스트로 해독하고 분석하는 방법입니다. 일반적인 패킷 암호화는 xor 연산이므로 먼저 xor 이 무엇인지 이야기합시다. 간단히 XOR 는 "같은 0, 다른 1" 입니다 (바이너리 비트별). 예를 들어 000 1 과 00 10 이 다르거나, 00 1 1, 0065438 로 계산됩니다. 그렇다면 이외나 결과의 4 위는 0,0,000 1 의 3 위는 0,0,0010 의 3 위는 0 이고,' 동일 0, 차이/Kloc-0 000 1 의 1 비트는 1, 00 10 의 1 비트는 0 이므로 비정상적이거나 결과입니다 이외나 연산은 앞으로 많이 만나게 될 테니 먼저 익혀 분석에 도움이 됩니다. 위의 두 문서를 계속 살펴 보겠습니다. 상식에 따르면, 패킷의 데이터가 모두 가치가 있는 것은 아니다. 게임 개발 시 향후 확장을 위해 일부 바이트 공간이 예약됩니다. 즉, 패킷에' 00' 바이트가 있을 수 있습니다. 위의 서류를 보면 첫 번째 문서에는' 12' 가 많고 두 번째 문서에는' 77' 이 많다는 것을 알 수 있다. 이것은 우리가 "00" 이라고 말하는 것을 의미합니까? 여기까지 추리해, 우리 행동을 시작하자! 첫 번째 파일을 "12" 와 다르게 또는 연산하고 두 번째 파일을 "77" 과 다르게 또는 연산합니다. 물론 수동 계산은 번거롭습니다. "M2M 1.0 암호화 패킷 분석 도구" 로 계산하면 훨씬 편리합니다. 결과는 다음과 같습니다: 첫 번째 파일:1send-> 0000f4 441f30 6c79 F6 05 010100 0100 01 0010 05 00 cf 26 00 00 00 00 00 00 00 05 001c00 00 00 00 892 전송-> 0000f4 44 0ce3 3b13 05 00 29 0000 F4 44 09 D2 7A 00 00 00 484 전송->; 0000f4 4410 da 01db6c79 F6 05 02 27 35 0100 005 전송->; 0000 f44 05db00 second file:1send-> 0000f4 441f30 6c79 F6 05 010100 0100 01 0010 05 00 70 6b 00 00 00 00 00 00 05 05 00 00 00 001a2 전송->; 0000f4 44 0ce3 3b13 05 00 291c05 843 전송->; 0000 F4 44 09 D2 56 00 00 00 484 전송->; 0000f4 4410 da 01b8 6c79 F6 05 02 27 35 0100 005 전송->; 0000f44 05db00 Ha, 현재 두 문서의 대부분은 동일합니다. 우리의 추론이 정확하다는 것을 보여줍니다. 이것이 바로 우리가 필요로 하는 명문입니다! 다음은 분석을 위해 많은 양의 데이터를 가로채야 하는 몇 가지 주요 바이트의 의미를 파악하는 것입니다. 첫째, 각 패키지는 "F4 44" 로 시작하고 세 번째 바이트는 변경되지만 변화는 매우 규칙적이라는 것을 알 수 있습니다. 각 가방의 길이를 살펴 보겠습니다. 뭐 찾았 니? 참, 세 번째 바이트는 가방 길이야! 대량의 패킷을 차단함으로써, 우리는 네 번째 바이트가 하나의 지시를 나타낸다고 판단한다. 즉, 클라이언트가 서버에 무엇을 하라고 알려주는 것이다. 예를 들어, 서버에 요청한 전투 명령은 "30" 이고 전투 중인 이동 명령은 "D4" 입니다. 다음으로 첫 번째 패키지인' F4 44 65438+f0306 c79 f605 0101000175 09 0500 cf 26 000000000000000000' 을 분석해야 한다 NPC 알림 서버 PK 가 있어야 합니다. 그럼 먼저 이 점원의 코드가 어디에 있는지 찾아보겠습니다. 우리 PK 의 흑도파-> 0000f4 441f30 D4 75 F6 05 0100 0100 0 0100 0/kloc-0 001005008a1900000110020000c0 게임에서 NPC 의 종류는 65535 를 초과하지 않지만 상식 분석을 기반으로 합니다 "Archer" 와 "Mob" 패키지를 비교하여 "6C 79 F6 05" 와 "CF 26 00 00" 에 초점을 맞추었습니다. 비교적 쉽지만, 너무 늦으면 안 돼, ᄏ