• Welcome to Valhalla Legends Archive.
 

[Warden Module] - Crash during Initialization

Started by Fr3DBr, January 24, 2010, 11:06 AM

Previous topic - Next topic

Fr3DBr

Hello, im trying to initialize my module using the example on skulls website.

Altough i noticed that its usually crashing inside the module when we call init at :


CPU Disasm
Address   Hex dump          Command                                  Comments
005053DD    56              PUSH ESI <--- ESI Had the address to the Function Callback Struct PTR
005053DE    BE 0CA00000     MOV ESI,0A00C
005053E3    EB 08           JMP SHORT 005053ED
005053E5    6A 00           PUSH 0
005053E7    FF15 04900000   CALL DWORD PTR DS:[9004]
005053ED    33C0            XOR EAX,EAX
005053EF    40              INC EAX
005053F0    8BD6            MOV EDX,ESI
005053F2    33C9            XOR ECX,ECX
005053F4    F0:0FB10A       LOCK CMPXCHG DWORD PTR DS:[EDX],ECX <------ crash here
005053F8    85C0            TEST EAX,EAX
005053FA  ^ 74 E9           JE SHORT 005053E5
005053FC    5E              POP ESI
005053FD    C3              RETN

EDX points to the following : 000A00C and ECX is 000000.

So im wondering, whats its exactly the module trying to do here ? seems it replaces the reference to the function callback array, and changes it to A00C but wtf lol ? :D

Fr3DBr

Ok this was a issue with the global variables that didnt got properly replaced in the module, so as we can see we had a 'kaboom' there :P