PDA

View Full Version : |Source| [ FireTeam ] Nova Durabilidade Para Itens +15



MisoGrandelle
09/12/2015, 12:53 AM
void __declspec(naked) Durability()
{
__asm CMP DWORD PTR SS:[EBP+0xC],0x0E;
__asm JNZ ITEM_15;
__asm MOV ECX,DWORD PTR SS:[EBP+8];
__asm IMUL ECX,ECX,0x6C;
__asm XOR EDX,EDX;
__asm MOV DL,BYTE PTR DS:[ECX+0x9439398];
__asm MOV EAX,DWORD PTR SS:[EBP+0xC];
__asm LEA ECX,DWORD PTR DS:[EDX+EAX*2+7];
__asm MOV DWORD PTR SS:[EBP-4],ECX;
__asm JMP LOCAL;
ITEM_15:
__asm CMP DWORD PTR SS:[EBP+0xC],0x0F;
__asm JNZ RETURN;
__asm MOV ECX,DWORD PTR SS:[EBP+8];
__asm IMUL ECX,ECX,0x6C;
__asm XOR EDX,EDX;
__asm MOV DL,BYTE PTR DS:[ECX+0x9439398];
__asm MOV EAX,DWORD PTR SS:[EBP+0xC];
__asm LEA ECX,DWORD PTR DS:[EDX+EAX*2+8];
__asm MOV DWORD PTR SS:[EBP-4],ECX;
__asm JMP LOCAL;
LOCAL:
__asm MOV EDI, 0x004EC7E7;
__asm JMP EDI;
RETURN:
__asm MOV EAX,DWORD PTR SS:[EBP+8];
__asm IMUL EAX,EAX,0x6C;
__asm XOR ECX,ECX;
__asm MOV CL,BYTE PTR DS:[EAX+0x9439398];
__asm MOV EDX,DWORD PTR SS:[EBP+0xC];
__asm LEA EAX,DWORD PTR DS:[ECX+EDX*2-4];
__asm MOV DWORD PTR SS:[EBP-4],EAX;
__asm MOV EDI, 0x004EC7E7;
__asm JMP EDI;
}

// - Itens+15

func.SetByte(0x00420CDA+2, 0x0F);
func.SetByte(0x004B44D3+2, 0x0F);
func.HookThis((DWORD)&Durability,0x004EC7CF);
func.SetNop(0x004EC7CF+5, 19);

Créditos :

FireTeam ( Maykon / MisoGrandelle )

[]'

Hugo
09/12/2015, 09:11 AM
[Only registered and activated users can see links]

Maykon
09/12/2015, 10:10 AM
Hugo

Eu curto usar assim o código fica mais bonito :D

InFamous
09/12/2015, 10:50 AM
Maykon acabei reescrevendo a função já que dessa forma dava crash no meu GS. Thanks.

Maykon
09/12/2015, 01:58 PM
Usa o hook do kinho :D



void Hook_proc(DWORD DToffset, DWORD DTfunc)
{
*(BYTE*) (DToffset) = 0xE9;
*(DWORD*) (DToffset+1) = (DWORD)(DTfunc)-(DToffset+5);
}


Créditos: Kinhomace

Hugo
09/12/2015, 03:13 PM
Economizaria o Trabalho Retirando a Função da Dec , organizando e apenas fazendo o Hook :)