Files
2026-06-04 11:42:34 +02:00

551 lines
15 KiB
C#

using System;
using System.Runtime.InteropServices;
using System.Text;
namespace Sony.NP
{
// Token: 0x02000131 RID: 305
internal class MemoryBuffer
{
// Token: 0x0600063F RID: 1599 RVA: 0x000115B6 File Offset: 0x000105B6
public MemoryBuffer(NpMemoryBuffer pointer)
{
this.rawBuffer.data = pointer.data;
this.rawBuffer.size = pointer.size;
this.pos = this.rawBuffer.data;
}
// Token: 0x06000640 RID: 1600 RVA: 0x000115F6 File Offset: 0x000105F6
public void CheckStartMarker()
{
this.CheckMarker(MemoryBuffer.BufferIntegrityChecks.BufferBegin);
}
// Token: 0x06000641 RID: 1601 RVA: 0x00011601 File Offset: 0x00010601
public void CheckEndMarker()
{
this.CheckMarker(MemoryBuffer.BufferIntegrityChecks.BufferEnd);
}
// Token: 0x06000642 RID: 1602 RVA: 0x0001160C File Offset: 0x0001060C
public void CheckMarker(MemoryBuffer.BufferIntegrityChecks value)
{
byte b = Marshal.ReadByte(this.pos);
this.pos = new IntPtr(this.pos.ToInt64() + 1L);
byte b2 = Marshal.ReadByte(this.pos);
this.pos = new IntPtr(this.pos.ToInt64() + 1L);
byte b3 = Marshal.ReadByte(this.pos);
this.pos = new IntPtr(this.pos.ToInt64() + 1L);
byte b4 = Marshal.ReadByte(this.pos);
this.pos = new IntPtr(this.pos.ToInt64() + 1L);
if (b == 255 && b2 == 254 && b3 == 253 && (MemoryBuffer.BufferIntegrityChecks)b4 == value)
{
return;
}
throw new NpToolkitException("MemoryBuffer - CheckMarker error - Expecting " + value.ToString());
}
// Token: 0x06000643 RID: 1603 RVA: 0x000116F4 File Offset: 0x000106F4
public void CheckBufferOverflow(string method)
{
long num = this.pos.ToInt64() - this.rawBuffer.data.ToInt64();
if ((uint)num > this.rawBuffer.size)
{
throw new NpToolkitException(string.Concat(new object[]
{
"MemoryBuffer - Overflow error detected. (",
method,
") (",
num,
",",
this.rawBuffer.size,
")"
}));
}
}
// Token: 0x06000644 RID: 1604 RVA: 0x0001178C File Offset: 0x0001078C
public bool ReadBool()
{
this.CheckBufferOverflow("ReadBool");
byte b = Marshal.ReadByte(this.pos);
this.pos = new IntPtr(this.pos.ToInt64() + 1L);
return b != 0;
}
// Token: 0x06000645 RID: 1605 RVA: 0x000117E0 File Offset: 0x000107E0
public sbyte ReadInt8()
{
this.CheckBufferOverflow("ReadInt8");
sbyte b = (sbyte)Marshal.ReadByte(this.pos);
this.pos = new IntPtr(this.pos.ToInt64() + 1L);
return b;
}
// Token: 0x06000646 RID: 1606 RVA: 0x00011828 File Offset: 0x00010828
public byte ReadUInt8()
{
this.CheckBufferOverflow("ReadUInt8");
byte b = Marshal.ReadByte(this.pos);
this.pos = new IntPtr(this.pos.ToInt64() + 1L);
return b;
}
// Token: 0x06000647 RID: 1607 RVA: 0x0001186C File Offset: 0x0001086C
public short ReadInt16()
{
this.CheckBufferOverflow("ReadInt16");
short num = Marshal.ReadInt16(this.pos);
this.pos = new IntPtr(this.pos.ToInt64() + 2L);
return num;
}
// Token: 0x06000648 RID: 1608 RVA: 0x000118B0 File Offset: 0x000108B0
public ushort ReadUInt16()
{
this.CheckBufferOverflow("ReadUInt16");
ushort num = (ushort)Marshal.ReadInt16(this.pos);
this.pos = new IntPtr(this.pos.ToInt64() + 2L);
return num;
}
// Token: 0x06000649 RID: 1609 RVA: 0x000118F8 File Offset: 0x000108F8
public int ReadInt32()
{
this.CheckBufferOverflow("ReadInt32");
int num = Marshal.ReadInt32(this.pos);
this.pos = new IntPtr(this.pos.ToInt64() + 4L);
return num;
}
// Token: 0x0600064A RID: 1610 RVA: 0x0001193C File Offset: 0x0001093C
public uint ReadUInt32()
{
this.CheckBufferOverflow("ReadUInt32");
uint num = (uint)Marshal.ReadInt32(this.pos);
this.pos = new IntPtr(this.pos.ToInt64() + 4L);
return num;
}
// Token: 0x0600064B RID: 1611 RVA: 0x00011980 File Offset: 0x00010980
public long ReadInt64()
{
this.CheckBufferOverflow("ReadInt64");
long num = Marshal.ReadInt64(this.pos);
this.pos = new IntPtr(this.pos.ToInt64() + 8L);
return num;
}
// Token: 0x0600064C RID: 1612 RVA: 0x000119C4 File Offset: 0x000109C4
public ulong ReadUInt64()
{
this.CheckBufferOverflow("ReadUInt64");
ulong num = (ulong)Marshal.ReadInt64(this.pos);
this.pos = new IntPtr(this.pos.ToInt64() + 8L);
return num;
}
// Token: 0x0600064D RID: 1613 RVA: 0x00011A08 File Offset: 0x00010A08
public IntPtr ReadPtr()
{
this.CheckBufferOverflow("ReadPtr");
long num = Marshal.ReadInt64(this.pos);
this.pos = new IntPtr(this.pos.ToInt64() + 8L);
IntPtr intPtr = new IntPtr(num);
return intPtr;
}
// Token: 0x0600064E RID: 1614 RVA: 0x00011A58 File Offset: 0x00010A58
public double ReadDouble()
{
this.CheckBufferOverflow("ReadDouble");
double[] array = new double[1];
Marshal.Copy(this.pos, array, 0, 1);
this.pos = new IntPtr(this.pos.ToInt64() + 8L);
return array[0];
}
// Token: 0x0600064F RID: 1615 RVA: 0x00011AA8 File Offset: 0x00010AA8
public uint ReadData(ref byte[] data)
{
this.CheckBufferOverflow("ReadData");
uint num = this.ReadUInt32();
uint num2;
if (num == 0U)
{
num2 = 0U;
}
else
{
if (data == null || (long)data.Length != (long)((ulong)num))
{
data = new byte[num];
}
Marshal.Copy(this.pos, data, 0, (int)num);
this.pos = new IntPtr(this.pos.ToInt64() + (long)((ulong)num));
num2 = num;
}
return num2;
}
// Token: 0x06000650 RID: 1616 RVA: 0x00011B28 File Offset: 0x00010B28
public uint ReadData(ref byte[] data, uint startIndex)
{
this.CheckBufferOverflow("ReadData");
uint num = this.ReadUInt32();
uint num2;
if (num == 0U)
{
num2 = 0U;
}
else
{
if (data == null || (ulong)(startIndex + num) > (ulong)((long)data.Length))
{
byte[] array = new byte[num];
if (data != null)
{
Array.Copy(data, array, (long)((ulong)startIndex));
}
data = array;
}
Marshal.Copy(this.pos, data, (int)startIndex, (int)num);
this.pos = new IntPtr(this.pos.ToInt64() + (long)((ulong)num));
num2 = num;
}
return num2;
}
// Token: 0x06000651 RID: 1617 RVA: 0x00011BC4 File Offset: 0x00010BC4
public void ReadString(ref string str)
{
this.CheckBufferOverflow("ReadString");
byte[] array = null;
uint num = this.ReadData(ref array);
if (num == 0U)
{
str = "";
}
else
{
str = Encoding.UTF8.GetString(array, 0, array.Length);
}
}
// Token: 0x06000652 RID: 1618 RVA: 0x00011C10 File Offset: 0x00010C10
public override string ToString()
{
long num = this.pos.ToInt64() - this.rawBuffer.data.ToInt64();
return string.Concat(new object[]
{
"Memorry buffer : Data = (",
this.rawBuffer.data.ToInt64().ToString("X"),
") Size = (",
this.rawBuffer.size,
") Read = (",
num,
")"
});
}
// Token: 0x040004FA RID: 1274
private NpMemoryBuffer rawBuffer;
// Token: 0x040004FB RID: 1275
private IntPtr pos;
// Token: 0x02000132 RID: 306
public enum BufferIntegrityChecks
{
// Token: 0x040004FD RID: 1277
BufferBegin,
// Token: 0x040004FE RID: 1278
BufferEnd,
// Token: 0x040004FF RID: 1279
OnlineUserBegin,
// Token: 0x04000500 RID: 1280
OnlineUserEnd,
// Token: 0x04000501 RID: 1281
NpOnlineIdBegin,
// Token: 0x04000502 RID: 1282
NpOnlineIdEnd,
// Token: 0x04000503 RID: 1283
SceNpIdBegin,
// Token: 0x04000504 RID: 1284
SceNpIdEnd,
// Token: 0x04000505 RID: 1285
NpCountryCodeBegin,
// Token: 0x04000506 RID: 1286
NpCountryCodeEnd,
// Token: 0x04000507 RID: 1287
NpTitleIdBegin,
// Token: 0x04000508 RID: 1288
NpTitleIdEnd,
// Token: 0x04000509 RID: 1289
NpLanguageCodeBegin,
// Token: 0x0400050A RID: 1290
NpLanguageCodeEnd,
// Token: 0x0400050B RID: 1291
PNGBegin,
// Token: 0x0400050C RID: 1292
PNGEnd,
// Token: 0x0400050D RID: 1293
FriendsBegin,
// Token: 0x0400050E RID: 1294
FriendsEnd,
// Token: 0x0400050F RID: 1295
FriendBegin,
// Token: 0x04000510 RID: 1296
FriendEnd,
// Token: 0x04000511 RID: 1297
FriendsOfFriendsBegin,
// Token: 0x04000512 RID: 1298
FriendsOfFriendsEnd,
// Token: 0x04000513 RID: 1299
BlockedUsersBegin,
// Token: 0x04000514 RID: 1300
BlockedUsersEnd,
// Token: 0x04000515 RID: 1301
ProfileBegin,
// Token: 0x04000516 RID: 1302
ProfileEnd,
// Token: 0x04000517 RID: 1303
RealNameBegin,
// Token: 0x04000518 RID: 1304
RealNameEnd,
// Token: 0x04000519 RID: 1305
PresenceBegin,
// Token: 0x0400051A RID: 1306
PresenceEnd,
// Token: 0x0400051B RID: 1307
PlatformPresenceBegin,
// Token: 0x0400051C RID: 1308
PlatformPresenceEnd,
// Token: 0x0400051D RID: 1309
NpProfilesBegin,
// Token: 0x0400051E RID: 1310
NpProfilesEnd,
// Token: 0x0400051F RID: 1311
BandwidthInfoBegin,
// Token: 0x04000520 RID: 1312
BandwidthInfoEnd,
// Token: 0x04000521 RID: 1313
NetStateBasicBegin,
// Token: 0x04000522 RID: 1314
NetStateBasicEnd,
// Token: 0x04000523 RID: 1315
NetStateDetailedBegin,
// Token: 0x04000524 RID: 1316
NetStateDetailedEnd,
// Token: 0x04000525 RID: 1317
UnlockedTrophiesBegin,
// Token: 0x04000526 RID: 1318
UnlockedTrophiesEnd,
// Token: 0x04000527 RID: 1319
TrophyPackSummaryBegin,
// Token: 0x04000528 RID: 1320
TrophyPackSummaryEnd,
// Token: 0x04000529 RID: 1321
TrophyPackGroupBegin,
// Token: 0x0400052A RID: 1322
TrophyPackGroupEnd,
// Token: 0x0400052B RID: 1323
TrophyPackTrophyBegin,
// Token: 0x0400052C RID: 1324
TrophyPackTrophyEnd,
// Token: 0x0400052D RID: 1325
TempRankBegin,
// Token: 0x0400052E RID: 1326
TempRankEnd,
// Token: 0x0400052F RID: 1327
RangeOfRanksBegin,
// Token: 0x04000530 RID: 1328
RangeOfRanksEnd,
// Token: 0x04000531 RID: 1329
FriendsRanksBegin,
// Token: 0x04000532 RID: 1330
FriendsRanksEnd,
// Token: 0x04000533 RID: 1331
UsersRanksBegin,
// Token: 0x04000534 RID: 1332
UsersRanksEnd,
// Token: 0x04000535 RID: 1333
SetGameDataBegin,
// Token: 0x04000536 RID: 1334
SetGameDataEnd,
// Token: 0x04000537 RID: 1335
GetGameDataBegin,
// Token: 0x04000538 RID: 1336
GetGameDataEnd,
// Token: 0x04000539 RID: 1337
WorldsBegin,
// Token: 0x0400053A RID: 1338
WorldsEnd,
// Token: 0x0400053B RID: 1339
CreateRoomBegin,
// Token: 0x0400053C RID: 1340
CreateRoomEnd,
// Token: 0x0400053D RID: 1341
RoomBegin,
// Token: 0x0400053E RID: 1342
RoomEnd,
// Token: 0x0400053F RID: 1343
RoomsBegin,
// Token: 0x04000540 RID: 1344
RoomsEnd,
// Token: 0x04000541 RID: 1345
RoomPingTimeBegin,
// Token: 0x04000542 RID: 1346
RoomPingTimeEnd,
// Token: 0x04000543 RID: 1347
GetDataBegin,
// Token: 0x04000544 RID: 1348
GetDataEnd,
// Token: 0x04000545 RID: 1349
TssDataBegin,
// Token: 0x04000546 RID: 1350
TssDataEnd,
// Token: 0x04000547 RID: 1351
TusVariablesBegin,
// Token: 0x04000548 RID: 1352
TusVariablesEnd,
// Token: 0x04000549 RID: 1353
TusAtomicAddToAndGetVariableBegin,
// Token: 0x0400054A RID: 1354
TusAtomicAddToAndGetVariableEnd,
// Token: 0x0400054B RID: 1355
TusDataBegin,
// Token: 0x0400054C RID: 1356
TusDataEnd,
// Token: 0x0400054D RID: 1357
GameDataMessagesBegin,
// Token: 0x0400054E RID: 1358
GameDataMessagesEnd,
// Token: 0x0400054F RID: 1359
GameDataMessageThumbnailBegin,
// Token: 0x04000550 RID: 1360
GameDataMessageThumbnailEnd,
// Token: 0x04000551 RID: 1361
GameDataMessageAttachmentBegin,
// Token: 0x04000552 RID: 1362
GameDataMessageAttachmentEnd,
// Token: 0x04000553 RID: 1363
GameDataMessageBegin,
// Token: 0x04000554 RID: 1364
GameDataMessageEnd,
// Token: 0x04000555 RID: 1365
GameDataMessageDetailsBegin,
// Token: 0x04000556 RID: 1366
GameDataMessageDetailsEnd,
// Token: 0x04000557 RID: 1367
CategoriesBegin,
// Token: 0x04000558 RID: 1368
CategoriesEnd,
// Token: 0x04000559 RID: 1369
CategoryBegin,
// Token: 0x0400055A RID: 1370
CategoryEnd,
// Token: 0x0400055B RID: 1371
SubCategoryBegin,
// Token: 0x0400055C RID: 1372
SubCategoryEnd,
// Token: 0x0400055D RID: 1373
ProductsBegin,
// Token: 0x0400055E RID: 1374
ProductsEnd,
// Token: 0x0400055F RID: 1375
ProductBegin,
// Token: 0x04000560 RID: 1376
ProductEnd,
// Token: 0x04000561 RID: 1377
ProductDetailsBegin,
// Token: 0x04000562 RID: 1378
ProductDetailsEnd,
// Token: 0x04000563 RID: 1379
SkuInfoBegin,
// Token: 0x04000564 RID: 1380
SkuInfoEnd,
// Token: 0x04000565 RID: 1381
ServiceEntitlementsBegin,
// Token: 0x04000566 RID: 1382
ServiceEntitlementsEnd,
// Token: 0x04000567 RID: 1383
ServiceEntitlementBegin,
// Token: 0x04000568 RID: 1384
ServiceEntitlementEnd,
// Token: 0x04000569 RID: 1385
AuthCodeBegin,
// Token: 0x0400056A RID: 1386
AuthCodeEnd,
// Token: 0x0400056B RID: 1387
IdTokenBegin,
// Token: 0x0400056C RID: 1388
IdTokenEnd,
// Token: 0x0400056D RID: 1389
WordFilterBegin,
// Token: 0x0400056E RID: 1390
WordFilterEnd,
// Token: 0x0400056F RID: 1391
FriendListUpdateBegin,
// Token: 0x04000570 RID: 1392
FriendListUpdateEnd,
// Token: 0x04000571 RID: 1393
BlocklistUpdateBegin,
// Token: 0x04000572 RID: 1394
BlocklistUpdateEnd,
// Token: 0x04000573 RID: 1395
PresenceUpdateBegin,
// Token: 0x04000574 RID: 1396
PresenceUpdateEnd,
// Token: 0x04000575 RID: 1397
UserStateChangeBegin,
// Token: 0x04000576 RID: 1398
UserStateChangeEnd,
// Token: 0x04000577 RID: 1399
NetStateChangeBegin,
// Token: 0x04000578 RID: 1400
NetStateChangeEnd,
// Token: 0x04000579 RID: 1401
RefreshRoomBegin,
// Token: 0x0400057A RID: 1402
RefreshRoomEnd,
// Token: 0x0400057B RID: 1403
InvitationReceivedBegin,
// Token: 0x0400057C RID: 1404
InvitationReceivedEnd,
// Token: 0x0400057D RID: 1405
NewRoomMessageBegin,
// Token: 0x0400057E RID: 1406
NewRoomMessageEnd,
// Token: 0x0400057F RID: 1407
NewInGameMessageBegin,
// Token: 0x04000580 RID: 1408
NewInGameMessageEnd,
// Token: 0x04000581 RID: 1409
NewGameDataMessageBegin,
// Token: 0x04000582 RID: 1410
NewGameDataMessageEnd,
// Token: 0x04000583 RID: 1411
SessionInvitationEventBegin,
// Token: 0x04000584 RID: 1412
SessionInvitationEventEnd,
// Token: 0x04000585 RID: 1413
PlayTogetherHostEventBegin,
// Token: 0x04000586 RID: 1414
PlayTogetherHostEventEnd,
// Token: 0x04000587 RID: 1415
GameCustomDataEventBegin,
// Token: 0x04000588 RID: 1416
GameCustomDataEventEnd,
// Token: 0x04000589 RID: 1417
CheckPlusBegin,
// Token: 0x0400058A RID: 1418
CheckPlusEnd,
// Token: 0x0400058B RID: 1419
GetParentalControlInfoBegin,
// Token: 0x0400058C RID: 1420
GetParentalControlInfoEnd
}
}
}