Made of Everything You're Not

No, not the flute playing Eric Lamb; the guitar playing, PHP programmer Eric Lamb. The better Eric Lamb.
  • Home
  • Projects
  • Portfolio
  • Resume
« A New Kind of Failure Point
Zend Framework URL View Helper »

Remove Boonex Footer From Dolphin CMS

After the server lockout and subsequent move last week I had to setup all my old sites on the new server. Aside from the loss of a few posts my blog (which I could restore from Google cache) and a few comments (which I couldn’t restore unfortunately) everything was pretty smooth. That was until I had to move over one of my clients sites that was using Dolphin CMS.

Remove Boonex Footer From Dolphin CMS

Remove Boonex Footer From Dolphin CMS

The issue was that the client’s site was now being tagged with a Powered By Boonex footer; not cool because the client had purchased a license and shouldn’t have the callout to Boonex. It looked like the site couldn’t reach the licensing server so it was acting like the site wasn’t a valid and licensed version.

I had set up the new server in a pretty locked down way, using a pretty paranoid strategy with firewalls and port changes and all that fun stuff. Unfortunately for my client, this included mod_security which Dolphin requires special configuration for:

If some security module is installed on the server (such as mod_security for Apache), it should be able to be disabled or set up for specific folders.

Not wanting to allow such a blatant security hole into my server following the above just wasn’t acceptable. Instead I decided to just remove the call to the licensing server in the code; it’s just php so I didn’t think it would be too difficult. It wasn’t but it was a little confusing though so here’s the code and process in case anyone else has the need.

BECAUSE I DON’T WANT TO GET SUED: only use this if you’ve already purchased a license. Blah, blah, blah. Oh, and this has only been tested in Dolphin 6.1.

  1. First, open up “/inc/design.inc.php”
  2. look for a HUGE base64 encoded line (one really long and one underneath is short). You’re going to need to remove both lines.
    It should be around line 500 and indented a few pages in. If you can’t find it search for “base64_decode” and it’ll come up.
  3. Replace the both lines with the below:
