so then, the simple (andprobably horribly hacky and improper) solution is to enlarge the array?
so then, the simple (andprobably horribly hacky and improper) solution is to enlarge the array?
Close. Memory is never addressed by bits, only bytes. since EAX is being multipled by 4, EAX is iterating over an array of ints, pointers, or floats (all are 4 bytes long in x86).
The constant 0x506974c0 is interesting, and I wonder where it came from. If the compiler put it in there, that might explain the trouble. I think Vista randomizes (256 possible choices) the offsets of dlls it loads so that the entry points for well known functions aren't at the same address each time. I also believe that the start of the heap is randomized in a similar fashion. This makes it harder to successfully exploit a buffer overflow. The downside is that code that uses fixed offsets for data structures can break.
The feature described above is called "ASLR". You can't disable it completely (at least I don't think so), but you can disable it on a per-file basis by editing the PE header. (There are tools for this.) That won't do much for the heap randomization, but if the address being derefrenced above is in a .dll, then disabling ASLR for that dll will probably allow the client to run past that point. You should be able to drop the modified system dll in the directory with horizons.exe and it will use that one instead of the one in the windows directory.
We're basically talking stuff that's the equivalent of... well consider this right: I'm level 63 on Horizons, and doing this stuff is like me trying to solo level 80+ Aegis mobs. I, with much difficulty, am able to understand the basics of this, and with much trial and error I have successfully made progress in an area I know next to nothing about.
But essentially I'm out of my league here. My course doesn't even COVER this stuff until next semester and yet here I am, working with the lowest level programming language you can really get access to (assembly). Even though I can make progress, it's much slower now that I don't really know what I'm doing.
In any case, I'm not even really that keen on trying this stuff. By the looks of things, it's already been tried many times before by the guys working on a real fix, and thus isn't going to yield many useful results for me. What I'm interested in is emulating this msvcrt.dll error with a different version of the same file. If I can somehow make it do that, and then perform the same renaming trick I use for the 32-bit Vista, I MAY be able to get that workaround working on 64-bit and Windows 7. If I can't, I'm not sure how much help I'll be. The rest is already covered ground, so I'd be doing a lot of catchup work first...
Also, I don't want to edit the file system too far. If for a hacky fix to work it requires that I edit 3 dll files in the Horizons folder as well as the exe and some other stuff, it seems kind of not worth it, you know?
Anyway, we'll see how things go. I have less time to work on this now as my assignments have started for real and I need to find me a 3D graphics modelling program ASAP (and also a way to get Irrlicht to work properly with my 2005 Visual C++)...
Small update. As always I've worked out a few new ideas to try. If things work out alright, I might be able to get my hacky fix going for 64-bit and Windows 7, but I don't really have high hopes for it. I'll try anyway though.
That's all we can ask for.
yay, I just read the march developer thread and I'm excited to hear a vista fix is in the works! I'll be checking the forums monthly, I've been wanting to get back into an mmo for a while now and this game was always my favorite
I'm crossing my fingers that it won't be more than a few month away.
*is still scratching head in confusion only a complete idiot could fall prey to*
Done everything for the 30-something-bit Vista, still no love. But I'm sure that I'm doing something wrong (experience tells me it's always the little thing you miss or overlook)...
These are the things I haven't checked. Does anyone know anything about:
-compatibility modes
-where to find the latest DirectX/whatever it's name was
-SinofSuns says in his post to get the patcher working. Is this different from his fix? Is there something else I should tweak?
Just reiterating my problems to everyone. XD Please help me. D:
~Galde
Nevermind, it's working now
Here is my story of the struggle to get it working.
Firstly, I went through all the steps described (several times) yet still kept recieving the 'access is denied' error. I resorted to trying every possible way to log into the game: the launcher wouldn't work, horizons.exe wouldn't run without the website, etc. etc. Then I eventually complained to Tsar about it and he suggested I turn off my UAC (I was at this time uninstalling HZ in my desperation). So I turned it off, reinstalled HZ again and rebooted my computer. Changed the system file's name again, logged into the website, clicked play Istaria, and whoo, it actually began to patch! About an hour later, it finished patching and started up the game.
But I wasn't exactly sure at which point I should be changing the system file's name back to normal, so I hesitated and then, just as the game was about to launch...
...bluescreen.
My old nemesis. >:[____]
So I restarted my computer in safe mode, it failed to start, and then starts going: 'Oh my gosh, system restore plz kthanxbai!'. So I restored my system. Logged back in to find that somehow, between the uninstall and the reinstall, it had managed to make two randomly half-copied versions of HZ. Uninstall one, delete all the other, reinstall. Again.
So I went through all the steps again. Turned off DEP, turned off UAC, changed the system files' name. Patch the game up a second time, begin loading up, and then the music begins to blair while my dad's asleep downstairs after his nightshift. So then I have a war with it, trying to minimise it so I can turn off my volume, but it keeps jumping around so I eventually settle with turning off my monitor. In this time, it randomly crashes. (and gives no error screen)
So I turn down the volume, load it up again, and a second time it crashes, saying it couldn't send a vital message.
'Third time lucky,' I think, and try again (this time am careful to change the system file's name back to normal as soon as the delicious roast Aegis screen appears) and I am -finally- online! Yay!
My game is pretty, and even though it's the first time running so it's probably saving it's cache left right and centre, it's running smoothly and happily.
Thanks Heartshadow!
(To everyone who might be having problems, make sure you turn off your UAC option! Do this by going: Control panel<Security<User Accounts and Family Safety<User Accounts<Turn User Account Control On or Off. Toggle it from there. It seemed to do the trick for me.)
Those who can't get this to work with their versions of Vista, you know, Tsargoth's method is still a good option. It's reliable; much better than having to boot your computer over and over. ^.^
~Galde
Oh good, it's finally working
Usually blue screen issues are caused by out-of-date drivers (especially on Vista systems). If you get any more, then make sure you check for the latest driver updates online. You may find that that fixes a lot of problems.
Anyway, out of all the mess that came with me playing with Vista, at least I did get a successful "fix" working for 32-bit users. If I could ever figure out exactly what changed between 32-bit and 64-bit Vista, I could probably get something working for that too, but right now I have no time or ideas, so meh...
If they do that, they might as well recode half the game!
From what I hear, everything is rather tied in with everything else, so changing the engine would change how 2/3 of the world works and yeah...
Vista fix is definitely important though. It's taking it's sweet time, however, and I wouldn't hold my breath for it if I were you
Hey, maybe if they're recoding so much anyway, they'll fix all the engine up and maybe then we can have dragon riding... OuO
Completely off-topic. Please ignore me. XD
~Galde
I specialise in being stupid and happyNothing like a spot of blind optimism in the morning :P
~Galde
Sigh. I miss my dragon, and even crafting haha. None of the fixes seem to work for me, so it's me or my rig, prolly me I hope the patch comes soon.
Venge Sunsoar
I second that
Lillyjo-chaos
*pokes Galde =D
its Cren Cren =D
Anywho- I am on 64bit Vista, still no love ...
I have:
- Disabled UAC.
- set computability mode to xpsp2 on each executable i could find.
- set run as admin on each executable i could find.
*i am running .net v3.5
Anyone have any ideas as to what else i could try? I am currently getting my HZ fix using a very old and crappy laptop =D but still, i want to use my main rig to play.
Thanks in advance. Crenshinibon of the Order Shard
There are currently 1 users browsing this thread. (0 members and 1 guests)