katursis / Pawn.RakNet

🛡 Plugin for SA:MP 0.3.7 server that allows you to capture and analyze RakNet traffic
https://github.com/katursis/Pawn.RakNet/wiki
MIT License
162 stars 28 forks source link

About IRawPacket #82

Open Shaolinka opened 1 year ago

Shaolinka commented 1 year ago

Hi, i want to check efficiency of IRawPacket and I got next errors:

[14:17:30] [debug] Server crashed due to an unknown error [14:17:30] [debug] Native backtrace: [14:17:30] [debug] #0 779b762c in ?? () in C:\Windows\SYSTEM32\ntdll.dll [14:17:30] [debug] #1 77973c86 in ?? () in C:\Windows\SYSTEM32\ntdll.dll [14:17:30] [debug] #2 00498e11 in ?? () in samp-server.exe [14:17:30] [debug] #3 004500d6 in ?? () in samp-server.exe [14:17:30] [debug] #4 00491121 in ?? () in samp-server.exe [14:17:30] [debug] #5 0049125c in ?? () in samp-server.exe [14:17:30] [debug] #6 0048d4db in ?? () in samp-server.exe [14:17:30] [debug] #7 0049b4a1 in ?? () in samp-server.exe [14:17:30] [debug] #8 0049b4b1 in ?? () in samp-server.exe [14:17:30] [debug] Registers: [14:17:30] [debug] EAX: 89003440 EBX: 00000000 ECX: 6972616d EDX: 0080ca18 [14:17:30] [debug] ESI: 00600000 EDI: 0080ca10 EBP: 0019fd94 ESP: 0019fd48 [14:17:30] [debug] EIP: 779b762c EFLAGS: 00010202 [14:17:30] [debug] Stack: [14:17:30] [debug] ESP+00000000: 0080ca18 00600000 00000000 00608c70 [14:17:30] [debug] ESP+00000020: 0019fe04 01d9858c ffffffff 00000206 [14:17:30] [debug] ESP+00000040: 6972616d 00600000 76b03770 0019fdb0 [14:17:30] [debug] ESP+00000060: 00609610 0080ca18 0019fdec 00498e11 [14:17:30] [debug] ESP+00000080: 0080ca18 00000000 00000000 0019fdc4 [14:17:30] [debug] ESP+000000a0: ffffffff 76b015a0 004500d6 0080ca18 [14:17:30] [debug] ESP+000000c0: 00609610 0049125c 76b03720 00000000 [14:17:30] [debug] ESP+000000e0: 0019ff70 0034c000 00007e2c 00010101 [14:17:30] [debug] ESP+00000100: 00609610 656d6167 65646f6d 00003531 [14:17:30] [debug] ESP+00000120: 0019fe58 0019ff60 0019ff60 0049d208 [14:17:30] [debug] ESP+00000140: 004ab4a0 0019ff60 004ab0e1 ffffffff [14:17:30] [debug] ESP+00000160: 00000094 00000006 00000002 000023f0 [14:17:30] [debug] ESP+00000180: 00000000 00000000 00000000 00000000 [14:17:30] [debug] ESP+000001a0: 00000000 00000000 00000000 00000000 [14:17:30] [debug] ESP+000001c0: 00000000 00000000 00000000 00000000 [14:17:30] [debug] ESP+000001e0: 00000000 00000000 00000000 00000000 [14:17:30] [debug] ESP+00000200: 00000000 00000000 c0000005 00000000 [14:17:30] [debug] ESP+00000220: 004ba530 00000000 0019ff80 76b000c9 [14:17:30] [debug] ESP+00000240: 0034c000 42417611 00000000 00000000 [14:17:30] [debug] ESP+00000260: 00000000 00000000 00000000 00000000 [14:17:30] [debug] ESP+00000280: 00000000 0019ffe4 779aae00 35fb403d [14:17:30] [debug] ESP+000002a0: 779b8c5b 00000000 00000000 0049cb3a [14:17:30] [debug] ESP+000002c0: 00000001 00003318 000000dc 00000000 [14:17:30] [debug] ESP+000002e0: 00000007 00000034 0000017c 00000001 [14:17:30] [debug] ESP+00000300: 00000000 00000002 1a26ef4e 00000298 [14:17:30] [debug] ESP+00000320: f33271ba 00000534 0000004a 00000580 [14:17:30] [debug] ESP+00000340: 00000032 000008f8 00000300 00000000 [14:17:30] [debug] ESP+00000360: 00000336 00000000 38505fc8 00000f74 [14:17:30] [debug] ESP+00000380: b1280544 0000132c 00000056 00001384 [14:17:30] [debug] ESP+000003a0: 00000002 00000001 0000017c 000015d8 [14:17:30] [debug] ESP+000003c0: 00000001 00000003 00001ef4 00000e8c [14:17:30] [debug] ESP+000003e0: 00000002 00000005 00003094 00000098 [14:17:30] [debug] Loaded modules: [14:17:30] [debug] 00400000 - 00519000 samp-server.exe [14:17:30] [debug] 77930000 - 77ad4000 ntdll.dll [14:17:30] [debug] 76ae0000 - 76bd0000 KERNEL32.DLL [14:17:30] [debug] 75850000 - 75a8a000 KERNELBASE.dll [14:17:30] [debug] 76be0000 - 77196000 SHELL32.dll [14:17:30] [debug] 757d0000 - 7584b000 msvcp_win.dll [14:17:30] [debug] 77600000 - 77720000 ucrtbase.dll [14:17:30] [debug] 76620000 - 767bc000 USER32.dll [14:17:30] [debug] 77260000 - 77278000 win32u.dll [14:17:30] [debug] 771a0000 - 771c4000 GDI32.dll [14:17:30] [debug] 769c0000 - 76aa5000 gdi32full.dll [14:17:30] [debug] 70180000 - 70188000 WSOCK32.dll [14:17:30] [debug] 761c0000 - 7627f000 msvcrt.dll [14:17:30] [debug] 762c0000 - 76323000 WS2_32.dll [14:17:30] [debug] 764c0000 - 7657f000 RPCRT4.dll [14:17:30] [debug] 6f5b0000 - 6f5d8000 WINMM.dll [14:17:30] [debug] 77230000 - 77255000 IMM32.DLL [14:17:30] [debug] 70120000 - 70171000 crashdetect.DLL [14:17:30] [debug] 70030000 - 7011e000 MSVCR120.dll [14:17:30] [debug] 6ffb0000 - 70021000 MSVCP120.dll [14:17:30] [debug] 6fed0000 - 6ff3d000 streamer.DLL [14:17:30] [debug] 68070000 - 680dd000 MSVCP140.dll [14:17:30] [debug] 757a0000 - 757b5000 VCRUNTIME140.dll [14:17:30] [debug] 75ed0000 - 75fb3000 ole32.dll [14:17:30] [debug] 77280000 - 77500000 combase.dll [14:17:30] [debug] 6ff60000 - 6ffae000 mysql.DLL [14:17:30] [debug] 5ed70000 - 5ee3d000 libmariadb.dll [14:17:30] [debug] 6feb0000 - 6feca000 log-core.dll [14:17:30] [debug] 76330000 - 76375000 SHLWAPI.dll [14:17:30] [debug] 77500000 - 77600000 CRYPT32.dll [14:17:30] [debug] 77720000 - 7779c000 ADVAPI32.dll [14:17:30] [debug] 76580000 - 765f6000 sechost.dll [14:17:30] [debug] 6be00000 - 6be0a000 Secur32.dll [14:17:30] [debug] 72190000 - 721b1000 SSPICLI.DLL [14:17:30] [debug] 72df0000 - 72dfa000 CRYPTBASE.DLL [14:17:30] [debug] 756a0000 - 756af000 kernel.appcore.dll [14:17:30] [debug] 67d70000 - 67d81000 napinsp.dll [14:17:30] [debug] 64ad0000 - 64ae6000 pnrpnsp.dll [14:17:30] [debug] 68110000 - 68120000 wshbth.dll [14:17:30] [debug] 6f4c0000 - 6f4d6000 NLAapi.dll [14:17:30] [debug] 6e1e0000 - 6e213000 IPHLPAPI.DLL [14:17:30] [debug] 6bf40000 - 6bf92000 mswsock.dll [14:17:30] [debug] 6c0d0000 - 6c161000 DNSAPI.dll [14:17:30] [debug] 761b0000 - 761b7000 NSI.dll [14:17:30] [debug] 64ac0000 - 64ace000 winrnr.dll [14:17:30] [debug] 6f4b0000 - 6f4b8000 rasadhlp.dll [14:17:30] [debug] 6fe20000 - 6feb0000 pawncmd.DLL [14:17:30] [debug] 6fd70000 - 6fd9a000 sscanf.DLL [14:17:30] [debug] 5ecf0000 - 5ed6b000 pawnraknet.DLL [14:17:30] [debug] 10000000 - 1026b000 PawnPlus.DLL [14:17:30] [debug] 76400000 - 7645f000 bcryptPrimitives.dll [14:17:30] [debug] 6be10000 - 6be69000 fwpuclnt.dll [14:17:30] [debug] 76600000 - 76619000 bcrypt.dll

