Heroes of Might and Magic Community
visiting hero! Register | Today's Posts | Games | Search! | FAQ/Rules | AvatarList | MemberList | Profile


Age of Heroes Headlines:  
5 Oct 2016: Heroes VII development comes to an end.. - read more
6 Aug 2016: Troubled Heroes VII Expansion Release - read more
26 Apr 2016: Heroes VII XPack - Trial by Fire - Coming out in June! - read more
17 Apr 2016: Global Alternative Creatures MOD for H7 after 1.8 Patch! - read more
7 Mar 2016: Romero launches a Piano Sonata Album Kickstarter! - read more
19 Feb 2016: Heroes 5.5 RC6, Heroes VII patch 1.7 are out! - read more
13 Jan 2016: Horn of the Abyss 1.4 Available for Download! - read more
17 Dec 2015: Heroes 5.5 update, 1.6 out for H7 - read more
23 Nov 2015: H7 1.4 & 1.5 patches Released - read more
31 Oct 2015: First H7 patches are out, End of DoC development - read more
5 Oct 2016: Heroes VII development comes to an end.. - read more
[X] Remove Ads
LOGIN:     Username:     Password:         [ Register ]
HOMM1: info forum | HOMM2: info forum | HOMM3: info mods forum | HOMM4: info CTG forum | HOMM5: info mods forum | MMH6: wiki forum | MMH7: wiki forum
Heroes Community > Heroes 3.5 - WoG and Beyond > Thread: Heroes 3 Hacking Reference Guide
Thread: Heroes 3 Hacking Reference Guide This thread is 7 pages long: 1 2 3 4 5 6 7 · «PREV / NEXT»
avatar
avatar


Promising
Supreme Hero
posted April 15, 2020 06:42 AM

Winston said:
1) For making modifications without HD mod, is the only option hex editing?

It depends what. Some things for example statistics are stores in txt files, changing them doesn't require hex editing. But in 99% - yes.

Quote:

2) I assume that would mean that the modification would break if you tried to use it with a different version of HotA?

Yes, it's logical.

Quote:

3) Would the HD mod usage and plugins be able to cause modifications that would remain functional with different versions of HotA?


It depends. If your change is located in the same memory adress in different version of hota.exe - yes.

Quote:

Are there other ways of being able to avoid remaking a modification for every version of HotA besides this if so? It looks like plugins are the best method of doing this from my investigation.


It depends what you change and what hota changes in next versions. It is true for almost every software. New patches comes new binary files with fixed bugs, new content etc. So some parts of memory adresses reamin unchanged, some are changed. If you change something that was unchanged from HotA for example 1.2 to HotA 1.6 - your plugin will be version independend. Otherwise you must update your plugin for new version - but as I said, it is true for altering binary files in every software. It is base knowledge for every crackers/hackers

Quote:

Essentially forcing us to install the version of HD that DOESN'T allow plugins, or we can't use the HD launcher that has plugins to run HotA. This is nothing short of malicious and trying to create a locked environment, which is hypocritical considering the original HoMM3 game was never meant to be modded so in return HotA would not exist if they respected the original developer software.


But it good for less possibillity od cheating in online lobby. Nobody can't add plugin that increase logistic movement points.

Quote:

Where would be a good place to start?

Open h3hota.exe in hex editor and make many trials-and-error to find addresses that store features you want to change.
____________

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
Winston
Winston


Adventuring Hero
posted April 15, 2020 06:57 PM
Edited by Winston at 18:59, 15 Apr 2020.

The problem, as I found through some digging, is that HotA uses their own dll binary blob to apply the vast majority of changes to the game, not largely using .exe modifications like you're talking about. The result is that you can change something in the .exe and then HotA's dll kicks in after launch to change it right back. So exe modification is not a realistic solution as a result. Which is what led me down the path of plugins, which had the potential to solve this and allow modifications since exe changes are unlikely to work with HotA's dll overwriting things. But unfortunately that doesn't work because the HotA team is adamant in preventing any sort of modification of their mod, quite a vitriolic attitude for modders to have.

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
phoenix4ever
phoenix4ever


Legendary Hero
Heroes is love, Heroes is life
posted April 15, 2020 07:12 PM

I have changed lots of things in the exe and most work fine with HotA.

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
FirePaladin
FirePaladin


Supreme Hero
Undercover modder
posted April 15, 2020 07:17 PM
Edited by FirePaladin at 19:17, 15 Apr 2020.