$s813518='Y3JlYXRlX2Z1bmN0aW9u';$s534634='base64_decode';$s434741='YmFzZTY0X2RlY29kZQ==';$s865127='ZWNobw==';$s734874='Z2xvYmFsICRfcGFnZTsNCg0KJHM0MzUyMzYgPSBiYXNlNjRfZGVjb2RlKCAnWW1GelpUWTBYMlJsWTI5a1pRPT0nICk7DQokczU4OTM1NSA9ICdYMTlpYjI5dVpYaGZabTl2ZEdWeWMxOWYnOw0KJHM3NDM3NjUgPSAnWjJ4dlltRnNJQ1J6YVhSbE93MEtaMnh2WW1Gc0lDUjBiWEJzT3cwS0RRb2tjMFp2YjNSbGNuTWdQU0FuSnpzTkNtbG1JQ2huWlhSUVlYSmhiU2duWlc1aFlteGxYMlJ2YkhCb2FXNWZabTl2ZEdWeUp5a3BJSHNOQ2lBZ0lDQU5DaUFnSUNBa2MwRm1aa2xFSUQwZ2RISnBiU2huWlhSUVlYSmhiU2duWW05dmJtVjRRV1ptU1VRbktTazdEUW9nSUNBZ2FXWW9JSE4wY214bGJpZ2dKSE5CWm1aSlJDQXBJQ2tnSkhOQlptWkpSQ0F1UFNBbkxtaDBiV3duT3cwS0RRb2dJQ0FnYjJKZmMzUmhjblFvS1RzTkNnMEtJQ0FnSUNSelJtOXZkR1Z5Y3lBOUlDY25PdzBLZlEwS0RRcHlaWFIxY200Z0pITkdiMjkwWlhKek93PT0nOw0KJHM1ODYyODQgPSAnVkcxd2JFdGxlWE5TWlhCc1lXTmwnOw0KJHM5ODU0OTUgPSAnTDE5ZktGdGhMWHBCTFZvd0xUbGZMVjByS1Y5Zkx3PT0nOw0KJHM3ODI0ODYgPSAnYzNSeWNHOXonOw0KJHM5NTAzMDQgPSAnYzNSeVgzSmxjR3hoWTJVPSc7DQokczk0Mzk4NSA9ICdjSEpsWjE5eVpYQnNZV05sWDJOaGJHeGlZV05yJzsNCiRzNjc3NDM0ID0gJ1dXOTFJR2hoZG1VZ2JXRnVkV0ZzYkhrZ2NtVnRiM1psWkNBOFlTQm9jbVZtUFNKb2RIUndPaTh2ZDNkM0xtSnZiMjVsZUM1amIyMHZJajVDYjI5dVJYZzhMMkUrSUdadmIzUmxjbk1nZDJsMGFHOTFkQ0J3WVhscGJtY2dabTl5SUhSb1pTQnlhV2RvZENCMGJ5NGdVR3hsWVhObExDQm5ieUIwYnlBOFlTQm9jbVZtUFNKb2RIUndjem92TDNkM2R5NWliMjl1WlhndVkyOXRMM0JoZVcxbGJuUXVjR2h3UDNCeWIyUjFZM1E5Ukc5c2NHaHBiaUkrUW05dmJrVjRMbU52YlR3dllUNGdZVzVrSUc5eVpHVnlJSFJvWlNCaFpDQm1jbVZsSUd4cFkyVnVjMlZ6SUhSdklHSmxJR0ZpYkdVZ2RHOGdkWE5sSUhsdmRYSWdjMmwwWlNCM2FYUm9iM1YwSUR4aElHaHlaV1k5SW1oMGRIQTZMeTkzZDNjdVltOXZibVY0TG1OdmJTOGlQa0p2YjI1RmVEd3ZZVDRnWm05dmRHVnljeTRnVkdobGVTQjNhV3hzSUdKbElHRjFkRzl0WVhScFkyRnNiSGtnY21WdGIzWmxaQ0JoY3lCemIyOXVJR0Z6SUhsdmRTQnlaV2RwYzNSbGNpQjViM1Z5SUdGa0lHWnlaV1VnYkdsalpXNXpaWE11SUZCc1pXRnpaU3dnY0hWMElIUm9aU0E4WWo1ZlgySnZiMjVsZUY5bWIyOTBaWEp6WDE4OEwySStJR3RsZVNCaVlXTnJJR2x1ZEc4Z1JHOXNjR2hwYmlCMFpXMXdiR0YwWlM0PSc7DQokczU0NjY5MyA9ICdibUZ0WlY5cGJtUmxlQT09JzsNCg0KJHM1NDU2MjQgPSAkczQzNTIzNiggJHM1ODYyODQgKTsNCiRzNDM0NjQzID0gJHM0MzUyMzYoICRzOTg1NDk1ICk7DQokczkzNzU4NCA9ICRzNDM1MjM2KCAkczc4MjQ4NiApOw0KJHMwMjM5NTAgPSAkczQzNTIzNiggJHM5NTAzMDQgKTsNCiRzOTM3NTA0ID0gJHM0MzUyMzYoICRzOTQzOTg1ICk7DQokczM4NTk0MyA9ICRzNDM1MjM2KCAkczU0NjY5MyApOw0KDQokczk4NzU2MCA9ICRfcGFnZTsNCiRzOTQ2NTkwID0gZmFsc2U7DQokczg1OTM0OCA9IGFycmF5KCAyOSwgNDMsIDQ0LCA1OSwgNzksIDgwLCAxNTAgKTsNCg0KaWYoIGluX2FycmF5KCAkczk4NzU2MFskczM4NTk0M10sICRzODU5MzQ4ICkgb3IgJHM5Mzc1ODQoICRzNjUzOTg3LCAkczQzNTIzNiggJHM1ODkzNTUgKSApICE9PSAkczk0NjU5MCApIHsNCiAgICAkczY1Mzk4NyA9ICRzMDIzOTUwKCAkczQzNTIzNiggJHM1ODkzNTUgKSwgZXZhbCggJHM0MzUyMzYoJHM3NDM3NjUpICksICRzNjUzOTg3ICk7DQogICAgJHM2NTM5ODcgPSAkczkzNzUwNCggJHM0MzQ2NDMsICRzNTQ1NjI0LCAkczY1Mzk4NyApOw0KICAgIGVjaG8gJHM2NTM5ODc7DQp9IGVsc2UNCiAgICBlY2hvICRzOTg3NTYwWyRzMzg1OTQzXSAuICcgJyAuICRzNDM1MjM2KCAkczY3NzQzNCApOw==';
 
