Re: White screen fix - New versions
"_ local_18 = false;" set it to "true" and will not occur the white screen. (Using the RABCDasm, I'm not going to demonstrate how, let alone say what search, you have a structure at the very beginning of the discussion, and should know the least how to change a true/false value in source a action script.
Re: White screen fix - New versions
Quote:
Originally Posted by
trylix
"_ local_18 = false;" set it to "true" and will not occur the white screen. (Using the RABCDasm, I'm not going to demonstrate how, let alone say what search, you have a structure at the very beginning of the discussion, and should know the least how to change a true/false value in source a action script.
Thanks for the fix. But knowing how to change something in AS doesn't mean you can change it in ABC bytecode. You have to set some 'pushboolean' or whatever (I know there is pushstring and some other push***** instructions, don't know about pushboolean) to the opposite value.
Cheers,
Glaceon.
Re: White screen fix - New versions
Quote:
Originally Posted by
ovflowd
Arachis already added that, before tis thread being created.
But idk when i use his swf cracker, the emulator receive no one connection/socket, nothing.
Whaaaat, is anyone else having problems with HabBit.
Quote:
Originally Posted by
trylix
"_ local_18 = false;" set it to "true" and will not occur the white screen. (Using the RABCDasm, I'm not going to demonstrate how, let alone say what search, you have a structure at the very beginning of the discussion, and should know the least how to change a true/false value in source a action script.
I just have it change the time stamp to the largest possible double value:
http://i.imgur.com/dVnd1HV.png
https://github.com/ArachisH/Sulakore...HFlash.cs#L123
Re: White screen fix - New versions
Quote:
Originally Posted by
Arachis
Yep, i have also that problem...
Wanted to try your utility, so downloaded the same PRODUCTION as Plus Habboons one from Habbo, cracked it, but it didnt receive connections.
It worked with the Habbo.swf that came inside the SWF pack from Sledmore, so its something in your utility i think.
Re: White screen fix - New versions
Quote:
Originally Posted by
Multify
Yep, i have also that problem...
Wanted to try your utility, so downloaded the same PRODUCTION as Plus Habboons one from Habbo, cracked it, but it didnt receive connections.
It worked with the Habbo.swf that came inside the SWF pack from Sledmore, so its something in your utility i think.
Oh man, I always thought it was working for you guys. Does anyone know what I'm doing wrong?
Re: White screen fix - New versions
After decompile the habbo.swf, look for the file "WindowContext.class.asasm" (look for it in the Habbo-2 folder), in his search for "Date" until I find something like: (Screenshot by Lightshot)
After that go down quietly (passing the file down, do not know how to explain, just go down quietly) to find that something like this: (Screenshot by Lightshot)
And ready! we found what we wanted, modify the "pushfalse" (Screenshot by Lightshot) to "pushtrue"
@Arachis, I don't know what program is this, I always use manual methods, but I can help you, as long as you give me the source of the program so I can analyze the changes he is making in the file
excuse the bad English, I am Brazilian.
Re: White screen fix - New versions
Quote:
Originally Posted by
Arachis
Oh man, I always thought it was working for you guys. Does anyone know what I'm doing wrong?
I didn't see your source code of Your SWF Cracker, i will do a check. But yeah, the SWF doesn't make any socket connections.
- - - Updated - - -
Quote:
Originally Posted by
Arachis
Observation why DateTime is a float in your snippet, i remember that is a fully integer.
Re: White screen fix - New versions
why all have problem with this, i use an 2016 production habbo swf and i dont got this problem?
Re: White screen fix - New versions
Quote:
Originally Posted by
HotelMaker
why all have problem with this, i use an 2016 production habbo swf and i dont got this problem?
Because 2016 is later then the date coded in the SWF.
Re: White screen fix - New versions
Quote:
Originally Posted by
ovflowd
I didn't see your source code of Your SWF Cracker, i will do a check. But yeah, the SWF doesn't make any socket connections.
- - - Updated - - -
Observation why DateTime is a float in your snippet, i remember that is a fully integer.
The original instruction is(or was): pushdouble 1452556800000, so I just replaced the value with the largest double.
They changed something, check out the newest client build(PRODUCTION-201601121016-572931594):
It's dumb though, because you can just replace the two top instructions that call: local11.time, and replace it with 0/-1:
Fortunately, JPexs was kind enough to remove the "unreachable" code when viewing the AS representation.
Re: White screen fix - New versions
Thanks for this post, I'm sure most people already knew this, but for those that didn't it's really helpful. : -)
Quote:
Originally Posted by
Arachis
The original instruction is(or was): pushdouble 1452556800000, so I just replaced the value with the largest double.
They changed something, check out the newest client build(PRODUCTION-201601121016-572931594):
It's dumb though, because you can just replace the two top instructions that call: local11.time, and replace it with 0/-1:
Fortunately, JPexs was kind enough to remove the "unreachable" code when viewing the AS representation.
That or you just remove all the "pushbyte, multiply" and replace with the same as last time.
The cat and mouse game continues.
Hi Dom : -)
Re: White screen fix - New versions
I have a good fix for those who needs it with some explaination.
The code
Code:
if (k.time >= 1452556800000)
Actually translates into AS3 bytecode:
Code:
getlocal 11
getproperty QName(PackageNamespace(""), "time")
pushdouble 1452556800000
ifnge L650
Where it will get the time property and add it to the stack. Then it'll push the double 1452556800000 to the stack. It'll check if the first item in the stack (the time) is not greater or equal to the second item (1452556800000). If it isn't greater or equal to, it'll go to L650. This is what L650 does:
returnvoid behaves the same as return in C#/Java/C/C++ etc..., it'll stop the script without returning an actual value. In this case, nothing is built (the loader I mean) and so you get the white screen, however, it doesn't terminate the rest of the SWF so it'll do other stuff. But the whole layout is gone as it's never built.
If you already got a white screen, the easiest fix is th change 'ifnge' to 'ifge'. This means that it will terminate when the current time is lower than a certain time and otherwise it'll continue. The ABC would be translated to:
Code:
if (k.time <= 1452556800000)
So this is the complete reversed way. But of course, this isn't the way to go. This way you'll have to wait until you get a white screen.
Because you're checking on the high double, there's a chance it will go to L650. But if you use this code, it should always work (at least, as far as I know):
Code:
pushdouble 0
ifge L650
I don't know how all the time comparison works but this code will be translated into:
It should fix your SWF. Happy retro making!
The whole (as far as I know) documentation about AS3 bytecode you can read in this PDF: https://www.adobe.com/content/dam/Ad...m2overview.pdf.
Re: White screen fix - New versions
Quote:
Originally Posted by
Arachis
The original instruction is(or was): pushdouble 1452556800000, so I just replaced the value with the largest double.
They changed something, check out the newest client build(PRODUCTION-201601121016-572931594):
It's dumb though, because you can just replace the two top instructions that call: local11.time, and replace it with 0/-1:
Fortunately, JPexs was kind enough to remove the "unreachable" code when viewing the AS representation.
I was cracking PRODUCTION-201601121016-572931594 but the client left black. Do you know what this thing is doing? I think they added something else but I don't understand how to patch it. What do I need exactly to do? I was using sulkadasm for cracking. @Sledmore
Re: White screen fix - New versions
Quote:
Originally Posted by
streamhotel
I was cracking PRODUCTION-201601121016-572931594 but the client left black. Do you know what this thing is doing? I think they added something else but I don't understand how to patch it. What do I need exactly to do? I was using sulkadasm doe cracking. @
Sledmore
They actually did change something, didn't noticed until you brought it up. The method "isValidHabboDomain" in "Habbo" is no longer static, and it's name is now getting changed("_-wv" in this case). I'm not exactly sure how Sulkadasm is cleansing that method, but if that method returns false, it causes the black screen thingy.
Fixing that in HabBit right now, just like Shorty said: "The cat and mouse game continues."
Re: White screen fix - New versions
Quote:
Originally Posted by
Arachis
They actually did change something, didn't noticed until you brought it up. The method "isValidHabboDomain" in "Habbo" is no longer static, and it's name is now getting changed("_-wv" in this case). I'm not exactly sure how Sulkadasm is cleansing that method, but if that method returns false, it causes the black screen thingy.
Fixing that in HabBit right now, just like Shorty said: "The cat and mouse game continues."
I wish Habbo would just come up with something hard for a change, it's not challenging anymore :-(
Cheers,
Glaceon.