Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- { Game : EMPIRESX.EXE Age of Empires Rise of Rome
- Version: Latest
- Date : 2019-03-15
- Author : ChaosHacks
- This script gives your buildings infinite health. They can take damage but
- will always restore themselves to full health.
- }
- [ENABLE]
- aobscanmodule(InfBuildingHealth,EMPIRESX.EXE,D9 40 30 E8 10 EF 02 00)
- alloc(newmem,$1000)
- label(code)
- label(return)
- label(farm)
- label(house)
- label(towncent)
- label(barrak)
- label(tower)
- label(CentTower)
- label(GuardTower)
- label(smallWall)
- label(MedWall)
- label(Fortifi)
- label(wond)
- newmem:
- cmp dword ptr [eax+30],(float)50
- je farm
- cmp dword ptr [eax+30],(float)75
- je house
- cmp dword ptr [eax+30],(float)600
- je towncent
- cmp dword ptr [eax+30],(float)350
- je barrak
- cmp dword ptr [eax+30],(float)100
- je tower
- cmp dword ptr [eax+30],(float)150
- je CentTower
- cmp dword ptr [eax+30],(float)200
- je GuardTower
- cmp dword ptr [eax+30],(float)200
- je smallWall
- cmp dword ptr [eax+30],(float)300
- je MedWall
- cmp dword ptr [eax+30],(float)400
- je Fortifi
- cmp dword ptr [eax+30],(float)500
- je wond
- towncent:
- mov dword ptr [eax+30],(float)600
- call EMPIRESX.EXE+1283E0
- jmp return
- house:
- mov dword ptr [eax+30],(float)75
- call EMPIRESX.EXE+1283E0
- jmp return
- barrak:
- mov dword ptr [eax+30],(float)350
- call EMPIRESX.EXE+1283E0
- jmp return
- farm:
- fld dword ptr [eax+30]
- call EMPIRESX.EXE+1283E0
- jmp return
- tower:
- mov dword ptr [eax+30],(float)100
- call EMPIRESX.EXE+1283E0
- jmp return
- CentTower:
- mov dword ptr [eax+30],(float)150
- call EMPIRESX.EXE+1283E0
- jmp return
- GuardTower:
- mov dword ptr [eax+30],(float)200
- call EMPIRESX.EXE+1283E0
- jmp return
- smallWall:
- mov dword ptr [eax+30],(float)200
- call EMPIRESX.EXE+1283E0
- jmp return
- MedWall:
- mov dword ptr [eax+30],(float)300
- call EMPIRESX.EXE+1283E0
- jmp return
- Fortifi:
- mov dword ptr [eax+30],(float)400
- call EMPIRESX.EXE+1283E0
- jmp return
- wond:
- mov dword ptr [eax+30],(float)500
- call EMPIRESX.EXE+1283E0
- jmp return
- code:
- fld dword ptr [eax+30]
- call EMPIRESX.EXE+1283E0
- jmp return
- InfBuildingHealth:
- jmp newmem
- nop
- nop
- nop
- return:
- registersymbol(InfBuildingHealth)
- [DISABLE]
- InfBuildingHealth:
- db D9 40 30 E8 10 EF 02 00
- unregistersymbol(InfBuildingHealth)
- dealloc(newmem)
- {
- // ORIGINAL CODE - INJECTION POINT: "EMPIRESX.EXE"+F94C8
- "EMPIRESX.EXE"+F949E: C7 03 05 00 00 00 - mov [ebx],00000005
- "EMPIRESX.EXE"+F94A4: 89 01 - mov [ecx],eax
- "EMPIRESX.EXE"+F94A6: E9 21 FF FF FF - jmp EMPIRESX.EXE+F93CC
- "EMPIRESX.EXE"+F94AB: F6 87 9C 01 00 00 20 - test byte ptr [edi+0000019C],20
- "EMPIRESX.EXE"+F94B2: 0F 84 14 FF FF FF - je EMPIRESX.EXE+F93CC
- "EMPIRESX.EXE"+F94B8: 8B 44 24 18 - mov eax,[esp+18]
- "EMPIRESX.EXE"+F94BC: 8A 48 48 - mov cl,[eax+48]
- "EMPIRESX.EXE"+F94BF: 84 C9 - test cl,cl
- "EMPIRESX.EXE"+F94C1: 75 05 - jne EMPIRESX.EXE+F94C8
- "EMPIRESX.EXE"+F94C3: BD 32 00 00 00 - mov ebp,00000032
- // ---------- INJECTING HERE ----------
- "EMPIRESX.EXE"+F94C8: D9 40 30 - fld dword ptr [eax+30]
- "EMPIRESX.EXE"+F94CB: E8 10 EF 02 00 - call EMPIRESX.EXE+1283E0
- // ---------- DONE INJECTING ----------
- "EMPIRESX.EXE"+F94D0: 85 C0 - test eax,eax
- "EMPIRESX.EXE"+F94D2: 0F 8E F4 FE FF FF - jng EMPIRESX.EXE+F93CC
- "EMPIRESX.EXE"+F94D8: 3B 44 24 1C - cmp eax,[esp+1C]
- "EMPIRESX.EXE"+F94DC: 0F 8D EA FE FF FF - jnl EMPIRESX.EXE+F93CC
- "EMPIRESX.EXE"+F94E2: 8B 44 24 38 - mov eax,[esp+38]
- "EMPIRESX.EXE"+F94E6: 8D 54 35 00 - lea edx,[ebp+esi+00]
- "EMPIRESX.EXE"+F94EA: C7 03 03 00 00 00 - mov [ebx],00000003
- "EMPIRESX.EXE"+F94F0: 89 10 - mov [eax],edx
- "EMPIRESX.EXE"+F94F2: E9 D5 FE FF FF - jmp EMPIRESX.EXE+F93CC
- "EMPIRESX.EXE"+F94F7: 8B 54 24 38 - mov edx,[esp+38]
- }
Advertisement
Add Comment
Please, Sign In to add comment