Pet HP Bar (ASM) Client [1.03K] Source

Results 1 to 3 of 3
  1. #1
    Darkness Member Kiosani is offline
    MemberRank
    Oct 2007 Join Date
    ArgentinaLocation
    1,276Posts

    happy Pet HP Bar (ASM) Client [1.03K] Source

    Well... I'm thinking by to much time.. if I must release this source or not, I mean.. this is more than only: "Demon Pet Show Life" xD, this is a part from my work with: Pets, but since.. I release this function now, because actually... I have this function (decompiled) then.. this is ugly and not util code for me... now, Enjoy it!

    Pets.cpp:

    Code:
    void __declspec(naked) RudolfPetHPBar1()
    {
    	_asm
    	{
    		MOV EAX, DWORD PTR DS:[0x7A723B8]
    		MOVSX ECX, WORD PTR DS:[EAX+0x1E8]
    		CMP ECX, ObjectId(13,67)					// Rudolf
    		JNZ Unicorn_Pet_Label
    		// ---------------------------------------
    		Unicorn_Pet_Label:
    		// ---------------------------------------
    		MOV EAX, DWORD PTR DS:[0x7A723B8]
    		MOVSX ECX, WORD PTR DS:[EAX+0x1E8]
    		CMP ECX, ObjectId(13,106)					// Unicorn
    		JE AddPetUnicorn_Text
    		JNZ Skeleton_Pet_Label
    		// ---------------------------------------
    		Skeleton_Pet_Label:
    		// ---------------------------------------
    		MOV EAX, DWORD PTR DS:[0x7A723B8]
    		MOVSX ECX, WORD PTR DS:[EAX+0x1E8]
    		CMP ECX, ObjectId(13,123)					// Skeleton
    		JE AddPetSkeleton_Text
    		JNZ BlueDragon_Pet_Label
    		// ---------------------------------------
    		BlueDragon_Pet_Label:
    		// ---------------------------------------
    		MOV EAX, DWORD PTR DS:[0x7A723B8]
    		MOVSX ECX, WORD PTR DS:[EAX+0x1E8]
    		CMP ECX, ObjectId(13,110)					// Blue Dragon
    		JE AddPetDragon_Text
    		JNZ DarkWolf_Pet_Label
    		// ---------------------------------------
    		DarkWolf_Pet_Label:
    		// ---------------------------------------
    		MOV EAX, DWORD PTR DS:[0x7A723B8]
    		MOVSX ECX, WORD PTR DS:[EAX+0x1E8]
    		CMP ECX, ObjectId(13,97)					// Dark Wolf
    		JE AddPetDarkWolf_Text
    		JNZ FangSable_Pet_Label
    		// ---------------------------------------
    		FangSable_Pet_Label:
    		// ---------------------------------------
    		MOV EAX, DWORD PTR DS:[0x7A723B8]
    		MOVSX ECX, WORD PTR DS:[EAX+0x1E8]
    		CMP ECX, ObjectId(13,98)					// Fang Sable
    		JE AddPetFangSable_Text
    		JNZ HairTiger_Pet_Label
    		// ---------------------------------------
    		HairTiger_Pet_Label:
    		// ---------------------------------------
    		MOV EAX, DWORD PTR DS:[0x7A723B8]
    		MOVSX ECX, WORD PTR DS:[EAX+0x1E8]
    		CMP ECX, ObjectId(13,99)					// Hair Tiger
    		JE AddPetHairTiger_Text
    		JNZ Fenrir_Pet_Label
    		// ---------------------------------------
    		Fenrir_Pet_Label:
    		// ---------------------------------------
    		MOV EAX, DWORD PTR DS:[0x7A723B8]
    		MOVSX ECX, WORD PTR DS:[EAX+0x1E8]
    		CMP ECX, ObjectId(13,37)					// Fenrir
    		JE AddPetFenrir_Text
    		JNZ Angel_Pet_Label
    		// ---------------------------------------
    		Angel_Pet_Label:
    		// ---------------------------------------
    		MOV EAX, DWORD PTR DS:[0x7A723B8]
    		MOVSX ECX, WORD PTR DS:[EAX+0x1E8]
    		CMP ECX, ObjectId(13,0)						// Angel
    		JE AddPetAngel_Text
    		JNZ Satan_Pet_Label
    		// ---------------------------------------
    		Satan_Pet_Label:
    		// ---------------------------------------
    		MOV EAX, DWORD PTR DS:[0x7A723B8]
    		MOVSX ECX, WORD PTR DS:[EAX+0x1E8]
    		CMP ECX, ObjectId(13,1)						// Satan
    		JE AddPetSatan_Text
    		JNZ Uniria_Pet_Label
    		// ---------------------------------------
    		Uniria_Pet_Label:
    		// ---------------------------------------
    		MOV EAX, DWORD PTR DS:[0x7A723B8]
    		MOVSX ECX, WORD PTR DS:[EAX+0x1E8]
    		CMP ECX, ObjectId(13,2)						// Uniria
    		JE AddPetUniria_Text
    		JNZ Dinorant_Pet_Label
    		// ---------------------------------------
    		Dinorant_Pet_Label:
    		// ---------------------------------------
    		MOV EAX, DWORD PTR DS:[0x7A723B8]
    		MOVSX ECX, WORD PTR DS:[EAX+0x1E8]
    		CMP ECX, ObjectId(13,3)						// Dinorant
    		JE AddPetDinorant_Text
    		JNZ Continue_Load
    		// ---------------------------------------
    		Continue_Load:
    		// ---------------------------------------
    		JNZ PetLifeBarFinalCheck
    		// ---------------------------------------
    		MOV BYTE PTR SS:[EBP-0x100],0
    		MOV ECX, 0x3F
    		XOR EAX, EAX
    		LEA EDI, [EBP-0xFF]							// 0xFF = 255 (Max Pet Life)
    		REP STOS DWORD PTR ES:[EDI]					// fucking REP STOS instruction set: EDI register
    		STOS WORD PTR ES:[EDI]						// I don't know that is this
    		STOS BYTE PTR ES:[EDI]						// I don't know that is this too, yet ! ;)
    		MOV EDX, DWORD PTR DS:[0x7A723B8]			// Some STRUCT -> maybe is related to: PreviewStruct
    		MOVSX EAX, WORD PTR DS:[EDX+0x1E8]			// 0x1E8 = Pet Slot from Inventory Character on: 1.03K JPN main.exe
    		MOV DWORD PTR SS:[EBP-0x110],EAX
    		MOV ECX, DWORD PTR SS:[EBP-0x110]
    		SUB ECX, ObjectId(13, 0)					// 0x1D42 => Guardian Angel ObjectId(13, 0) = 0x1D42
    		MOV DWORD PTR SS:[EBP-0x110],ECX
    		CMP DWORD PTR SS:[EBP-0x110],0x7F			// 0x50 => Panda Pet ObjectId(13, 80) = 0x1A50.. I have added pets, then I must modify this (7F)
    		JNZ PetLifeBarSomeCheck						// Here original instruction is: JA, but C++ Variant not admit this yet, then I change by: JNZ
    		MOV EAX, DWORD PTR SS:[EBP-0x110]
    		XOR EDX, EDX
    		MOV DL, BYTE PTR DS:[EAX+0x73687D]
    		JMP DWORD PTR DS:[EDX*0x4+0x736851]
    		// -----------------------------------------
    		AddPetUnicorn_Text:
    		// -----------------------------------------
    		PUSH 0xB54									// Set Name Text: "Unicorn Pet" -> 2900
    		MOV ECX,0x07AAD828							// Maybe this is a cool Pets Struct or Class :D method
    		CALL PetCall1								// This is a class sure (exists a MOV ECX up).
    		PUSH EAX
    		LEA ECX,[EBP-0x100]
    		PUSH ECX
    		CALL PetCall2
    		ADD ESP,0x8
    		JMP Pet_ExtrangeJump						// Here I must jump again to extrange instruction
    		// ----------------------------------------
    		AddPetSkeleton_Text:
    		// ----------------------------------------
    		PUSH 0xB55									// Set Name Text: "Skeleton Pet" -> 2901
    		MOV ECX,0x07AAD828							// Maybe this is a cool Pets Struct or Class :D method
    		CALL PetCall1								// This is a class sure (exists a MOV ECX up).
    		PUSH EAX
    		LEA ECX,[EBP-0x100]
    		PUSH ECX
    		CALL PetCall2
    		ADD ESP,0x8
    		JMP Pet_ExtrangeJump						// Here I must jump again to extrange instruction
    		// ----------------------------------------
    		AddPetDragon_Text:
    		// ----------------------------------------
    		PUSH 0xB56									// Set Name Text: "Dragon Pet" -> 2902
    		MOV ECX, 0x07AAD828							// Maybe this is a cool Pets Struct or Class :D method
    		CALL PetCall1								// This is a class sure (exists a MOV ECX up).
    		PUSH EAX
    		LEA ECX,[EBP-0x100]
    		PUSH ECX
    		CALL PetCall2
    		ADD ESP,0x8
    		JMP Pet_ExtrangeJump						// Here I must jump again to extrange instruction
    		// ----------------------------------------
    		AddPetDarkWolf_Text:
    		// ----------------------------------------
    		PUSH 0xB57									// Set Name Text: "Wolf Pet" -> 2903
    		MOV ECX,0x07AAD828							// Maybe this is a cool Pets Struct or Class :D method
    		CALL PetCall1								// This is a class sure (exists a MOV ECX up).
    		PUSH EAX
    		LEA ECX,[EBP-0x100]
    		PUSH ECX
    		CALL PetCall2
    		ADD ESP,0x8
    		JMP Pet_ExtrangeJump						// Here I must jump again to extrange instruction
    		// ----------------------------------------
    		AddPetFangSable_Text:
    		// ----------------------------------------
    		PUSH 0xB58									// Set Name Text: "Fang Pet" -> 2904
    		MOV ECX,0x07AAD828							// Maybe this is a cool Pets Struct or Class :D method
    		CALL PetCall1								// This is a class sure (exists a MOV ECX up).
    		PUSH EAX
    		LEA ECX,[EBP-0x100]
    		PUSH ECX
    		CALL PetCall2
    		ADD ESP,0x8
    		JMP Pet_ExtrangeJump						// Here I must jump again to extrange instruction
    		// ----------------------------------------
    		AddPetHairTiger_Text:
    		// ----------------------------------------
    		PUSH 0xB59									// Set Name Text: "Tiger Pet" -> 2905
    		MOV ECX,0x07AAD828							// Maybe this is a cool Pets Struct or Class :D method
    		CALL PetCall1								// This is a class sure (exists a MOV ECX up).
    		PUSH EAX
    		LEA ECX,[EBP-0x100]
    		PUSH ECX
    		CALL PetCall2
    		ADD ESP,0x8
    		JMP Pet_ExtrangeJump						// Here I must jump again to extrange instruction
    		// ----------------------------------------
    		AddPetFenrir_Text:
    		// ----------------------------------------
    		PUSH 0x77C									// Set Name Text: "Fenrir Pet" -> 1916 (Original Number Line)
    		MOV ECX,0x07AAD828							// Maybe this is a cool Pets Struct or Class :D method
    		CALL PetCall1								// This is a class sure (exists a MOV ECX up).
    		PUSH EAX
    		LEA ECX,[EBP-0x100]
    		PUSH ECX
    		CALL PetCall2
    		ADD ESP,0x8
    		JMP Pet_ExtrangeJump						// Here I must jump again to extrange instruction
    		// ----------------------------------------
    		AddPetAngel_Text:
    		// ----------------------------------------
    		PUSH 0x161									// Set Name Text: "Angel Pet" -> 353 (Original Number Line)
    		MOV ECX,0x07AAD828							// Maybe this is a cool Pets Struct or Class :D method
    		CALL PetCall1								// This is a class sure (exists a MOV ECX up).
    		PUSH EAX
    		LEA ECX,[EBP-0x100]
    		PUSH ECX
    		CALL PetCall2
    		ADD ESP,0x8
    		JMP Pet_ExtrangeJump						// Here I must jump again to extrange instruction
    		// ----------------------------------------
    		AddPetSatan_Text:
    		// ----------------------------------------
    		PUSH 0x162									// Set Name Text: "Satan Pet" -> 354 (Original Number Line)
    		MOV ECX,0x07AAD828							// Maybe this is a cool Pets Struct or Class :D method
    		CALL PetCall1								// This is a class sure (exists a MOV ECX up).
    		PUSH EAX
    		LEA ECX,[EBP-0x100]
    		PUSH ECX
    		CALL PetCall2
    		ADD ESP,0x8
    		JMP Pet_ExtrangeJump						// Here I must jump again to extrange instruction
    		// ----------------------------------------
    		AddPetUniria_Text:
    		// ----------------------------------------
    		PUSH 0x163									// Set Name Text: "Uniria Pet" -> 355 (Original Number Line)
    		MOV ECX,0x07AAD828							// Maybe this is a cool Pets Struct or Class :D method
    		CALL PetCall1								// This is a class sure (exists a MOV ECX up).
    		PUSH EAX
    		LEA ECX,[EBP-0x100]
    		PUSH ECX
    		CALL PetCall2
    		ADD ESP,0x8
    		JMP Pet_ExtrangeJump						// Here I must jump again to extrange instruction
    		// ----------------------------------------
    		AddPetDinorant_Text:
    		// ----------------------------------------
    		PUSH 0xB5A									// Set Name Text: "Dinorant Pet" -> 2906 (Original Number Line)
    		MOV ECX,0x07AAD828							// Maybe this is a cool Pets Struct or Class :D method
    		CALL PetCall1								// This is a class sure (exists a MOV ECX up).
    		PUSH EAX
    		LEA ECX,[EBP-0x100]
    		PUSH ECX
    		CALL PetCall2
    		ADD ESP,0x8
    		JMP Pet_ExtrangeJump						// Here I must jump again to extrange instruction
    		// ----------------------------------------
    		PetLifeBarSomeCheck:						// My cool defined LABEL, to make a extrange JUMP.
    		// ----------------------------------------
    		JMP Pet_ExtrangeJump
    		// ----------------------------------------
    		PetLifeBarFinalCheck:
    		// ----------------------------------------
    		JMP Pet_FinalJump
    	}
    }
    
    PetHPBarHook()
    {
            Utils.SetRange((LPVOID)0x0073662D, 156, ASM::NOP);
    	Utils.SetJmp((LPVOID)0x0073662D, RudolfPetHPBar1);
    }

    Screenshots:



    PS: This code... IS NOT FOR NOOBS, THIS IS ASSEMBLER IN-LINE VERY VERY, ADVANCED TO UNDERSTAND.. FOR SOME PERSONS.. (PERSONS THAT NOT HAVE: BRAIN).

    Credits:
    Webzen
    Nemesis(Me) -> mauro07


  2. #2
    Account Upgraded | Title Enabled! KinkyNesquiK is offline
    MemberRank
    May 2013 Join Date
    LondonLocation
    201Posts

    Re: Pet HP Bar (ASM) Client [1.03K] Source

    what muserver use?

  3. #3
    Darkness Member Kiosani is offline
    MemberRank
    Oct 2007 Join Date
    ArgentinaLocation
    1,276Posts

    Re: Pet HP Bar (ASM) Client [1.03K] Source

    Quote Originally Posted by KinkyNesquiK View Post
    what muserver use?
    My own mu server based on: 1.00.87 -> Season 4.5 (with addons for: 1.00.93 -> Season 4.6 FULL) + more addons server + client made by me: New Engine Project Remastered -> Called: "eX406 Project".

    Client base is: 1.03K JPN (Season 4.6) but have so much mods, as you can see on Screenshots.



Advertisement