Bowsette (07-06-2018),j03 (07-04-2018),jellyworlddoesntexist (06-25-2018),Synth Salazzle (06-28-2018),txtsd (07-12-2018)
Hi all! A couple months ago I made a thread (the last thread made in this section, in fact) called "Reverse Engineering Hotlink-Resistant .swf Games" where I asked for advice on how to rewire old flash games so they can work offline. I'm proud to say I've made excellent progress! - or, at least, I'm somewhat closer to my goal. I thought I'd post said progress here, as not to gravedig.
From what I've found so far in my research, what I initially theorised as hotlink resistance may just simply be rusty AS code. This is my theory so far as I am yet to find a subroutine in my example game, Omelette Defender (a fan favourite for many), that controls the functionality of the game based on some authentication factor.
For example with Omelette Defender, when playing the game it would automatically cycle through every level in a span of 10 frames (less than a second) and end with a game over screen with the restart button not working. I was able to load the first level successfully by changing the increment counter in the "next level" subroutine to 0 to bypass any cycling, and commenting off any lines that threw errors in the CASE tool (the free decompiler I'm using which I'll upgrade soon) - this includes lines that draw your weapon to the screen. You can run around, enemies spawn as normal, but you can't shoot them, nor do any weapons drop. The omelette integrity counter runs down to 30 before ending the game (possible error), and the restart game button still doesn't work. I'd refer to game footage to view proper functionality, but I doubt it's out there.
TL;DR - managed to partly fix old Neopets game, but it still needs work, including getting a new CASE tool.
I'll update with more info as it comes!
Bowsette (07-06-2018),j03 (07-04-2018),jellyworlddoesntexist (06-25-2018),Synth Salazzle (06-28-2018),txtsd (07-12-2018)
This is interesting. Why does TNT break their games like this though? They also did not update some page code/settings for loading Macromedia Shockwave games, and I suspect 3D-Life as well, so these games don't even load properly unless the user uses a browser that targets outdated software/code.
Looking forward to seeing this in action. Maybe it would be wise to download all of the game files and create a free public portable game player. This can be done with .NET or any programming language where you can utilize the flash player API to show a game window. Game file sizes are pretty small too!
(you need an account to see links)
(you need an account to see links)(you need an account to see links)
------------------------
[02/24/2013] Stealth CORE is made into the first standalone Neopets auto-player.
------------------------
Serpent Rider (07-06-2018)
I'm not entirely sure if they do it on purpose, but the fact the restart button didn't even have a function assigned to it is suspect. As well as this, a lot of the games that have poor or non-functionality all require for me to manually press play through the right-click menu. I'm not sure what to think, whether its an AS3 player trying to execute AS2 script or what (maybe I'll test this theory on my brother's old XP computer). If only I had archived copies of Neopets game pages I could work through to see if there are any differences between what's played and the resources it draws from, you never know what they might do to the code as they bring it to your computer.
What's also interesting to note is the stark difference in functionality between these broken games and their Game Graveyard counterparts. After all AS3 was released in 2006, yes? Perhaps TNT chose the easiest to fix along with what was the most popular in finding what to release to GG. I've found proof that TNT was attempting AS3 conversions with other games as well, so that strengthens the theory that these games have just broken down over time.
I'm banking on the aforementioned being true, so in the meantime I'll continue to experiment. I would love to make a standalone player a reality, since there's documented interest in playing these games again. But first I've got to get a new CASE tool, hopefully one that's more helpful than JPEXS since I only really know VB. Any you would recommend, Joe?
(you need an account to see links)
(you need an account to see links)(you need an account to see links)
------------------------
[02/24/2013] Stealth CORE is made into the first standalone Neopets auto-player.
------------------------
(you need an account to see links)
(you need an account to see links)(you need an account to see links)
------------------------
[02/24/2013] Stealth CORE is made into the first standalone Neopets auto-player.
------------------------
Major update everyone, looks like my original theory of hotlink resistance (or should I say, "DRM") may just be correct.
My internet is out at the moment, and in a truly millennial moment of scrambling for something to do in the meantime I decide to replay some of the flash games I've downloaded - one of which being the original Usuki Frenzy which I've been using to analyse the potential coding differences between it and Omelette Defender that may be causing the NeoBIOS movie to not load. Lo and behold I find the same problems plaguing the broken games I've reviewed occur within offline Usuki Frenzy - timer function disabled, instant skipthrough to game over, no buttons working. The difference between this and OD is that I can replicate ideal runtime alongside the offline version, meaning comparative AoB analysis is more than possible. I'm going to see if there's a Cheat Engine-style application that can compare multiple processes, and go from there. Thought everyone would just like to hear this
Final update: I've started to delve very deeply into the research, and I don't want any information I may divulge to interfere with it. I'm not going to post anymore about the topic for the time being.
Could something similar to this help with fixing the second meridell war comic? The majority of the comic is entirely broken.