Chia sẻ thông tin

KenjiVN - Quốc Trưởng

Search This Blog

Saturday, June 2, 2012

How to Nulling vBulletin 4.2.0

Tutorial written for unstuck.fr by UnstucK

Visit: royalhack.ru / unstuck.fr / abul.org



Needed files:

install/vbulletin-upgrade.js
install/upgrade_language_en.xml
install/includes/class_upgrade_ajax.php

You need a retail release first, as soon as you have it, please protect yourself or the owner of that copy !

With notepad ++, replace vBulletin 4.2.0 - SERIAL SHIT by vBulletin 4.2.0 ONLY ! (remove the licence number everywhere, using the search in files feature in notepad++)

This is an optional step of course, here we go for nulling vBulletin :ninja: !

I) vbulletin-upgrade.js

Search for:

var postdata = [SIZE=2]"ajax=1&status=1&" + PHP.urlencode(CUSTNUMBER);[/SIZE]


Replace with:
var postdata = [SIZE=2]"ajax=1&status=1&";[/SIZE]


Search for:

"&customerid=" + PHP.urlencode(CUSTNUMBER) +


Remove that line

We are done with that file !


II) upgrade_language_en.xml


Search for:

<phrase name="enter_install_system">


Keep that line and remove everything until

<phrase name="redirecting"><=!=[=C=D=A=T=A=[Redirecting...]=]=></phrase>


Keep that last line, just remove everything between !

So basically what we need to remove is:

<phrase name="enter_cust_num"><=!=[=C=D=A=T=A=[Please Enter Your Customer Number]=]=></phrase>        
<phrase name="customer_number"><=!=[=C=D=A=T=A=[Customer Number]=]=></phrase>        
<phrase name="cust_num_explanation"><=!=[=C=D=A=T=A=[This is the number with which you log in to the vBulletin.com Members' Area]=]=></phrase>        
<phrase name="cust_num_success"><=!=[=C=D=A=T=A=[Customer number entered successfully.]=]=></phrase>


Search for:

<phrase name="cust_num_incorrect"><=!=[=C=D=A=T=A=[Customer Number Incorrect]=]=></phrase>


Remove that lineSearch for:

vBulletin.com

Remove any content related with vBulletin.com

Example:



For more details, <a href="http://www.vbulletin.com/manual/html/manual_database_backup" target="_blank">read this</a>.


Remove this shit so only the following will stay :


<phrase name="dump_database_desc"><=!=[=C=D=A=T=A=[<p class="smallfont">From here, you can back up your vBulletin database.</p> <p class="smallfont">Please note that if you have a particularly large database, this script <i>may</i> not be able to fully back it up.</p> <p class="smallfont">For a foolproof backup, login to your server via Telnet or SSH and use the <i>mysqldump</i> command on the command line. </p>]=]=></phrase>


[CENTER]We are done with that file
[/CENTER]
III) vbulletin-upgrade.js

Search for:
[SIZE=2]
[/SIZE]
private $custnumber = '';


Remove that line and it's comment


> Full content that need to be removed:

    /**
    * Customer Number
    *
    * @var    string
    */
    private $custnumber = '';


Search for:

$this->custnumber =


Remove that entire line !

So instead of

parent::init();
$this->custnumber = xxxxxxxxxxxxxxxxxxxxxxxxx
$this->registry->input->clean_array_gpc('p', array(


You will have
parent::init();

        $this->registry->input->clean_array_gpc('p', array(


Search for:

        $this->registry->input->clean_array_gpc('c', array(        
                'bbcustomerid' => TYPE_STR,        
            ));


Remove it !

Search for:


            if ($this->registry->GPC['bbcustomerid'] != $this->custnumber)        
                {        
                    $xml = new vB_AJAX_XML_Builder($this->registry, 'text/xml', vB_Template_Runtime::fetchStyleVar('charset'));        
                        $xml->add_tag('error', $this->phrase['authenticate']['cust_num_incorrect']);        
                    $xml->print_xml();        
                }


Remove it !

Search for:

            $proceed = false;        
                if ($this->registry->GPC['bbcustomerid'] != $this->custnumber)        
                {        
                    if ($this->login())        
                    {        
                        $proceed = true;
                    }        
                }        
                else        
                {        
                    $proceed = true;        
                }


Remove everything except the $proceed = true; in the middle !

So you will have the following :


$this->registry->input->clean_array_gpc('r', array(
'version' => TYPE_NOHTML,
'startat' => TYPE_UINT,
'step'    => TYPE_UINT,
'only'    => TYPE_BOOL,

));
                
$proceed = true;
  
if ($proceed)
{
if ($this->registry->GPC['version'] AND $this->versions[$this->registry->GPC['version']])


Search for:

* Display Login        
*        
* @return    boolean login success        
*/        
private function login()        
{        
if (isset($_POST['customerid']))        
{        
$this->registry->input->clean_array_gpc('p', array(        
'customerid' => TYPE_NOHTML,        
));        
if (md5(strtoupper($this->registry->GPC['customerid'])) == $this->custnumber)        
{        
setcookie('bbcustomerid', $this->custnumber, 0, '/', '');        
return true;        
}        
else        
{        
$this->htmloptions['login'] = true;        
$this->htmloptions['loginerror'] = true;        
return false;        
}        
}        
else        
{        
$this->htmloptions['login'] = true;        
return false;        
}        
}


Remove it !

Search for:



var CUSTNUMBER = "<?php echo $this->custnumber; ?>";


Remove it !

Search for:


<div class="tborder<?php if (!$this->htmloptions['login']) { echo " hidden"; } ?>" id="authenticate">        
<div class="navbody messageheader"><?php echo $this->phrase['authenticate']['enter_cust_num']; ?></div>        
<div class="messagebody logincontrols">        
<?php echo $this->phrase['authenticate']['cust_num_explanation']; ?>        
<form action="<?php echo $this->setuptype; ?>.php" method="post">        
<input type="text" tabindex="1" value="" name="customerid" id="customerid" />        
<?php if ($this->htmloptions['loginerror']) { ?><div id="customerid_error" class="navbody"><?php echo $this->phrase['authenticate']['cust_num_incorrect']; ?></div><?php } ?>        
<input class="button" type="submit" tabindex="1" accesskey="s" id="authsubmit" value="<?php echo $this->htmloptions['enter_system'] ?>" />        
<?php echo $hiddenfields ?>        
</form>        
</div>        
</div>


Remove it !Search for:
<a href="http://www.vbulletin.com/" target="_blank" class="copyright">


Remove it ! [remove also the below]

[CENTER]We are done with that file !

[/CENTER]
Ok now go to /install/install.php

You will get errors, it's normal (I think ... , hey you are using a fucked build of vBulletin so please ignore these lame errors !!! :D)

Just click ignore and continue, should be fine :)
If I did any mistake, I do not care ! I'm not an professional crackzor, I just know sum php !

Will make a public keygen for vBulletin, will release it everywhere aswell, since keygens are way better than nulled versions :D

0 comments:

Post a Comment