ver. 2.6
Code:
revHex(revReturnAddress, returnAddress)
revHex(revQuestId, questId)
revHex(revQuestFunctionAddress, questFunctionAddress)
revHex(revBaseAddress, realBaseAddress)
revHex(revQuestFunctionOffset, questFunctionOffset)
;60 PUSHAD
;B8 80 45 66 00 MOV EAX, 00664580
;8B 0D 7C 65 98 00 MOV ECX, DWORD PTR [98657C]
;8B 49 1C MOV ECX, DWORD PTR [ECX+1C]
;8B 49 30 MOV ECX, DWORD PTR [ECX+30]
;8B 89 DC 0D MOV ECX, DWORD PTR [ECX+DDC]
;68 DD 06 PUSH 6DD
;FF D0 CALL NEAR EAX
;A3 32 54 76 98 MOV DWORD PTR [98765432], EAX
;61 POPAD
;C3 RET
func =
func = %func%60 ;PUSHAD
func = %func%B8%revQuestFunctionAddress% ;MOV EAX, questFunction
func = %func%8B0D%revBaseAddress% ;MOV ECX, DWORD PTR [baseAddress]
func = %func%8B491C ;MOV ECX, DWORD PTR [ECX+1C]
func = %func%8B4934 ;MOV ECX, DWORD PTR [ECX+34]
func = %func%8B89%revQuestFunctionOffset% ;MOV ECX, DWORD PTR [ECX+questFuncOffset]
func = %func%68%revQuestId% ;PUSH questId
func = %func%FFD0 ;CALL NEAR EAX
func = %func%A3%revReturnAddress% ;MOV DWORD PTR [returnAddress], EAX
func = %func%61 ;POPAD
func = %func%C3 ;RET
ver. 2.7
Code:
revHex(revReturnAddress, returnAddress)
revHex(revQuestId, questId)
revHex(revQuestFunctionAddress, questFunctionAddress)
revHex(revBaseAddress, realBaseAddress)
revHex(revQuestFunctionOffset, questFunctionOffset)
[COLOR="Red"]revHex(revPlayerOffSet, playerOffSet)[/COLOR]
;60 PUSHAD
;B8 80 45 66 00 MOV EAX, 00664580
;8B 0D 7C 65 98 00 MOV ECX, DWORD PTR [98657C]
;8B 49 1C MOV ECX, DWORD PTR [ECX+1C]
;8B 49 30 MOV ECX, DWORD PTR [ECX+30]
;8B 89 DC 0D MOV ECX, DWORD PTR [ECX+DDC]
;68 DD 06 PUSH 6DD
;FF D0 CALL NEAR EAX
;A3 32 54 76 98 MOV DWORD PTR [98765432], EAX
;61 POPAD
;C3 RET
func =
func = %func%60 ;PUSHAD
func = %func%B8%revQuestFunctionAddress% ;MOV EAX, questFunction
func = %func%8B0D%revBaseAddress% ;MOV ECX, DWORD PTR [baseAddress]
func = %func%8B491C ;MOV ECX, DWORD PTR [ECX+1C]
[COLOR="Red"]func = %func%8B49%revPlayerOffSet% ;MOV ECX, DWORD PTR [ECX+playerOffset][/COLOR]
func = %func%8B89%revQuestFunctionOffset% ;MOV ECX, DWORD PTR [ECX+questFuncOffset]
func = %func%68%revQuestId% ;PUSH questId
func = %func%FFD0 ;CALL NEAR EAX
func = %func%A3%revReturnAddress% ;MOV DWORD PTR [returnAddress], EAX
func = %func%61 ;POPAD
func = %func%C3 ;RET
so u can make hardcoded parts put outside, like this, now playerOffset not hardcoded in source and easy editable via WQing.ini :p