The code, which provoked of problem:

`stock SendCustomRPC(playerid) { new BitStream: bs = BS_New();

BS_WriteValue
(
    bs, 
    PR_UINT8, 220,
    PR_UINT8, 101
);
PR_EmulateIncomingPacket(bs, playerid);

BS_Delete(bs);

return 1;

}`

stock IsRPCValid(rpcid) return (rpcid == 101);

`IRawPacket:220(playerid, BitStream:bs) { BS_IgnoreBits(bs, 8);

new rpcid;

BS_ReadValue(bs, PR_UINT8, rpcid);

printf("IRawPacket:ID_CUSTOM_RPC: playerid=%d, rpcid=%d", playerid, rpcid);

if(IsRPCValid(rpcid))
    print("working");

}`

So, I try to emulate of packet from client to server(PR_EmulateIncomingPacket), but I get crash. Could I do this, using PR_EmulateIncomingPacket?

Shaolinka commented 1 year ago

I double-checked the list of available RPC and, as it turned out, this ID was taken. So, I tried to change him, but, nothing has changed. Maybe, I should send packet from server to client and, after send, handle him on client side(of course, not by the forces of Pawn) and then send packet to server

Shaolinka commented 1 year ago

Also, hoping to send Incoming Custom RPC, using PR_EmulateIncomingRPC, I get an error that I am entering an invalid RPC.