Identifying Unreal bits
- John Adams
- Retired
- Posts: 4583
- Joined: Wed Aug 28, 2013 9:40 am
- Location: Phoenix, AZ.
- Contact:
Re: Identifying Unreal bits
[quote="TigerTiger"]It will dump all the unreal bits from Everything.[/quote]
btw, Yes please. Show me everything from everything so I can stop guessing what this data is Thank you.
btw, Yes please. Show me everything from everything so I can stop guessing what this data is Thank you.
-
TigerTiger
- Posts: 99
- Joined: Mon Oct 28, 2013 2:14 pm
Re: Identifying Unreal bits
Here is the base script:
http://ps23dformat.wikispaces.com/file/ ... anguard.7z
Unzip this folder and place it in your C drive C:\QuickbmsVanguard
Then when Vanguard is running and when you want an unreal dump simply click VGUnrealDump.bat wait a few seconds (best if you keep still) and it will output a file called UnrealObjects.txt
UnrealObjects.txt is a tab-delimited 4 column file that contains info on each Unreal Object that is currently in memory.
The first column is the objects number, the second is the objects name, the third is the objects class, the fourth is it's class path, and the fifth and most important one is the memory offset fot where the object is loaded (the memory offset is in decimal I don't know how to make it hex).
Each Class has it's own format. And that format also has it's own format. If we wanted to know the race id (m_iraceid) of each SGOPCPAWN we would search in column 2 for m_iRaceId
The whole entry is:
We would then go to offset 176967088 which in hex is 0A8C4DB0.
Then we would go +0x50 bytes above this to offset (this is hard coded for all IntProperties) to offset 0A8C4E00, and see the value
3C 04 00 00
This means that EVERY actor of classes derived from Pawn (for example Sgopcpawn Sgonpcpawn) will have there race id located +0x43c bytes past there base object.
Anyways scripts can be made to get the properties of any object. I'll be posting some scripts that do specific tasks such as enumerate all the "Enums", get the values for each "Const", dump the bytes for each native and unreal function ect.
http://ps23dformat.wikispaces.com/file/ ... anguard.7z
Unzip this folder and place it in your C drive C:\QuickbmsVanguard
Then when Vanguard is running and when you want an unreal dump simply click VGUnrealDump.bat wait a few seconds (best if you keep still) and it will output a file called UnrealObjects.txt
UnrealObjects.txt is a tab-delimited 4 column file that contains info on each Unreal Object that is currently in memory.
Code: Select all
11125 human_M_clth_armorRobes105_0_CLR Texture Color.UTX_human_M_clth.None. 274538464Each Class has it's own format. And that format also has it's own format. If we wanted to know the race id (m_iraceid) of each SGOPCPAWN we would search in column 2 for m_iRaceId
The whole entry is:
Code: Select all
3649 m_iRaceId IntProperty Pawn.Engine.None. 176967088Then we would go +0x50 bytes above this to offset (this is hard coded for all IntProperties) to offset 0A8C4E00, and see the value
3C 04 00 00
This means that EVERY actor of classes derived from Pawn (for example Sgopcpawn Sgonpcpawn) will have there race id located +0x43c bytes past there base object.
Anyways scripts can be made to get the properties of any object. I'll be posting some scripts that do specific tasks such as enumerate all the "Enums", get the values for each "Const", dump the bytes for each native and unreal function ect.
- John Adams
- Retired
- Posts: 4583
- Joined: Wed Aug 28, 2013 9:40 am
- Location: Phoenix, AZ.
- Contact:
Re: Identifying Unreal bits
[quote="TigerTiger"]I'll be posting some scripts that do specific tasks such as enumerate all the "Enums", get the values for each "Const", dump the bytes for each native and unreal function ect.[/quote]
Thank you, this is pretty cool stuff. I am not good with ASM or memory sniffing, so hopefully your next dump scripts will help. I didn't realize you were working in a live, active session. I thought you had extracted everything from a stand-alone client that somehow showed every bit in the bitstream or it's structs. Xinux will probably understand the above more than me. But thank you, nonetheless. Good work.
Thank you, this is pretty cool stuff. I am not good with ASM or memory sniffing, so hopefully your next dump scripts will help. I didn't realize you were working in a live, active session. I thought you had extracted everything from a stand-alone client that somehow showed every bit in the bitstream or it's structs. Xinux will probably understand the above more than me. But thank you, nonetheless. Good work.
- John Adams
- Retired
- Posts: 4583
- Joined: Wed Aug 28, 2013 9:40 am
- Location: Phoenix, AZ.
- Contact:
Re: Identifying Unreal bits
btw, it just occurred to me that the Unreal code might have some of these answers as well... so on a brief review of some info Xen posted in his Brain Dump, I found the Physics values.
Who knew all I had to do was actually search our own forums?
Code: Select all
var(Movement) const enum EPhysics
{
PHYS_None,
PHYS_Walking,
PHYS_Falling,
PHYS_Swimming,
PHYS_Flying,
PHYS_Rotating,
PHYS_Projectile,
PHYS_Interpolating,
PHYS_MovingBrush,
PHYS_Spider,
PHYS_Trailer,
PHYS_Ladder,
PHYS_RootMotion,
PHYS_Karma,
PHYS_KarmaRagDoll,
PHYS_Hovering,
PHYS_Bird,
PHYS_Levitate,
PHYS_FeatherFall,
} Physics;Re: Identifying Unreal bits
Lol !
The Platinum Order
Alliance of the Griffon
Brains and Brawn
Odinzz 55 Palladin
Psychosiss 54 Cleric ( So Close !)
Femic 55 Sorc
Dorinas 55 Blood Mage
And a mess load of alts!
Alliance of the Griffon
Brains and Brawn
Odinzz 55 Palladin
Psychosiss 54 Cleric ( So Close !)
Femic 55 Sorc
Dorinas 55 Blood Mage
And a mess load of alts!
- John Adams
- Retired
- Posts: 4583
- Joined: Wed Aug 28, 2013 9:40 am
- Location: Phoenix, AZ.
- Contact:
Re: Identifying Unreal bits
Let me revisit this question; though I suppose this is not really Unreal Bits...
Fallout, you may not remember when you encountered Ysanna Griffinmarch (Blacksmith Instructor) in the beautiful town of Bordinar's Cleft back on 4/18/2014 - 4/23/2014, but this is for you.
Ysanna Griffinmarch, you visited on 4/18 when you were level 17. This NPCs level was 21.
Then you visited again on 4/22, you were level 20, and this NPC was now level 39.
Lastly, you visited again on 4/23, you were level 21, and this same exact NPC was now level 58.
Every single bit of this NPCs parameter data is identical, except the level. I would love someone to explain what's going on here, because globally, this is wreaking havoc on the world population. I have 3 of these in the same spot, with 3 different levels... but more importantly, I need to understand why this level is change >>for certain<< so we can emulate this behavior later.
Question: Was the instructors level chasing your Crafting level, by chance? Any other reason you can think for this to happen? (anyone)
Thank you
Fallout, you may not remember when you encountered Ysanna Griffinmarch (Blacksmith Instructor) in the beautiful town of Bordinar's Cleft back on 4/18/2014 - 4/23/2014, but this is for you.
Ysanna Griffinmarch, you visited on 4/18 when you were level 17. This NPCs level was 21.
Then you visited again on 4/22, you were level 20, and this NPC was now level 39.
Lastly, you visited again on 4/23, you were level 21, and this same exact NPC was now level 58.
Every single bit of this NPCs parameter data is identical, except the level. I would love someone to explain what's going on here, because globally, this is wreaking havoc on the world population. I have 3 of these in the same spot, with 3 different levels... but more importantly, I need to understand why this level is change >>for certain<< so we can emulate this behavior later.
Question: Was the instructors level chasing your Crafting level, by chance? Any other reason you can think for this to happen? (anyone)
Thank you
Re: Identifying Unreal bits
i believe you are correct in assuming she was leveling to his skill... at tiers of 10 it goes from novice to amateur to apprentice to initiate to journeyman .
not sure why else the NPC would even have levels except for that reason.
I cant be certain but i hope this helps
not sure why else the NPC would even have levels except for that reason.
I cant be certain but i hope this helps
The Platinum Order
Alliance of the Griffon
Brains and Brawn
Odinzz 55 Palladin
Psychosiss 54 Cleric ( So Close !)
Femic 55 Sorc
Dorinas 55 Blood Mage
And a mess load of alts!
Alliance of the Griffon
Brains and Brawn
Odinzz 55 Palladin
Psychosiss 54 Cleric ( So Close !)
Femic 55 Sorc
Dorinas 55 Blood Mage
And a mess load of alts!
Re: Identifying Unreal bits
http://vgoemulator.net/index.php?p=projman&id=650
I remember my crafting session there doing the blacksmith beginner quest's but did not watch the level of the npc..I think the same happens with diplomacy I Believe some npc's scale with your level but i could be wrong here.. To many quest and npcs in my head
I try to upload my crafting logs this evening leveling from lvl 10 to lvl 21 in Khal and tursh hopefully this shed some light on this
I remember my crafting session there doing the blacksmith beginner quest's but did not watch the level of the npc..I think the same happens with diplomacy I Believe some npc's scale with your level but i could be wrong here.. To many quest and npcs in my head
I try to upload my crafting logs this evening leveling from lvl 10 to lvl 21 in Khal and tursh hopefully this shed some light on this
- John Adams
- Retired
- Posts: 4583
- Joined: Wed Aug 28, 2013 9:40 am
- Location: Phoenix, AZ.
- Contact:
Re: Identifying Unreal bits
Okay, thanks for the feedback. This makes me think non-attackable NPCs in fact do not have level's that are notable (why should they need one?), so I have excluded this data from my parsings for now.
-
TigerTiger
- Posts: 99
- Joined: Mon Oct 28, 2013 2:14 pm
Re: Identifying Unreal bits
Hey John, do you want to commit the following table to the SVN?
m_PackageIndex
For example 43 would correspond to the package BARD_ITEMS.uem
Some packages like SPADE_ITEMS.uem don't exist even though it is referenced in vgclient.exe
m_PackageIndex
Code: Select all
0 EYE
1 HAIR_BANGS
2 HAIR_TOP
3 HAIR_BACK
4 HAIR_SIDES
5 HAIR_PONYTAIL
6 HAIR_FACE
7 ARM
8 BACK
9 CHEST
10 EAR
11 FACE
12 FEET
13 FINGER
14 HAND
15 HEAD
16 LEG
17 NECK
18 SHOULDER
19 WAIST
20 WRIST
21 TOOL
22 AXE
23 BOW
24 CLUB
25 CROSSBOW
26 DAGGER
27 FLAIL
28 HAMMER
29 MACE
30 POLEARM
31 STAFF
32 THROWN
33 SWORD
34 SHIELD
35 SPEAR
36 FIST
37 SPADE
38 KNIFE
39 MARTIALFIST
40 MARTIALSWORD
41 MARTIALSTAFF
42 FOCUS
43 BARD
500 MOUNT
501 IOD_MOUNT
600 TEST
601 FULLSUITSome packages like SPADE_ITEMS.uem don't exist even though it is referenced in vgclient.exe
Last edited by TigerTiger on Mon Jul 28, 2014 7:17 am, edited 1 time in total.