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
Furniture Releases
[REL] Furni Rip Script [REL]
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="Chrobens" data-source="post: 391173" data-attributes="member: 62999"><p style="text-align: center"><strong><span style="font-size: 22px"><u>DCR Furniture Ripper</u></span></strong></p> <p style="text-align: center"><span style="font-size: 15px">This is going to be a short post, I noticed a PHP script posted somewhere on the webs that was out-dated and did not work as of 2016, but this works and will read the Habbo furnidata.txt and rip all of the furni from dcr/hof_furni from Habbo.</span></p> <p style="text-align: center"><span style="font-size: 15px">This can be used for ripping the whole furniture library, or for when you notice a new furniture range premier on Habbo.</span></p> <p style="text-align: center"><span style="font-size: 15px"></span></p> <p style="text-align: center"><span style="font-size: 15px"><strong><u>YOU MUST HAVE INSTALLED PHP</u></strong></span></p> <p style="text-align: center"><span style="font-size: 15px">Run this using the PHP command line, if you do not know how to do this then ask someone for help as this is not a help thread, this is intended for people who are able to use initiative and know how to run PHP from command line.</span></p> <p style="text-align: center"><span style="font-size: 15px"></span></p> <p style="text-align: center"><span style="font-size: 15px">Upon executing the script, the script will create a directory at C:/furni and place all .swf furniture here.</span></p> <p style="text-align: center"><span style="font-size: 15px"></span></p> <p style="text-align: center"><span style="font-size: 15px">This is just a small, quick release.. Your hate will be ignored.</span></p> <p style="text-align: center"><span style="font-size: 15px">Some of you smart techies out there could develop this script to build a .txt file and have it use the values from the Habbo.com furnidata file and create your own SQL queries to execute to add the furniture into your database and catalogue.</span></p> <p style="text-align: center"><span style="font-size: 15px"></span></p> <p style="text-align: center"><strong><u><span style="font-size: 22px">HOWEVER</span></u></strong></p> <p style="text-align: center"><span style="font-size: 15px">I will have a complete set of SWFs as of 05/12/2016 so if you wish to have patience I will be releasing that, the Habbo SWF will be cracked and I will have a list of the changed packet headers etc... You can then move over to these SWFs after updating your emulator to fit the Habbo SWF.</span></p> <p style="text-align: center"><span style="font-size: 15px"></span></p> <p style="text-align: center"><span style="font-size: 15px">In the very near future I hope to take on Mango Emulator and Implement HabboEncryption V2 and update it to the SWF build I will be releasing (PRODUCTION-201611291003-338511768) and then complete its missing features.</span></p> <p style="text-align: center"><span style="font-size: 15px"></span></p> <p style="text-align: center"><span style="font-size: 22px"><strong><u>ALSO</u></strong></span></p> <p style="text-align: center"><span style="font-size: 15px">Yes this is only to rip the furnidata and furniture, but getting the Habbo swf, clothing and other gamedata files is really not a challenge, this thread is here solely because the furniture files are endless and are the biggest chunk of ripping.</span></p> <p style="text-align: center"><span style="font-size: 15px"></span></p><p>[CODE]<?php //Execute this command in Command Prompt with PHP.[/SIZE][/CENTER]</p><p>if (!defined('STDIN'))</p><p> {</p><p> echo 'Please run it as a cmd ({path to your php}/php.exe {path to badges.php} -f)';</p><p> exit;</p><p> }</p><p></p><p> define('BASE', 'https://images.habbogroup.com/dcr/hof_furni');</p><p></p><p> $furnidata = get_remote_data('https://habbo.com/gamedata/furnidata/furnidata.txt');</p><p></p><p> if (!file_exists('C:/furni')) {</p><p> mkdir('C:/furni', 0777, true);</p><p> echo "\n --------------> Created directory at C:/furni to copy furniture to. \n";</p><p></p><p> sleep(3);</p><p></p><p> $fp = fopen("C:/furni/furnidata.txt", "w");</p><p> fwrite($fp, $furnidata);</p><p> fclose($fp);</p><p> echo "\n --------------> Furnidata.txt copied to C:/Furni directory \n";</p><p></p><p> sleep(3);</p><p> }</p><p></p><p> $pos = 0;</p><p> while ($pos = strpos($furnidata, '["', $pos +1))</p><p> {</p><p> $pos1 = strpos($furnidata, '"]', $pos);</p><p> $rule = substr($furnidata, $pos, ($pos1 -$pos));</p><p></p><p> $rule = explode(',', $rule);</p><p></p><p> $revision = str_replace('"', '', $rule[3]);</p><p> $furni = current(explode('*', str_replace('"', '', $rule[2])));</p><p></p><p> if (file_exists('C:/furni/'.$furni.'.swf'))</p><p> {</p><p> echo 'furni exists: '.$furni."\r\n";</p><p> continue;</p><p> }</p><p></p><p> echo 'Download furni: '.$furni.' '.$revision."\r\n";</p><p> if (!@copy(BASE.'/'.$revision.'/'.$furni.'.swf', 'C:/furni/'.$furni.'.swf'))</p><p> {</p><p> echo 'Error downloading: '.$furni."\r\n";</p><p> }</p><p></p><p> }</p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p> function get_remote_data($url, $post_paramtrs = false) {</p><p> $c = curl_init();</p><p> curl_setopt($c, CURLOPT_URL, $url);</p><p> curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);</p><p> if ($post_paramtrs) {</p><p> curl_setopt($c, CURLOPT_POST, TRUE);</p><p> curl_setopt($c, CURLOPT_POSTFIELDS, "var1=bla&" . $post_paramtrs);</p><p> } curl_setopt($c, CURLOPT_SSL_VERIFYHOST, false);</p><p> curl_setopt($c, CURLOPT_SSL_VERIFYPEER, false);</p><p> curl_setopt($c, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1; rv:33.0) Gecko/20100101 Firefox/33.0");</p><p> curl_setopt($c, CURLOPT_COOKIE, 'CookieName1=Value;');</p><p> curl_setopt($c, CURLOPT_MAXREDIRS, 10);</p><p> $follow_allowed = ( ini_get('open_basedir') || ini_get('safe_mode')) ? false : true;</p><p> if ($follow_allowed) {</p><p> curl_setopt($c, CURLOPT_FOLLOWLOCATION, 1);</p><p> }curl_setopt($c, CURLOPT_CONNECTTIMEOUT, 9);</p><p> curl_setopt($c, CURLOPT_REFERER, $url);</p><p> curl_setopt($c, CURLOPT_TIMEOUT, 60);</p><p> curl_setopt($c, CURLOPT_AUTOREFERER, true);</p><p> curl_setopt($c, CURLOPT_ENCODING, 'gzip,deflate');</p><p> $data = curl_exec($c);</p><p> $status = curl_getinfo($c);</p><p> curl_close($c);</p><p> preg_match('/(http(|s)):\/\/(.*?)\/(.*\/|)/si', $status['url'], $link);</p><p> $data = preg_replace('/(src|href|action)=(\'|\")((?!(http|https|javascript:|\/\/|\/)).*?)(\'|\")/si', '$1=$2' . $link[0] . '$3$4$5', $data);</p><p> $data = preg_replace('/(src|href|action)=(\'|\")((?!(http|https|javascript:|\/\/)).*?)(\'|\")/si', '$1=$2' . $link[1] . '://' . $link[3] . '$3$4$5', $data);</p><p> if ($status['http_code'] == 200) {</p><p> return $data;</p><p> } elseif ($status['http_code'] == 301 || $status['http_code'] == 302) {</p><p> if (!$follow_allowed) {</p><p> if (empty($redirURL)) {</p><p> if (!empty($status['redirect_url'])) {</p><p> $redirURL = $status['redirect_url'];</p><p> }</p><p> } if (empty($redirURL)) {</p><p> preg_match('/(Location:|URI:)(.*?)(\r|\n)/si', $data, $m);</p><p> if (!empty($m[2])) {</p><p> $redirURL = $m[2];</p><p> }</p><p> } if (empty($redirURL)) {</p><p> preg_match('/href\=\"(.*?)\"(.*?)here\<\/a\>/si', $data, $m);</p><p> if (!empty($m[1])) {</p><p> $redirURL = $m[1];</p><p> }</p><p> } if (!empty($redirURL)) {</p><p> $t = debug_backtrace();</p><p> return call_user_func($t[0]["function"], trim($redirURL), $post_paramtrs);</p><p> }</p><p> }</p><p> } return "ERRORCODE22 with $url!!<br/>Last status codes<b/>:" . json_encode($status) . "<br/><br/>Last data got<br/>:$data";</p><p>}</p><p>?>[/CODE]</p><p></p><p></p><p></p><p></p><p style="text-align: center"><span style="font-size: 15px"></span></p> <p style="text-align: center"><span style="font-size: 15px">P.S Sorry about the presentation of this post, it was 03:31 when I posted this, lmao.</span></p> <p style="text-align: center"><span style="font-size: 15px">P.P.S There's like 500,000 furniture items so you may aswell wait for my release of the current 05/12/2016 SWFS just keep this script handy for the future <img src="/styles/default/xenforo/smilies/emojione/thumbsup.png" class="smilie" loading="lazy" alt=":up:" title="Thumbs Up :up:" data-shortname=":up:" /></span></p><p></p><p style="text-align: center"></p></blockquote><p></p>
[QUOTE="Chrobens, post: 391173, member: 62999"] [CENTER][B][SIZE=6][U]DCR Furniture Ripper[/U][/SIZE][/B] [SIZE=4]This is going to be a short post, I noticed a PHP script posted somewhere on the webs that was out-dated and did not work as of 2016, but this works and will read the Habbo furnidata.txt and rip all of the furni from dcr/hof_furni from Habbo. This can be used for ripping the whole furniture library, or for when you notice a new furniture range premier on Habbo. [B][U]YOU MUST HAVE INSTALLED PHP[/U][/B] Run this using the PHP command line, if you do not know how to do this then ask someone for help as this is not a help thread, this is intended for people who are able to use initiative and know how to run PHP from command line. Upon executing the script, the script will create a directory at C:/furni and place all .swf furniture here. This is just a small, quick release.. Your hate will be ignored. Some of you smart techies out there could develop this script to build a .txt file and have it use the values from the Habbo.com furnidata file and create your own SQL queries to execute to add the furniture into your database and catalogue. [/SIZE] [B][U][SIZE=6]HOWEVER[/SIZE][/U][/B] [SIZE=4]I will have a complete set of SWFs as of 05/12/2016 so if you wish to have patience I will be releasing that, the Habbo SWF will be cracked and I will have a list of the changed packet headers etc... You can then move over to these SWFs after updating your emulator to fit the Habbo SWF. In the very near future I hope to take on Mango Emulator and Implement HabboEncryption V2 and update it to the SWF build I will be releasing (PRODUCTION-201611291003-338511768) and then complete its missing features. [/SIZE] [SIZE=6][B][U]ALSO[/U][/B][/SIZE] [SIZE=4]Yes this is only to rip the furnidata and furniture, but getting the Habbo swf, clothing and other gamedata files is really not a challenge, this thread is here solely because the furniture files are endless and are the biggest chunk of ripping. [/SIZE][/CENTER] [CODE]<?php //Execute this command in Command Prompt with PHP.[/SIZE][/CENTER] if (!defined('STDIN')) { echo 'Please run it as a cmd ({path to your php}/php.exe {path to badges.php} -f)'; exit; } define('BASE', 'https://images.habbogroup.com/dcr/hof_furni'); $furnidata = get_remote_data('https://habbo.com/gamedata/furnidata/furnidata.txt'); if (!file_exists('C:/furni')) { mkdir('C:/furni', 0777, true); echo "\n --------------> Created directory at C:/furni to copy furniture to. \n"; sleep(3); $fp = fopen("C:/furni/furnidata.txt", "w"); fwrite($fp, $furnidata); fclose($fp); echo "\n --------------> Furnidata.txt copied to C:/Furni directory \n"; sleep(3); } $pos = 0; while ($pos = strpos($furnidata, '["', $pos +1)) { $pos1 = strpos($furnidata, '"]', $pos); $rule = substr($furnidata, $pos, ($pos1 -$pos)); $rule = explode(',', $rule); $revision = str_replace('"', '', $rule[3]); $furni = current(explode('*', str_replace('"', '', $rule[2]))); if (file_exists('C:/furni/'.$furni.'.swf')) { echo 'furni exists: '.$furni."\r\n"; continue; } echo 'Download furni: '.$furni.' '.$revision."\r\n"; if (!@copy(BASE.'/'.$revision.'/'.$furni.'.swf', 'C:/furni/'.$furni.'.swf')) { echo 'Error downloading: '.$furni."\r\n"; } } function get_remote_data($url, $post_paramtrs = false) { $c = curl_init(); curl_setopt($c, CURLOPT_URL, $url); curl_setopt($c, CURLOPT_RETURNTRANSFER, 1); if ($post_paramtrs) { curl_setopt($c, CURLOPT_POST, TRUE); curl_setopt($c, CURLOPT_POSTFIELDS, "var1=bla&" . $post_paramtrs); } curl_setopt($c, CURLOPT_SSL_VERIFYHOST, false); curl_setopt($c, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($c, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1; rv:33.0) Gecko/20100101 Firefox/33.0"); curl_setopt($c, CURLOPT_COOKIE, 'CookieName1=Value;'); curl_setopt($c, CURLOPT_MAXREDIRS, 10); $follow_allowed = ( ini_get('open_basedir') || ini_get('safe_mode')) ? false : true; if ($follow_allowed) { curl_setopt($c, CURLOPT_FOLLOWLOCATION, 1); }curl_setopt($c, CURLOPT_CONNECTTIMEOUT, 9); curl_setopt($c, CURLOPT_REFERER, $url); curl_setopt($c, CURLOPT_TIMEOUT, 60); curl_setopt($c, CURLOPT_AUTOREFERER, true); curl_setopt($c, CURLOPT_ENCODING, 'gzip,deflate'); $data = curl_exec($c); $status = curl_getinfo($c); curl_close($c); preg_match('/(http(|s)):\/\/(.*?)\/(.*\/|)/si', $status['url'], $link); $data = preg_replace('/(src|href|action)=(\'|\")((?!(http|https|javascript:|\/\/|\/)).*?)(\'|\")/si', '$1=$2' . $link[0] . '$3$4$5', $data); $data = preg_replace('/(src|href|action)=(\'|\")((?!(http|https|javascript:|\/\/)).*?)(\'|\")/si', '$1=$2' . $link[1] . '://' . $link[3] . '$3$4$5', $data); if ($status['http_code'] == 200) { return $data; } elseif ($status['http_code'] == 301 || $status['http_code'] == 302) { if (!$follow_allowed) { if (empty($redirURL)) { if (!empty($status['redirect_url'])) { $redirURL = $status['redirect_url']; } } if (empty($redirURL)) { preg_match('/(Location:|URI:)(.*?)(\r|\n)/si', $data, $m); if (!empty($m[2])) { $redirURL = $m[2]; } } if (empty($redirURL)) { preg_match('/href\=\"(.*?)\"(.*?)here\<\/a\>/si', $data, $m); if (!empty($m[1])) { $redirURL = $m[1]; } } if (!empty($redirURL)) { $t = debug_backtrace(); return call_user_func($t[0]["function"], trim($redirURL), $post_paramtrs); } } } return "ERRORCODE22 with $url!!<br/>Last status codes<b/>:" . json_encode($status) . "<br/><br/>Last data got<br/>:$data"; } ?>[/CODE] [CENTER][SIZE=4] P.S Sorry about the presentation of this post, it was 03:31 when I posted this, lmao. P.P.S There's like 500,000 furniture items so you may aswell wait for my release of the current 05/12/2016 SWFS just keep this script handy for the future :up:[/SIZE][/CENTER] [CENTER][/CENTER] [/QUOTE]
Insert quotes…
Verification
Post reply
Forums
Server Development
Habbo Retros
Habbo Releases
Furniture Releases
[REL] Furni Rip Script [REL]
Top