diff --git a/library/DFMemInfo.cpp b/library/DFMemInfo.cpp
index 4b843cca6..a2724461b 100644
--- a/library/DFMemInfo.cpp
+++ b/library/DFMemInfo.cpp
@@ -100,6 +100,7 @@ memory_info::memory_info(const memory_info &old)
t_class * copy = new t_class(*old.d->classes[i]);
d->classes.push_back(copy);
}
+ d->classnames = old.d->classnames;
d->classindex = old.d->classindex;
d->professions = old.d->professions;
d->jobs = old.d->jobs;
@@ -340,9 +341,10 @@ bool memory_info::resolveObjectToClassID(const uint32_t address, int32_t & class
{
uint32_t vtable = g_pProcess->readDWord(address);
// FIXME: stupid search. we need a better container
+ string classname = g_pProcess->readClassName(vtable);
for(uint32_t i = 0;i< d->classes.size();i++)
{
- if(d->classes[i]->vtable == vtable) // got class
+ if(d->classes[i]->classname == classname) // got class
{
// if it is a multiclass, try resolving it
if(d->classes[i]->type_offset)
@@ -366,7 +368,6 @@ bool memory_info::resolveObjectToClassID(const uint32_t address, int32_t & class
return true;
}
}
- string classname = g_pProcess->readClassName(vtable);
t_class * c = setClass(classname.c_str(),vtable);
classid = c->assign;
return true;
diff --git a/library/DFProcess-windows.cpp b/library/DFProcess-windows.cpp
index eaba63abd..1479db1e1 100644
--- a/library/DFProcess-windows.cpp
+++ b/library/DFProcess-windows.cpp
@@ -379,9 +379,9 @@ const string NormalProcess::readCString (const uint32_t offset)
string temp;
char temp_c[256];
DWORD read;
- ReadProcessMemory(d->my_handle, (int *) offset, temp_c, 255, &read);
+ ReadProcessMemory(d->my_handle, (int *) offset, temp_c, 254, &read); // needs to be 254+1 byte for the null term
temp_c[read+1] = 0;
- temp = temp_c;
+ temp.assign(temp_c);
return temp;
}
diff --git a/output/Memory.xml b/output/Memory.xml
index bb6e74ef5..ab3c1e42d 100644
--- a/output/Memory.xml
+++ b/output/Memory.xml
@@ -671,6 +671,55 @@
55
57
-1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -779,103 +828,7 @@
0x84
0x60
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
0x9fc294
0xd457f4
0xd73868
@@ -883,21 +836,39 @@
0x1706d4c
-
-
- 0x4967C2E0
- aea5a207b8b1cda942502f97a429f6c3
-
-
- 0x01531EC0
- 0x014da5e0
- 0x014ee978
- 0x014F4B4C
- 0x014edfcc
-
-
- 0x01534270
- 0x01534240
+
+ 0x4953556c
+ B1A8CA1F91734EB492B7F54F6823CDDB
+ 0x014d1db0
+ 0x014bda18
+ 0x014d1404
+ 0x014d1de4
+ 0x0165b5a8
+ 0x0094b27c
+ 0x012e101c
+ 0x014d14f8
+ 0x01517678
+ 0x015152f8
+ 0x01517468
+ 0x012e0fe4
+ 0x012cefbf
+ 0x01515330
+ 0x01515334
+ 0x01515338
+ 0x015170f8
+ 0x0151702c
+ 0x015176a8
+ 0x014d7f84
+ 0x012ef340
+ 0x0165a34c
+ 0x00c9333c
+ 0x00cc13b0
+ 0x00cc138c
+ 0x01516930
+ 0x01515318
+ 0x0151531c
+ 0x01515320
+
0x54
@@ -927,17 +898,7 @@
0x70
-
-
- 0x01531EE0
- 0x01531EE4
- 0x01531EE8
-
-
- 0x01531EF8
- 0x01531EFC
- 0x01531F00
-
+
0x10
0x2C
@@ -946,8 +907,6 @@
0x0684
0x1D84
-
- 0x015334F8
0x84
0x86
0x75C
@@ -961,443 +920,296 @@
0xC
- 0x01534030
0x18
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0x9662a4
- 0xcae368
- 0xcdc3dc
- 0xcdc3b8
- 0x1676f14
-
- 0x012FDBAC
0x2
0x4
0x8
0x24
- 0x012FDBE4
0x1C
0x20
- 0x2C
-
- 0x01533CC0
- 0x01533BF4
0x0
0x7a
0x100
-
-
-
- 0x49C82D3F
- 6f81231b845e9c9dc29aaf57705ccc7c
-
-
- 0x9652a4
- 0xcdf5a0
- 0xd0d64c
- 0xd0d628
+ 0x68
+ 0x24
+ 0x1C
+ 0x28
+ 0x24
+ 0x24
+ 0x24
+ 0x5C
+ 0x94
+ 0xB0
- 0x013E853C
- 0x013E8574
+
+
+
+
+
+
+
+
+
+
+ 0x4957716f
+ 9B6DA355562A4CDD345EA3046290499B
+ 0x0094d27c
+ 0x012d0fbf
+ 0x00c9533c
+ 0x00cc33b0
+ 0x00cc338c
+
+
+ 0x4957a0a2
+ B77759DB7A6DD787BF98953FC5749D81
+
+
+ 0x495991c3
+ A0792B81E5B8EC1DBDD627643E93B40D
+ 0x0094f27c
+ 0x012d2fbb
+ 0x00c97334
+ 0x00cc53a8
+ 0x00cc5384
+
+
+ 0x495cafd2
+ D09E88A32FE57DE5973F78EF213271B6
+ 0x009662a4
+ 0x012e9fef
+ 0x00cae368
+ 0x00cdc3dc
+ 0x00cdc3b8
+
+
+ 0x495fcfef
+ 8E8E2A83D421E356A8047DC8830A7426
+ 0x009662a4
+ 0x012e9fef
+ 0x00cae368
+ 0x00cdc3dc
+ 0x00cdc3b8
+
+
+ 0x4963c928
+ 32253BEE114DD25EBBAA50D90B5C0A2A
+
+
+ 0x4967c2e0
+ AEA5A207B8B1CDA942502F97A429F6C3
+
+
+ 0x49c59b94
+ 193193D8624F2F3F6D9D556FAB09B122
+ 0x0151bd00
+ 0x01507968
+ 0x0151b354
+ 0x0151bd34
+ 0x016a54f8
+ 0x009652a4
+ 0x0132e574
+ 0x0151b448
+ 0x015615c8
+ 0x0155f248
+ 0x015613b8
+ 0x0132e53c
+ 0x0131b25f
+ 0x0155f280
+ 0x0155f284
+ 0x0155f288
+ 0x01561048
+ 0x01560f7c
+ 0x015615f8
+ 0x01521ed4
+ 0x0133c898
+ 0x016a429c
+ 0x00cdf5a0
+ 0x00d0d64c
+ 0x00d0d628
+ 0x01560880
+ 0x0155f268
+ 0x0155f26c
+ 0x0155f270
+
+
+ 0x49c82d3f
+ 6F81231B845E9C9DC29AAF57705CCC7C
-
- 0x4A3CCB7F
- 6ea1de36af8e1666bd6478736e298c4c
-
-
- 0x015FACCC
- 0x015A33B8
- 0x015B7750
- 0x015BD924
- 0x015B6DA4
-
-
- 0x015FD07C
- 0x015FD04C
-
-
- 0x015FACEC
- 0x015FACF0
- 0x015FACF4
-
-
- 0x015FAD04
- 0x015FAD08
- 0x015FAD0C
-
-
- 0x015FC304
-
- 0x015FCE3C
-
-
-
-
-
-
- 0x95f2b4
- 0xd995a0
- 0xdc764c
- 0xdc7628
- 0x173fde0
-
- 0x015FCACC
- 0x015FCA00
-
+ 0x4a3ccb7f
+ 6EA1DE36AF8E1666BD6478736E298C4C
+ 0x015b7750
+ 0x015a33b8
+ 0x015b6da4
+ 0x01750e7c
+ 0x0095f410
+ 0x0095f2b4
+ 0x013e8574
+ 0x015b6e98
+ 0x015fd04c
+ 0x015faccc
+ 0x015fce3c
+ 0x013e853c
+ 0x013d525f
+ 0x015fad04
+ 0x015fad08
+ 0x015fad0c
+ 0x015fcacc
+ 0x015fca00
+ 0x015fd07c
+ 0x015bd924
+ 0x015b6dc4
+ 0x0173fde0
+ 0x00d995a0
+ 0x00dc764c
+ 0x00dc7628
+ 0x015fc304
+ 0x015facec
+ 0x015facf0
+ 0x015facf4
-
- 0x4A51C26E
- 04a8d8ce311d8ac75e4241bef68d3147
-
-
-
+ 0x4a51c26e
+ 04A8D8CE311D8AC75E4241BEF68D3147
+ 0x00964430
0x009642b4
+ 0x013da2bf
0x00d9e600
0x00dcc6ac
0x00dcc688
-
- 0x4A8623D2
- 781a2e51be4056a7320108f8f0df8a13
-
-
-
- 0x009662B4
- 0x00DA060C
- 0x00DCE6B8
- 0x00DCE694
+ 0x4a8623d2
+ 781A2E51BE4056A7320108F8F0DF8A13
+ 0x00966430
+ 0x009662b4
+ 0x013dc2c7
+ 0x00da060c
+ 0x00dce6b8
+ 0x00dce694
-
-
- 0x4A9A6090
- 12cc4a3dbb6e6dfd7bc7aee458b9471a
-
-
-
- 0x009662B4
- 0x00DA061C
- 0x00DCE6C8
- 0x00DCE6A4
+
+ 0x4a9a6090
+ 12CC4A3DBB6E6DFD7BC7AEE458B9471A
+ 0x015be808
+ 0x015aa470
+ 0x015bde5c
+ 0x01757f3c
+ 0x00966430
+ 0x009662b4
+ 0x013ef62c
+ 0x015bdf50
+ 0x01604104
+ 0x01601d84
+ 0x01603ef4
+ 0x013ef5f4
+ 0x013dc2eb
+ 0x01601dbc
+ 0x01601dc0
+ 0x01601dc4
+ 0x01603b84
+ 0x01603ab8
+ 0x01604134
+ 0x015c49dc
+ 0x015bde7c
+ 0x01746e98
+ 0x00da061c
+ 0x00dce6c8
+ 0x00dce6a4
+ 0x016033bc
+ 0x01601da4
+ 0x01601da8
+ 0x01601dac
-
-
- 0x4A9B1A72
- 59ab29021aca9f3c66b1ab102fb3ceea
-
-
- 0x01757F38
- 0x15BDF50
- 0x68
- 0x013EF900
- 0x13DC2EB
- 0x013EF970
-
- 0x24
- 0x1C
- 0x28
- 0x24
- 0x24
- 0x24
- 0x5C
- 0x94
- 0xB0
-
+
+ 0x4a9b1a72
+ 59AB29021ACA9F3C66B1AB102FB3CEEA
-
- 0x4B6B7879
- de66405f54d98297303d439b3b7aa30e
-
- 0x016367DC
- 0x015DEEC8
- 0x015F3260
- 0x015F9434
- 0x015F28B4
- 0x015F29A8
-
-
- 0x01638B8C
- 0x01638B5C
-
-
- 0x016367FC
- 0x01636800
- 0x01636804
-
-
+ 0x4b6b7879
+ DE66405F54D98297303D439B3B7AA30E
+ 0x015f3260
+ 0x015deec8
+ 0x015f28b4
+ 0x0178c994
+ 0x0099ae08
+ 0x0099ac88
+ 0x014240dc
+ 0x015f29a8
+ 0x01638b5c
+ 0x016367dc
+ 0x0163894c
+ 0x014240a4
+ 0x01410cc1
0x01636814
0x01636818
- 0x0163681C
-
-
- 0x01637E14
-
- 0x0163894C
-
- 0x0099AC88
- 0x00DD4FEC
- 0x00E03098
- 0x00E03074
- 0x0177B8F0
- 0x0099AE0C
- 0x01410CC1
- 0x014243C4
- 0x0178C994
-
- 0x014240A4
- 0x014240DC
-
- 0x16385DC
- 0x1638510
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ 0x0163681c
+ 0x016385dc
+ 0x01638510
+ 0x01638b8c
+ 0x015f9434
+ 0x014243c4
+ 0x0177b8f0
+ 0x00dd4fec
+ 0x00e03098
+ 0x00e03074
+ 0x01637e14
+ 0x016367fc
+ 0x01636800
+ 0x01636804
-
+
0x4b81b00d
5cdc6f4804809f4d5cacdb66785e8cda
-
- 0x016D2DD4
- 0x167B4C0
- 0x168f858
- 0x01695A2C
- 0x168EEAC
- 0x0168EFA0
-
-
- 0x016D5184
- 0x016D5154
-
-
- 0x16D2DF4
- 0x16D2DF8
- 0x16D2DFC
-
-
- 0x016D2E0C
- 0x016D2E10
- 0x016D2E14
-
-
- 0x016D440C
-
- 0x016D4F44
-
- 0x9772b8
- 0xDB1584
- 0xDDF630
- 0xDDF60C
- 0x1817EE8
- 0x977438
- 0x014AD278
- 0x014C09BC
- 0x01828F8C
-
- 0x014C069C
- 0x014C06D4
-
- 0x016D4BD4
- 0x16D4B08
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ 0x00977438
+ 0x009772b8
+ 0x014ad278
+ 0x00db1584
+ 0x00ddf630
+ 0x00ddf60c
-
-
- 0x4B90268A
- 13640a273d90af39425b798ae9823757
-
- 0x01555E14
-
-
- 0x014FE500
+ 0x4b90268a
+ 13640A273D90AF39425B798AE9823757
0x01512898
- 0x01518A6C
- 0x01511EEC
- 0x01511FE0
-
-
-
- 0x015581C4
- 0x01558194
-
-
- 0x01555E34
- 0x01555E38
- 0x01555E3C
-
-
- 0x01555E4C
- 0x01555E50
- 0x01555E54
-
-
- 0x0155744C
-
- 0x01557F84
-
- 0x0097A2B8
- 0x00CF4230
- 0x00D222DC
- 0x00D222B8
- 0x0169AF28
- 0x016AC1A0
- 0x0132FF1E
- 0x013439FC
-
- 0x016ABFC8
-
-
- 0x01558194
- 0x01343710
-
- 0x01557C14
- 0x01557B48
-
-
+ 0x01511fe0
+ 0x01558194
+ 0x01555e14
+ 0x01557f84
+ 0x013436dc
+ 0x0132ff1e
+ 0x01555e4c
+ 0x01555e50
+ 0x01555e54
+ 0x01557c14
+ 0x01557b48
+ 0x015581c4
+ 0x01518a6c
+ 0x013439fc
+ 0x0169af28
+ 0x00cf4230
+ 0x00d222dc
+ 0x00d222b8
+ 0x0155744c
+ 0x01555e34
+ 0x01555e38
+ 0x01555e3c
0x4B918BB9
af29004e1763bb3460faa11907c3ac90
-
.-"""-.
' \