$s545674=$s534634( $s813518 );$s548866=$s534634( $s434741 );$s947586=$s534634( $s865127 );$$s947586=$s545674( '$s653987', $s548866( $s734874 )

Boonex uses base64 to encode and obfuscate the licensing code so it can’t be modified without a bare minimum of trouble. Not that they had much of an option; php is notoriously hard to encode with any elegance or reliability. Anyway, they chose base64.

All that was needed was to base64_decode the code, and then base64_decode that code (yup, they did it twice). After that I made the changes to remove the HTML that displays the Boonex footer, base64_encoded that, then did it again to create the above.

So, once again, only use the above code if you’ve already purchased a license. Yes, it should work if you didn’t but I don’t want to get sued so it has to be said.

Bookmark and Share

Related Posts

Stand Alone ExpressionEngine Authentication
Importing Legacy Users Into ExpressionEngine
CartThrob 2.0 Beta Fun
ExpressionEngine and the Mystery of M00o93H7pQ09L8X1t49cHY01Z5j4TT91fGfr
Custom Routes With Zend Framework

Tags: boonex, dolphin cms, php

This entry was written by Eric Lamb and posted on Thursday, March 11th, 2010 at 12:00 am and is filed under Code, Programming. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

15 Comments

  1. abcphp.com says:
    March 11, 2010 at 10:38 pm

    Remove Boonex Footer From Dolphin CMS | Made of Everything You’re Not | Eric Lamb…

    After the server lockout and subsequent move last week I had to setup all my old sites on the new server. Aside from the loss of a few posts my blog (which I could restore from Google cache) and a few comments (which I couldn’t restore unfortunately) e…

    Reply
  2. Nectarabica says:
    April 26, 2010 at 10:12 am

    just add the code :
    setParam(‘enable_dolphin_footer’, false);

    Before the line 136 of ./inc/design.inc.php

    Reply
    • Eric Lamb says:
      April 26, 2010 at 8:17 pm

      Lol!! Wow; Ive gone the long way yet again! Bravo Nectarabica; very cool man :)

      Reply
  3. Szogun says:
    October 2, 2010 at 3:38 pm

    setParam(‘enable_dolphin_footer’, false); doen’t work since 7.0.3 ;(

    Reply
  4. venu says:
    January 8, 2011 at 8:06 pm

    I want to know if it works well with 7.0.3 ?

    Reply
  5. venu says:
    January 8, 2011 at 8:27 pm

    My new Installation ‘s version is 7.0.4

    Does the codes works for it ?

    Reply
  6. User says:
    January 10, 2011 at 10:39 am

    I have installer dolphin 7.0.4

    1 You have manually removed BoonEx footers without paying for the right to. Please, go to BoonEx.com and order the ad free licenses to be able to use your site without BoonEx footers. They will be automatically removed as soon as you register your ad free licenses. Please, put the __boonex_footers__ key back into Dolphin template.

    Reply
  7. Andrew says:
    February 16, 2011 at 11:15 pm

    2#User
    Yes, funny, but be carefully with templates, yes, if you will remove
    __boonex_footers__
    key, you will see this warning. Better to hide this with another ways.

    Reply
  8. Barry says:
    March 1, 2011 at 11:12 am

    setParam still works as off 7.0.3. i just used it 1 minute ago on 7.0.3 and the footer dissapeared straight away.
    Thanks for the code :)

    Reply
  9. d00d says:
    May 4, 2011 at 12:46 am

    Is there some way to remove the boonex baner bottom of flash container in video box?

    Reply
  10. Brian says:
    May 13, 2011 at 5:15 pm

    Crud. Just tried replacing the base64 and also tried adding the setParam(‘enable_dolphin_footer’, false); on version 7.0.6 and neither worked. Ideas, anyone? Anyone?

    Reply
  11. Caps says:
    June 1, 2011 at 11:53 am

    setParam(‘enable_dolphin_footer’, false);

    Works for me on Dolphin 7.0.6. Do not like app which use license servers nor we use them in our products. So will move on from here.

    Reply
  12. Caps says:
    June 1, 2011 at 11:58 am

    My mistake, does not work for 7.0.6.

    Reply
  13. Caps says:
    June 1, 2011 at 12:00 pm

    If they require the app or modules to validate the key, then you will not be able to use the modules. This will create more of a mess with websites displaying content if the LS goes cookoo.

    Reply
  14. Mark says:
    February 21, 2012 at 3:33 am

    I am paying for a license, but wrote the following, which works for Dolphin 7.0.3 so might work for subsequent versions. Place the following after line 138 (after $s734874) in inc/design.inc.php:

    ob_start();
    ?>
    global $_page;
    global $_page_cont;

    $s435236 = base64_decode( ‘YmFzZTY0X2RlY29kZQ==’ );
    $s589355 = ‘X19ib29uZXhfZm9vdGVyc19f’;
    $s743765 = base64_encode(‘global $site;global $tmpl;if (getParam(“enable_dolphin_footer”)) { $sAffID = trim(getParam(“boonexAffID”)); if( strlen( $sAffID ) ) $sAffID .= “.html”;}return “”;’);

    $s782486 = ‘c3RycG9z’;
    $s950304 = ‘c3RyX3JlcGxhY2U=’;
    $s943985 = ‘cHJlZ19yZXBsYWNl’;
    $s677434 = ‘U29ycnksIHNpdGUgaXMgdGVtcG9yYXJ5IHVuYXZhaWxhYmxlLiBQbGVhc2UgdHJ5IGFnYWluIGxhdGVyLg==’;
    $s546693 = ‘bmFtZV9pbmRleA==’;
    $s671574 = ‘cGFyc2VQYWdlQnlOYW1l’;

    $s937584 = $s435236( $s782486 );
    $s023950 = $s435236( $s950304 );
    $s937504 = $s435236( $s943985 );
    $s385943 = $s435236( $s546693 );
    $s375013 = $s435236( $s671574 );

    $s987560 = $_page;
    $s917561 = $_page_cont;
    $s946590 = false;
    $s859348 = array( 29, 43, 44, 59, 79, 80, 150 );

    $s653987 = $s753787->$s375013($s653987, $s917561[$s987560[$s385943]]);
    if( in_array( $s987560[$s385943], $s859348 ) or $s937584( $s653987, $s435236( $s589355 ) ) !== $s946590 ) {
    $s653987 = $s023950( $s435236( $s589355 ), eval( $s435236($s743765) ), $s653987 );
    echo $s653987;
    } else
    echo $s987560[$s385943] . ‘ ‘ . $s435236( $s677434 );
    <?php
    $code = ob_get_clean();
    $s734874 = base64_encode($code);

    Reply

Leave a Reply

Click here to cancel reply.

  • Subscribe: Entries | Comments
  • About Me

    Email Email
    Twitter Twitter
    310.739.3322
  • Categories

    • Brain Dump
    • Business
    • Code
    • IT
    • Programming
    • Rant
    • Servers
  • Archives

    • February 2012
    • October 2011
    • August 2011
    • July 2011
    • June 2011
    • May 2011
    • April 2011
    • March 2011
    • February 2011
    • January 2011
    • December 2010
    • November 2010
    • October 2010
    • September 2010
    • August 2010
    • July 2010
    • June 2010
    • May 2010
    • April 2010
    • March 2010
    • February 2010
    • January 2010
    • December 2009
    • November 2009
    • October 2009
    • September 2009
    • August 2009
    • July 2009
    • June 2009
    • May 2009
    • April 2009
    • March 2009
    • February 2009
    • January 2009
    • December 2008
    • November 2008
    • October 2008

Copyright © 2008 - 2012 Eric Lamb - All rights reserved