Sorry, but did you not read what i said?
QUOTE (TSHyper @ Oct 6 2007, 01:47 AM)

How to read them... hmm, its going to be bloody hard if you dont have at least some basic programming skills and some minor knowledge of assembly.
It has nothing to do with reading skills, its about understanding what the game is doing.
ASM is one of the hardest programming languages out there, and unless you have some basic skills in that area, dont even try and work them out.
Finding the where the game puked up a exception is the hard part, you have to follow the
EIP: value in the
execpt.txt and also take notice of the
ECX: value.
Then you take this information into a dissasembled
Game.exe and follow the
EIP: value to get its relative address in the dissasembled exectuable. Now for example, my except.txt gave me
EIP:00638195. I know open up dissasembled
Game.exe and goto this address and i will see the following code...
.text:00638170 sub_638170 proc near
.text:00638170
.text:00638170
.text:00638170 var_4 = dword ptr -4
.text:00638170
.text:00638170 000 push ecx
.text:00638171 004 push esi
.text:00638172 008 mov esi, ecx
.text:00638174 008 mov eax, [esi]
.text:00638176 008 call dword ptr [eax+248h]
.text:00638176
.text:0063817C 008 test al, al
.text:0063817E 008 jz loc_63822F
.text:0063817E
.text:00638184 008 mov edx, [esi]
.text:00638186 008 push 0
.text:00638188 00C mov ecx, esi
.text:0063818A 00C call dword ptr [edx+30Ch]
.text:0063818A
.text:00638190 00C mov eax, [eax]
.text:00638192 00C mov ecx, [eax+68h]
.text:00638195 00C mov al, [ecx+131h].text:0063819B 00C test al, al
.text:0063819D 00C jz loc_63822F
.text:0063819D
.text:006381A3 00C mov edx, [esi]
.text:006381A5 00C push ebx
.text:006381A6 010 push edi
.text:006381A7 014 push 0
.text:006381A9 018 mov ecx, esi
.text:006381AB 018 call dword ptr [edx+30Ch]
.text:006381AB
.text:006381B1 018 mov eax, [eax]
.text:006381B3 018 mov ecx, [eax+7Ch]
.text:006381B6 018 mov ebx, [eax+68h]
.text:006381B9 018 mov edx, [eax+74h]
.text:006381BC 018 cmp ecx, 400h
.text:006381C2 018 mov [esp+10h+var_4], ecx
.text:006381C6 018 jl short loc_6381D0
.text:006381C6
.text:006381C8 018 mov [esp+10h+var_4], 400h
As you see, our address that was on the
EIP: value is in bold.
Now we know from this that the exception occured when the Game was trying to
Mov (Move) the value of
ECX (CPU Register) +
131h (Gets complicated here, 131h is a virtual table offset, could be anything, this is where you find out what caused the problem), into
AL (CPU Register).
Now, we take note of the
ECX: value in the execpt.txt, and in this case its
00000000.
We know now that ECX is empty, we need to find out where that was created. This is where it gets difficult, mainly for other people and me, because there is the area im upto at this moment, that is why i said i can not read all of them.
But Thanks to pd, we found out this is a error with a Building Type's weapon not having a projectile.
TSHyper