Menu
Forums
All threads
Latest threads
New posts
Trending threads
New posts
Search forums
Trending
What's new
New posts
New profile posts
Latest activity
Members
Current visitors
New profile posts
Search profile posts
Upgrades
Log in
Register
What's new
Search
Search
Search titles only
By:
All threads
Latest threads
New posts
Trending threads
New posts
Search forums
Menu
Log in
Register
Navigation
Install the app
Install
More options
Contact us
Close Menu
Forums
Server Development
Habbo Retros
Habbo Releases
v28+ Shockwave - RC4 bypass patch [Lingo/CCT]
JavaScript is disabled. For a better experience, please enable JavaScript in your browser before proceeding.
You are using an out of date browser. It may not display this or other websites correctly.
You should upgrade or use an
alternative browser
.
Reply to thread
Message
<blockquote data-quote="Quackster" data-source="post: 472603" data-attributes="member: 971"><p>Hello!</p><p></p><p>This is a small release, but a rather useful one nonetheless.</p><p></p><p>Ideally, working encryption in these versions would be more preferable but for the meantime there's now a way to bypass RC4 and being able to have the loading bar complete all the way.</p><p></p><p>The way you bypass is when you recieve INIT_CRYPTO you send back the session parameters packet, <a href="https://gist.github.com/Quackster/cd21bbc6f3d2f38ff380e89fd2661b48#file-virtualuser-cs-L248" target="_blank">like what Holograph and other servers from around that time do</a>. </p><p></p><p><strong>What's the issue, exactly?</strong></p><p></p><p>There's no forced encryption, but bypassing it means the loading bar doesn't complete. The way the loading bar works in these versions is that there's certain "steps" to complete loading, such as the key exchange, initialising RC4 encryption and then logging in.</p><p></p><p>This is what happens if you bypass without the patch, the loading bar (is also draggable, mind you) doesn't complete and sits on top of the chat every time you login.</p><p></p><p>This release will fix the issue depicted below.</p><p></p><p><img src="https://i.imgur.com/tfyv5pp.png" alt="" class="fr-fic fr-dii fr-draggable " style="" /></p><p></p><p><strong>How it works</strong></p><p></p><p>We simply attach this .cct into the load order and the client thinks its one of us, so once we receive login packet by server, we'll execute the events telling the client that the loading is done! No editing of official client files required.</p><p></p><p>In theory, we could make this .cct hook into the other cast members and edit the script but there's anti-tamper checks all throughout the v28+ versions of the Habbo client so it's not possible.</p><p></p><p>[code]on handleLoginOK me, tMsg </p><p> tConn = tMsg.connection</p><p> </p><p> if not tConn then</p><p> return FALSE</p><p> end if</p><p> </p><p> executeMessage(#loadingBarSetExtraTaskDone, #handshake2)</p><p> executeMessage(#loadingBarSetExtraTaskDone, #login)</p><p> return TRUE</p><p>end</p><p></p><p>on registerServerMessages me, tBool </p><p> tMsgs = [:]</p><p> tMsgs.setaProp(3, #handleLoginOK)</p><p> tCmds = [:]</p><p> if tBool then</p><p> registerListener(getVariable("connection.info.id", #info), me.getID(), tMsgs)</p><p> registerCommands(getVariable("connection.info.id", #info), me.getID(), tCmds)</p><p> else</p><p> unregisterListener(getVariable("connection.info.id", #info), me.getID(), tMsgs)</p><p> unregisterCommands(getVariable("connection.info.id", #info), me.getID(), tCmds)</p><p> end if</p><p> return TRUE</p><p>end</p><p>[/code]</p><p></p><p><strong>How to install</strong></p><p></p><p>Open your external variables (provided they are v28+ dcrs and dcrs only).</p><p></p><p>Find the lines that say "cast.entry.x" for example:</p><p></p><p>[code]cast.entry.38=hh_human_50_acc_eye[/code]</p><p></p><p>If possible, find an available number that you can use for the cast.entry line, either that will be the next highest number out of the cast.entry lines or an unused number that's left a gap which is free for you to use.</p><p></p><p>In my case, the next number I could use was 49.</p><p></p><p>Add this line at the bottom, but replace the "x" with that number:</p><p></p><p>[code]cast.entry.x=hh_encryption_bypass[/code]</p><p></p><p>And move hh_encryption_bypass.cct into the same directory where fuse_client.cct sits and you're good!</p><p></p><p><strong>Download information</strong></p><p></p><p>The download includes the compiled .cct and the .cst with the Lingo script so you can fool around with it if you want.</p></blockquote><p></p>
[QUOTE="Quackster, post: 472603, member: 971"] Hello! This is a small release, but a rather useful one nonetheless. Ideally, working encryption in these versions would be more preferable but for the meantime there's now a way to bypass RC4 and being able to have the loading bar complete all the way. The way you bypass is when you recieve INIT_CRYPTO you send back the session parameters packet, [URL="https://gist.github.com/Quackster/cd21bbc6f3d2f38ff380e89fd2661b48#file-virtualuser-cs-L248"]like what Holograph and other servers from around that time do[/URL]. [B]What's the issue, exactly?[/B] There's no forced encryption, but bypassing it means the loading bar doesn't complete. The way the loading bar works in these versions is that there's certain "steps" to complete loading, such as the key exchange, initialising RC4 encryption and then logging in. This is what happens if you bypass without the patch, the loading bar (is also draggable, mind you) doesn't complete and sits on top of the chat every time you login. This release will fix the issue depicted below. [img]https://i.imgur.com/tfyv5pp.png[/img] [B]How it works[/B] We simply attach this .cct into the load order and the client thinks its one of us, so once we receive login packet by server, we'll execute the events telling the client that the loading is done! No editing of official client files required. In theory, we could make this .cct hook into the other cast members and edit the script but there's anti-tamper checks all throughout the v28+ versions of the Habbo client so it's not possible. [code]on handleLoginOK me, tMsg tConn = tMsg.connection if not tConn then return FALSE end if executeMessage(#loadingBarSetExtraTaskDone, #handshake2) executeMessage(#loadingBarSetExtraTaskDone, #login) return TRUE end on registerServerMessages me, tBool tMsgs = [:] tMsgs.setaProp(3, #handleLoginOK) tCmds = [:] if tBool then registerListener(getVariable("connection.info.id", #info), me.getID(), tMsgs) registerCommands(getVariable("connection.info.id", #info), me.getID(), tCmds) else unregisterListener(getVariable("connection.info.id", #info), me.getID(), tMsgs) unregisterCommands(getVariable("connection.info.id", #info), me.getID(), tCmds) end if return TRUE end [/code] [B]How to install[/B] Open your external variables (provided they are v28+ dcrs and dcrs only). Find the lines that say "cast.entry.x" for example: [code]cast.entry.38=hh_human_50_acc_eye[/code] If possible, find an available number that you can use for the cast.entry line, either that will be the next highest number out of the cast.entry lines or an unused number that's left a gap which is free for you to use. In my case, the next number I could use was 49. Add this line at the bottom, but replace the "x" with that number: [code]cast.entry.x=hh_encryption_bypass[/code] And move hh_encryption_bypass.cct into the same directory where fuse_client.cct sits and you're good! [B]Download information[/B] The download includes the compiled .cct and the .cst with the Lingo script so you can fool around with it if you want. [/QUOTE]
Insert quotes…
Verification
Post reply
Forums
Server Development
Habbo Retros
Habbo Releases
v28+ Shockwave - RC4 bypass patch [Lingo/CCT]
Top