Winston said:
The problem, as I found through some digging, is that HotA uses their own dll binary blob to apply the vast majority of changes to the game, not largely using .exe modifications like you're talking about. The result is that you can change something in the .exe and then HotA's dll kicks in after launch to change it right back. So exe modification is not a realistic solution as a result. Which is what led me down the path of plugins, which had the potential to solve this and allow modifications since exe changes are unlikely to work with HotA's dll overwriting things. But unfortunately that doesn't work because the HotA team is adamant in preventing any sort of modification of their mod, quite a vitriolic attitude for modders to have.


I totally agree. I don't like that AT ALL.

@phoenix4ever

Did it ever happen to you that some changes were reverted?

 Send Instant Message | Send E-Mail | View Profile | PP | Quote Reply | Link
phoenix4ever
phoenix4ever


Legendary Hero
Heroes is love, Heroes is life
posted April 15, 2020 09:40 PM

Well every time a new update comes out, I have to add the txt files again, but it's no big deal.
And sadly I can't change secondary skills that HotA have changed, they somehow overwrite my changes.
And changing the classes chances to learn secondary skills, will make HotA crash. (which it did'nt with SoD, I suspect it has something to do with Resistance/Interference.)

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
Winston
Winston


Adventuring Hero
posted April 15, 2020 11:10 PM

phoenix4ever said:
Well every time a new update comes out, I have to add the txt files again, but it's no big deal.
And sadly I can't change secondary skills that HotA have changed, they somehow overwrite my changes.
And changing the classes chances to learn secondary skills, will make HotA crash. (which it did'nt with SoD, I suspect it has something to do with Resistance/Interference.)


This is one of the examples of what I was talking about. Basically; most likely every facet of the game that was changed due to HotA, be it secondary skills, creature stats, building stats, heroes, artifacts, etc, as long as it existed in non modded H3 and was changed due to HotA, attempting to change one of those things via executable hex editing will NOT work, as HotA's dll (which there is no insight to how it works or how to change what it does) will kick in and apply changes to the game after the fact, thus rendering your modifications to those same places obsolete.

As an example; Logistics movement was changed by HotA. You can hex edit the .exe to change it back to the original game's value, and if you then run the game, logistics movement will persist to working the same as HotA changed it, because their modifications super-cede the hex editing done to the .exe. It likely was the case that "it just worked for you" because I would guess your .exe changes were new modifications of parts of the game that HotA had not touched.

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
phoenix4ever
phoenix4ever


Legendary Hero
Heroes is love, Heroes is life
posted April 15, 2020 11:20 PM
Edited by phoenix4ever at 23:26, 15 Apr 2020.

Well yeah, that's basically what I said, things HotA have changed, you can't change, but everything else not touched by HotA you can change.
It is unfortunate there are some things you are stuck with though, Logistics, Estates, Mysticism and Intelligence would have looked different if it was up to me.
I don't understand why they did'nt just change skills though the exe, instead of forcing this dll thing upon us. Why do they insist on this rigid setup, with little to no choice, that is honestly one of the worst things about HotA.

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
FirePaladin
FirePaladin


Supreme Hero
Undercover modder
posted April 15, 2020 11:46 PM
Edited by FirePaladin at 23:47, 15 Apr 2020.

phoenix4ever said:
Well yeah, that's basically what I said, things HotA have changed, you can't change, but everything else not touched by HotA you can change.
It is unfortunate there are some things you are stuck with though, Logistics, Estates, Mysticism and Intelligence would have looked different if it was up to me.
I don't understand why they did'nt just change skills though the exe, instead of forcing this dll thing upon us. Why do they insist on this rigid setup, with little to no choice, that is honestly one of the worst things about HotA.


I totally hate that. It's one of the worst things in mods and games (unless the game is 100% online or/and with rankings, etc.)

Also, every time HotA notices a portrait in game directory, it just frickin' crashes because I can't be allowed to customize the game the easy way!

 Send Instant Message | Send E-Mail | View Profile | PP | Quote Reply | Link
Winston
Winston


Adventuring Hero
posted April 16, 2020 05:44 AM

One direction I'm wondering about is if anyone has any better knowledge of how the HD mod loads plugins. If that feature could be re-created outside of the HD mod (which is drm'ed to prevent plugins on HotA), then it would open up modification a lot more since plugins are in human readable code.

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
Maurice
Maurice

Hero of Order
Part of the furniture
posted April 16, 2020 11:08 AM

Canít you edit the .dll files in the same way as the exe? I admit that I looked exactly 0,0 seconds into the .dll files, so I have no idea how the code inside them is organised.
____________
The last Reasonable Steward of Good Game Design and a Responsible Hero of HC. - Verriker

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
Maurice
Maurice

Hero of Order
Part of the furniture
posted April 16, 2020 11:11 AM

BTB said:
Hey, Maurice... you don't happen to still be active in digging through the .exe, do you? I've got some questions that have been piling up and I'm hitting a dead-end in finding any answers.

I also need to update the guide again and intend to do so sometime in the next week.


Actually I havenít been able to spend much time on it at all. Started living together with my girlfriend at the turn of the year and found that my time investment has changed a lot . Besides that, I also switched jobs, we have the corona crisis, etc ... and last but not least, I have other interests besides Heroes as well .

That doesnít mean I have lost interest in the game, though - itís still in a warm corner of my heart .
____________
The last Reasonable Steward of Good Game Design and a Responsible Hero of HC. - Verriker

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
BTB
BTB


Known Hero
posted April 16, 2020 02:27 PM

Maurice said:
Actually I havenít been able to spend much time on it at all. Started living together with my girlfriend at the turn of the year and found that my time investment has changed a lot . Besides that, I also switched jobs, we have the corona crisis, etc ... and last but not least, I have other interests besides Heroes as well .

That doesnít mean I have lost interest in the game, though - itís still in a warm corner of my heart .


No worries, brother. When I next update this guide, I'm going to include a "questions" section at the end that will just list everything we don't yet know and would like to figure more out about. If you're ever feeling saucy, have a look and let me know if you turn anything up.

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
BTB
BTB


Known Hero
posted April 17, 2020 11:41 PM

All right, I've updated the guide with a LOT of changes and new information. I've also taken all of the questions I have - "unsolved mysteries", if you will - and placed them in the final section of the guide itself. This way, it can hopefully continue to grow as it gets passed around.

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
phoenix4ever
phoenix4ever


Legendary Hero
Heroes is love, Heroes is life
posted April 18, 2020 06:46 AM

Excellent work BTB.
By the way I have changed Resurrection and Animate Dead so they are only permanent at Expert Earth, this can be done at 1A1C88, change 750983FE02 to 909083FE03.
You might wanna add that to the guide.

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
BTB
BTB


Known Hero
posted April 18, 2020 02:11 PM

phoenix4ever said:
Excellent work BTB.
By the way I have changed Resurrection and Animate Dead so they are only permanent at Expert Earth, this can be done at 1A1C88, change 750983FE02 to 909083FE03.
You might wanna add that to the guide.


Interesting... makes me wonder even more what the EB change does since it's not changing the 02. Also makes me wonder that 75 -> 90 does.

Anyway, I'll update it whenever you get back to me about the other stuff I posted in the HotA thread.

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
majaczek
majaczek


Supreme Hero
Work at Magic Dimmension
posted April 19, 2020 11:50 AM

BTB said:
phoenix4ever said:
Excellent work BTB.
By the way I have changed Resurrection and Animate Dead so they are only permanent at Expert Earth, this can be done at 1A1C88, change 750983FE02 to 909083FE03.
You might wanna add that to the guide.


Interesting... makes me wonder even more what the EB change does since it's not changing the 02. Also makes me wonder that 75 -> 90 does.

Anyway, I'll update it whenever you get back to me about the other stuff I posted in the HotA thread.


90 is nop (no operation)
so it disables the command

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
BTB
BTB


Known Hero
posted April 19, 2020 02:44 PM

Makes sense. Any idea what the command is, then? I see he still has to change the 02 (Advanced) to 03 (Expert).

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
AlexSpl
AlexSpl


Responsible
Supreme Hero
posted April 19, 2020 03:20 PM
Edited by AlexSpl at 15:25, 19 Apr 2020.

75 09 is jump short if not zero (equal) - jnz/jne. So, removing it skips the if clause.


 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
phoenix4ever
phoenix4ever


Legendary Hero
Heroes is love, Heroes is life
posted April 20, 2020 08:58 PM

BTB I have asked this several times in the How to edit HotA thread, but never found out if it's possible to give Wizard's Well a bonus like +10% or +20% mana recovery (+6 mana from the individual artifacts) instead of full recovery?
I think perhaps a solution was posted for SoD, but I don't think it worked with HotA, but I can't really remember.
Do you know anything about it?
I don't like Wizard's Well in it's default form, since it ruins Mysticism and makes Intelligence kinda unnecessary.

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
BTB
BTB


Known Hero
posted April 20, 2020 09:12 PM
Edited by BTB at 21:14, 20 Apr 2020.

RoseKavalier said...

Procedure starts at C7F60h... you're gonna need a hook for this because the procedure does (essentially)
if (max_mp > current_mp)
{ current_mp = max_mp}

(My suggestion: just trash the Wizard's Well)

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
Jump To: « Prev Thread . . . Next Thread » This thread is 7 pages long: 1 2 3 4 5 6 7 · «PREV / NEXT»
Post New Poll †† Post New Topic †† Post New Reply

Page compiled in 0.0584 seconds