[https://instagram.com/sunmughan] (Connect me on Instagram)
Pubg Mobile Emulator Gameloop Memory Hacking C++ code examples. Ex: Name, Coord, Bones, Weapons, Items, Box, Drop etc.
I just created this quickly. Then text not pretty good.
I do not share my current personal project because i can't share the bypass method due to PUBGMOBILE policy. I'm just sharing how you could find deta in memory
Hi dear visitor. Its not hacking app or shared app. It just example codes pool. I will push here simples code about what i know and what i experied on pubg memory hacking. My purpose is find again if i forget or if some one need it, he can find it.
I used C++, and used SFML library
I have find patterns and ofsets about pubg gameloop
- ESP source for PUBGM v0.17.0 on Gameloop
Author : xiderowg
Link : https://www.unknowncheats.me/forum/pubg-mobile/379241-esp-source-pubgm-v0-17-0-gameloop.html
i start with xiderowg's source
it was C#.
i created c++ project and used his pattern and offsets - BypaPH - Process Hacker's bypass (read/write any process virtual memory & kernel mem)
Author : harakirinox
Link : https://www.unknowncheats.me/forum/anti-cheat-bypass/312791-bypaph-process-hackers-bypass-read-write-process-virtual-memory-kernel-mem.html
- Vehicle HP
- Vehicle Fuel
- PlayerDeadInventoryBox
- PlayerDeadInventoryBox Items
- Airdrop Items
You can see my codes and offsets ESP Source File
As xiderowg's says on https://www.unknowncheats.me/forum/pubg-mobile/379241-esp-source-pubgm-v0-17-0-gameloop.html
Gameloop is based on AOW/QEMU Engine, while LDPlayer is using VirtualBox, these offsets and pattern may not be applicable to LDPlayer.
DWORD NavMesh = dGet(Entities[i]->entityAddv + 312);
Entities[i]->position = v3fGet(NavMesh + 0x150);
Entities[i]->onEntiyPositionChanged();
Entities[i]->velocity = v3fGet(NavMesh + 0x1A0);
Entities[i]->onEntiyVelocityChanged();
Entities[i]->playerWorld = dGet(entityAddv + 0x138);
// Thats UFT16 wchar
strcpy(Entities[i]->playerName, strGet(dGet(entityAddv + 0x5E8), iGet(entityAddv + 0x5EC) * 2));
strcpy(Entities[i]->playerFlag, strGet(dGet(entityAddv + 0x5F4), 4));
strcpy(Entities[i]->playerID, strGet(dGet(entityAddv + 0x604), 22));
Entities[i]->playerStatus = iGet(Entities[i]->playerWorld + 0x364);
Entities[i]->playerTeamId = iGet(entityAddv + 0x610);
Entities[i]->itsMe = 0;
if(entityAddv == uMyObject){
myTeamID = Entities[i]->playerTeamId;
MeEntity = Entities[i];
Entities[i]->itsMe = 1;
}
Entities[i]->itsFriend = 0;
if(myTeamID == Entities[i]->playerTeamId){
Entities[i]->itsFriend = 1;
}
Entities[i]->playerIsBot = iGet(entityAddv + 0x2B4) == 0 ? true : false;
DWORD tmpAddv = dGet(entityAddv + 0x308);
Entities[i]->bodyAddv = tmpAddv + 0x140;
Entities[i]->boneAddv = dGet(tmpAddv + 0x580) + 0x30;
Entities[i]->rotation = fGet(Entities[i]->playerWorld + 0x128); // ROTATE
/* PSOE Ites not ineger, bytes, but we will read as integer.
1144306736 standing
1143847984 crouched
1143684144 creep */
Entities[i]->playerPose = iGet(Entities[i]->playerWorld + 0x130);
Entities[i]->playerHealth.max = fGet(Entities[i]->entityAddv + 0x77C);
Entities[i]->playerHealth.cur = fGet(Entities[i]->entityAddv + 0x778);
Entities[i]->playerEnergy.max = fGet(Entities[i]->entityAddv + 0x1408);
Entities[i]->playerEnergy.cur = fGet(Entities[i]->entityAddv + 0x140C);
DWORD weaponsCapsule = dGet(Entities[i]->entityAddv + 0x12C);
Entities[i]->playerIsAttacking = false;
for(int w = 0; w < 4; w++){
DWORD weaponBase = dGet(weaponsCapsule + w * 4);
DWORD weaponAmmoBase = dGet(weaponBase + 0x54);
Entities[i]->playerWeapons[w].activity = iGet(weaponBase + 0xDC);
Entities[i]->playerWeapons[w].state = iGet(weaponBase + 0x4C0);
Entities[i]->playerWeapons[w].entityId = iGet(dGet(weaponBase + 0x4BC) + 0xC0);
Entities[i]->playerWeapons[w].maxAmmo = iGet(weaponAmmoBase + 0x7D4);
Entities[i]->playerWeapons[w].curAmmo = iGet(weaponAmmoBase + 0x7D0);
}
// Bones
Entities[i]->boneActor = vectorBoneRead(Entities[i]->bodyAddv);
for(int b = 0; b < 15; b++){
Entities[i]->playerBones[b] = getPlayerBone(Entities[i]->boneAddv, Entities[i]->boneActor, i, b);
}
DWORD NavMesh = dGet(Entities[i]->entityAddv + 312);
Entities[i]->position = v3fGet(NavMesh + 0x150);
Entities[i]->onEntiyPositionChanged();
Entities[i]->velocity = v3fGet(dGet(Entities[i]->entityAddv + 0x54) + 0x78);
Entities[i]->onEntiyVelocityChanged();
DWORD vehicleCommon = dGet(dGet(Entities[i]->entityAddv + 0x54) + 0x4D8);
Entities[i]->vehicleHealth.max = fGet(vehicleCommon + 0x108);
Entities[i]->vehicleHealth.cur = fGet(vehicleCommon + 0x10C);
Entities[i]->vehicleFuel.max = fGet(vehicleCommon + 0x120);
Entities[i]->vehicleFuel.cur = fGet(vehicleCommon + 0x124);
int boxItemCount = iGet(entityAddv + 0x440);
Entities[i]->inventoryItemCount = 0;
if(boxItemCount < 60){
DWORD itemEntry = iGet(entityAddv + 0x43C);
if(itemEntry > 50000){
for(int h = 0; h < boxItemCount; h++){
DWORD itemAddv = itemEntry + h * 48;
Entities[i]->inventoryItems[Entities[i]->inventoryItemCount].entityId = iGet(itemAddv + 0x4);
if(Entities[i]->inventoryItems[Entities[i]->inventoryItemCount].entityId > 0){
Entities[i]->inventoryItems[Entities[i]->inventoryItemCount].count = iGet(itemAddv + 0x18);
Entities[i]->inventoryItemCount++;
}
}
}
}
Item Types
1 : Loot - Item
2 : InventoryBox or AirDrop
5 : Vehicle
8 : Player
entityId | itemType | className | displayName |
---|---|---|---|
103003 | 1 | BP_Sniper_AWM_Wrapper_C | AWM |
103010 | 1 | BP_Sniper_QBU_Wrapper_C | QBU |
103009 | 1 | BP_Sniper_SLR_Wrapper_C | SLR |
103004 | 1 | BP_Sniper_SKS_Wrapper_C | SKS |
103006 | 1 | BP_Sniper_Mini14_Wrapper_C | Mini14 |
103002 | 1 | BP_Sniper_M24_Wrapper_C | M24 |
103001 | 1 | BP_Sniper_Kar98k_Wrapper_C | Kar98k |
103005 | 1 | BP_Sniper_VSS_Wrapper_C | VSS |
103008 | 1 | BP_Sniper_Win94_Wrapper_C | Win94 |
103003 | 7 | BP_Sniper_AWM_C | AWM_C |
101006 | 7 | BP_Rifle_AUG_C | AUG |
101008 | 1 | BP_Rifle_M762_Wrapper_C | M762 |
101003 | 1 | BP_Rifle_SCAR_Wrapper_C | SCAR-L |
101004 | 1 | BP_Rifle_M416_Wrapper_C | M416 |
101002 | 1 | BP_Rifle_M16A4_Wrapper_C | M16A-4 |
101009 | 1 | BP_Rifle_Mk47_Wrapper_C | Mk47 Mutant |
101010 | 1 | BP_Rifle_G36_Wrapper_C | G36C |
101007 | 1 | BP_Rifle_QBZ_Wrapper_C | QBZ |
101001 | 1 | BP_Rifle_AKM_Wrapper_C | AKM |
101005 | 1 | BP_Rifle_Groza_Wrapper_C | Groza |
101006 | 1 | BP_Rifle_AUG_Wrapper_C | AUG_A3 |
104003 | 1 | BP_ShotGun_S12K_Wrapper_C | S12K |
104004 | 1 | BP_ShotGun_DP12_Wrapper_C | DBS |
104001 | 1 | BP_ShotGun_S686_Wrapper_C | S686 |
104002 | 1 | BP_ShotGun_S1897_Wrapper_C | S1897 |
106006 | 1 | BP_ShotGun_SawedOff_Wrapper_C | SawedOff |
102005 | 1 | BP_MachineGun_PP19_Wrapper_C | PP19Bizon |
102004 | 1 | BP_MachineGun_TommyGun_Wrapper_C | TommyGun |
102007 | 1 | BP_MachineGun_MP5K_Wrapper_C | MP5K |
102002 | 1 | BP_MachineGun_UMP9_Wrapper_C | UMP9 |
102003 | 1 | BP_MachineGun_Vector_Wrapper_C | Vector |
102001 | 1 | BP_MachineGun_Uzi_Wrapper_C | Uzi |
106003 | 1 | BP_Pistol_R1895_Wrapper_C | R1895 |
106008 | 1 | BP_Pistol_Vz61_Wrapper_C | Vz61 |
106001 | 1 | BP_Pistol_P92_Wrapper_C | P92 |
106004 | 1 | BP_Pistol_P18C_Wrapper_C | P18C |
106005 | 1 | BP_Pistol_R45_Wrapper_C | R45 |
106002 | 1 | BP_Pistol_P1911_Wrapper_C | P1911 |
106010 | 1 | BP_Pistol_DesertEagle_Wrapper_C | DesertEagle |
108003 | 1 | BP_WEP_Sickle_Pickup_C | Sickle |
108001 | 1 | BP_WEP_Machete_Pickup_C | Machete |
107001 | 1 | BP_WEP_Cowbar_Pickup_C | Levye |
108004 | 1 | BP_WEP_Pan_Pickup_C | Pan |
103007 | 1 | BP_WEP_Mk14_Pickup_C | Mk14 |
108004 | 7 | BP_WEP_Pan_C | Pan_C |
302001 | 1 | BP_Ammo_762mm_Pickup_C | 7.62 |
305001 | 1 | BP_Ammo_45ACP_Pickup_C | 45ACP |
303001 | 1 | BP_Ammo_556mm_Pickup_C | 5.56 |
301001 | 1 | BP_Ammo_9mm_Pickup_C | 9mm |
306001 | 1 | BP_Ammo_300Magnum_Pickup_C | 300Magnum |
304001 | 1 | BP_Ammo_12Guage_Pickup_C | 12Guage |
307001 | 1 | BP_Ammo_Bolt_Pickup_C | Arbalet Oku |
201004 | 1 | BP_QK_Mid_FlashHider_Pickup_C | Alev Gizl (Haf. Mak..) |
201010 | 1 | BP_QK_Large_FlashHider_Pickup_C | Alev Gizl (Oto.) |
201009 | 1 | BP_QK_Large_Compensator_Pickup_C | Otomatik Kompensator |
201004 | 1 | BP_QK_Mid_Compensator_Pickup_C | Kompensator (Haf.Mak.) |
205002 | 1 | BP_QT_A_Pickup_C | Taktik Dipcik |
201012 | 1 | BP_QK_DuckBill_Pickup_C | Duckbill (Pompalı) |
201005 | 1 | BP_QK_Sniper_FlashHider_Pickup_C | Alev Gizl. Sniper |
201006 | 1 | BP_QK_Mid_Suppressor_Pickup_C | Susturucu (Haf. Mak. Tabanca) |
205003 | 1 | BP_QT_Sniper_Pickup_C | Chekpad Sniper |
201001 | 1 | BP_QK_Choke_Pickup_C | Choke |
205001 | 1 | BP_QT_UZI_Pickup_C | Dipcik (Micro UZI) |
201003 | 1 | BP_QK_Sniper_Compensator_Pickup_C | Sniper Kompensator |
201007 | 1 | BP_QK_Sniper_Suppressor_Pickup_C | Susuturucu Sniper |
201011 | 1 | BP_QK_Large_Suppressor_Pickup_C | Susuturucu Oto. |
204009 | 1 | BP_DJ_Sniper_EQ_Pickup_C | Hc.Uz.Snip.Sarjor |
204004 | 1 | BP_DJ_Mid_E_Pickup_C | Uz.Haf.Sarjor |
204005 | 1 | BP_DJ_Mid_Q_Pickup_C | Hc.Haf.Sarjor |
204007 | 1 | BP_DJ_Sniper_E_Pickup_C | Uz.Snip.Sarjor |
204008 | 1 | BP_DJ_Sniper_Q_Pickup_C | Hc.Snip.Sarjor |
204012 | 1 | BP_DJ_Large_Q_Pickup_C | Hc.Oto.Sarjor |
204013 | 1 | BP_DJ_Large_EQ_Pickup_C | Hc.Uz.Oto.Sarjor |
204011 | 1 | BP_DJ_Large_E_Pickup_C | Uz.Oto.Sarjor |
204006 | 1 | BP_DJ_Mid_EQ_Pickup_C | Hc.Uz.Haf.Sarjor |
205004 | 1 | BP_ZDD_Crossbow_Q_Pickup_C | Sadak (Arbalet) |
204014 | 1 | BP_ZDD_Sniper_Pickup_C | Mermilik |
203005 | 1 | BP_MZJ_8X_Pickup_C | 8x |
203003 | 1 | BP_MZJ_2X_Pickup_C | 2x |
203001 | 1 | BP_MZJ_HD_Pickup_C | Lazer |
203014 | 1 | BP_MZJ_3X_Pickup_C | 3X |
203002 | 1 | BP_MZJ_QX_Pickup_C | Holo |
203015 | 1 | BP_MZJ_6X_Pickup_C | 6x |
203004 | 1 | BP_MZJ_4X_Pickup_C | 4x |
105002 | 1 | BP_Other_DP28_Wrapper_C | DP28 |
107001 | 1 | BP_Other_CrossBow_Wrapper_C | Arbalet |
105001 | 1 | BP_Other_M249_Wrapper_C | M249 |
501006 | 1 | PickUp_BP_Bag_Lv3_C | Canta 3 |
501006 | 1 | PickUp_BP_Bag_Lv3_B_C | Canta 3 |
501004 | 1 | PickUp_BP_Bag_Lv1_C | Canta 1 |
501004 | 1 | PickUp_BP_Bag_Lv1_B_C | Canta 1 |
501005 | 1 | PickUp_BP_Bag_Lv2_C | Canta 2 |
501005 | 1 | PickUp_BP_Bag_Lv2_B_C | Canta 2 |
503002 | 1 | PickUp_BP_Armor_Lv2_C | Yelek 2 |
503002 | 1 | PickUp_BP_Armor_Lv2_B_C | Yelek 2 |
503001 | 1 | PickUp_BP_Armor_Lv1_C | Yelek 1 |
503001 | 1 | PickUp_BP_Armor_Lv1_B_C | Yelek 1 |
503003 | 1 | PickUp_BP_Armor_Lv3_C | Yelek 3 |
503003 | 1 | PickUp_BP_Armor_Lv3_B_C | Yelek 3 |
502002 | 1 | PickUp_BP_Helmet_Lv2_C | Kask 2 |
502002 | 1 | PickUp_BP_Helmet_Lv2_B_C | Kask 2 |
502001 | 1 | PickUp_BP_Helmet_Lv1_C | Kask 1 |
502001 | 1 | PickUp_BP_Helmet_Lv1_B_C | Kask 1 |
502003 | 1 | PickUp_BP_Helmet_Lv3_C | Kask 3 |
502003 | 1 | PickUp_BP_Helmet_Lv3_B_C | Kask 3 |
0 | 5 | BP_VH_Buggy_2_C | Buggy |
0 | 5 | BP_VH_Buggy_3_C | Buggy |
0 | 5 | BP_VH_Tuk_1_C | Tuk |
602004 | 1 | BP_Grenade_Shoulei_Weapon_Wrapper_C | Grenade |
0 | 1 | BP_Grenade_Shoulei_C | Bomb! |
602002 | 1 | BP_Grenade_Smoke_Weapon_Wrapper_C | Smoke |
602003 | 1 | BP_Grenade_Burn_Weapon_Wrapper_C | Molotof |
0 | 1 | BP_Grenade_Burn_C | Burn! |
602002 | 0 | BP_Grenade_Smoke_C | Smoke! |
602005 | 1 | BP_Grenade_Apple_Weapon_Wrapper_C | Apple |
601003 | 1 | Pills_Pickup_C | Painkiller |
601002 | 1 | Injection_Pickup_C | Adrenaline Syringe |
601001 | 1 | Drink_Pickup_C | Energy Drink |
601005 | 1 | Firstaid_Pickup_C | FirstaidKit |
601004 | 1 | Bandage_Pickup_C | Bandage |
0 | 8 | BP_PlayerPawn_C | BP_PlayerPawn_C |
0 | 8 | BP_PlayerPawn_ZNQ_C | BP_PlayerPawn_ZNQ_C |
202006 | 1 | BP_WB_ThumbGrip_Pickup_C | Basparmaklik |
202007 | 1 | BP_WB_Lasersight_Pickup_C | Silah Lazeri |
202001 | 1 | BP_WB_Angled_Pickup_C | Acili El Tutamagi |
202004 | 1 | BP_WB_LightGrip_Pickup_C | Hafif Tutamak |
0 | 1 | BP_WB_HalfGrip_Pickup_C | Yarım Tutamak |
202002 | 1 | BP_WB_Vertical_Pickup_C | DikeyTutamac |
0 | 5 | VH_Motorcycle_C | Motor |
0 | 5 | VH_Motorcycle_1_C | Motor |
0 | 5 | Mirado_open_4_C | Mirado Open |
0 | 5 | VH_Dacia_C | Toros |
0 | 5 | VH_Dacia_1_C | Toros |
0 | 5 | VH_Dacia_4_C | Toros |
0 | 5 | Rony_01_C | Rony |
0 | 5 | VH_Snowmobile_C | Snowmobile |
0 | 5 | Mirado_close_3_C | Mirado Blue |
0 | 5 | LadaNiva_01_C | Lada Niva |
0 | 5 | VH_Scooter_C | Scooter |
0 | 5 | VH_BRDM_C | Tank |
0 | 5 | PickUp_02_C | PickUp |
0 | 5 | VH_MiniBus_01_C | MiniBus |
0 | 5 | VH_MotorcycleCart_C | Motor 3Teker |
0 | 5 | VH_MotorcycleCart_1_C | Motor 3Teker |
0 | 5 | VH_Snowbike_C | Snowbike |
0 | 5 | VH_PG117_C | Boat |
0 | 5 | VH_UAZ01_C | UAZ1 |
0 | 5 | VH_UAZ02_C | UAZ2 |
0 | 5 | VH_UAZ03_C | UAZ2 |
0 | 5 | VH_UAZ04_C | UAZ2 |
0 | 2 | AquaRail_1_C | JetSki |
106007 | 1 | BP_Pistol_Flaregun_Wrapper_C | Flaregun |
0 | 1 | BP_AirDropBox_C | AirDrop |
0 | 1 | BP_AirDropPlane_C | Plane |
0 | 1 | PlayerDeadInventoryBox_C | Player Box |
603001 | 1 | GasCan_Destructible_Pickup_C | Benzin |
0 | 2 | PickUpListWrapperActor | Create Box |
0 | 5 | VH_Dacia_2_C | Toros |
0 | 5 | VH_Dacia_3_C | Toros |
3000312 | 1 | BP_GameCoin_Pickup_C | GameCoin |
0 | 1 | BP_BlindBoxMachine_C | BlindBoxMachine |
0 | 1 | BP_MiniGameMachine_C | MiniGameMachine |
0 | 1 | BP_Grenade_ColorBall_C | ColorBall |
0 | 2 | AirDropListWrapperActor | AirDrop |
601006 | 1 | FirstAidbox_Pickup_C | Medkit |
308001 | 1 | BP_Ammo_Flare_Pickup_C | Flaregun |
501003 | 1 | PickUp_BP_Bag_Lv3_Inbox_C | Canta 3 |
501002 | 1 | PickUp_BP_Bag_Lv2_Inbox_C | Canta 2 |
501001 | 1 | PickUp_BP_Bag_Lv1_Inbox_C | Canta 1 |
201002 | 1 | BP_QK_Mid_Compensator_Inbox_C | Kompensator (Haf.Mak.) |
502005 | 1 | PickUp_BP_Helmet_Lv2_Inbox_C | Kask 2 |
403989 | 1 | PickUp_BP_Ghillie_4_C | Suit - Arctic |
403045 | 1 | PickUp_BP_Ghillie_1_C | Suit - Woodland |
403187 | 1 | PickUp_BP_Ghillie_2_C | Suit - Desert |
403188 | 1 | PickUp_BP_Ghillie_3_C | Suit - Desert |
Sunmughan Swamy