Navigation X
ALERT
Click here to register with a few steps and explore all our cool stuff we have to offer!

cracked.io | Best Forum Around | Free Premium Accounts




 664

Anyone who knows PHP?

by Micro - 01 October, 2019 - 10:48 PM
This post is by a banned member (Micro) - Unhide
Micro  
Supreme
1.153
Posts
885
Threads
5 Years of service
#1
(This post was last modified: 01 October, 2019 - 10:49 PM by Micro.)
Can someone explain how these keys are being generated ?
I'm trying to convert this so i can use it within OB.
Code:
<?php
// EXAMPLE USAGE
for ($i = 0; $i < 100; $i++) {
  $array = generate();
  echo $array[0];
  echo ":";
  echo $array[1];
  echo "<br>";
}


// FUNCTION
function generate()
{
        $digilist = "0123456789ABCDEFGHJKLMNPQRTUVWXY";

        //now we generate a new random ID number using the substrings of the digitList string above
        $id = NULL;
        $id .= substr($digilist, rand(1, 9), 1); //random number
        $id .= substr($digilist, rand(10, 31), 1); //then a letter
        $id .= substr($digilist, rand(10, 31), 1); //another letter
        $id .= substr($digilist, rand(1, 9), 1); //a number
        $id .= substr($digilist, rand(1, 9), 1); //and finally another number - simple :D
                       
    //ok so now we need to generate an MD5 hash of our ID
        $hash = md5($id);

        //cycle through the hash 16 (length of key) times (in steps of 2 because each hex bytes is 2 digits long)
        $i = 0;
        $key = NULL;
        for ($i; $i < 32; $i+=2)
        {
                //here we convert the next hex value to an integer and perform a bitwise AND operation against '31'
                //31 is the highest substring value in our digit list.  
                $nextdigit = hexdec(substr($hash, $i, 2)) & 31;

                //if 'i' is divisable by 8 (every 4 cycles) then we want to add "-"
                if ((($i % 8) == 0) && ($i > 0))
                {
                        $key .= "-".substr($digilist, $nextdigit, 1);
                }
                else
                {
                        $key .= substr($digilist, $nextdigit, 1);
                }
        }

        $array = array($id, $key);
        //return
        return $array;
}
?>
[Image: tumblr_o4igioqRRY1qghl49o1_540.gifv]

Barely on C.to anymore...

Contact me using this link
This post is by a banned member (cab) - Unhide
This post is by a banned member (Micro) - Unhide
Micro  
Supreme
1.153
Posts
885
Threads
5 Years of service
#3
(This post was last modified: 01 October, 2019 - 10:54 PM by Micro.)
(01 October, 2019 - 10:49 PM)cab Wrote: Show More
Code:
        $id .= substr($digilist, rand(1, 9), 1); //random number
        $id .= substr($digilist, rand(10, 31), 1); //then a letter
        $id .= substr($digilist, rand(10, 31), 1); //another letter
        $id .= substr($digilist, rand(1, 9), 1); //a number
        $id .= substr($digilist, rand(1, 9), 1); //and finally another number - simple :D

I think I understand that part but not the whole hashing and dividing part.
[Image: tumblr_o4igioqRRY1qghl49o1_540.gifv]

Barely on C.to anymore...

Contact me using this link
This post is by a banned member (NAViX) - Unhide
NAViX  
Supreme
313
Posts
209
Threads
5 Years of service
#4
(This post was last modified: 02 October, 2019 - 12:18 AM by NAViX.)
First of all it generates a key according to a specific 5-char long pattern: DXXDD (D = digit, X = alpha / letter)
Then it hashes the string using MD5: md5("DXXDD")

MD5 generates fixed-length (128 bits) hashes which is 16 bytes (128 / 8).
Each byte can be represented by a 2-char wide hex number, e.g. 0xd0

This WORD acts as an index to your charset [0-9A-Y] and all the bits left to the bit at position 31 get clipped off, such that the maximum index value is 31.
31 in bits is = 0001 1111, a bitwise AND will discard any bits for which the bitmask is 0.

After 4 cycles (= 4 chars processed) it will add a hypen ( - ), i.e. the resulting pattern will actually be: xxxx-xxxx-xxxx-xxxx (where x is any of [0-9A-Y])
This post is by a banned member (Micro) - Unhide
Micro  
Supreme
1.153
Posts
885
Threads
5 Years of service
#5
(02 October, 2019 - 12:17 AM)NAViX Wrote: Show More
First of all it generates a key according to a specific 5-char long pattern: DXXDD (D = digit, X = alpha / letter)
Then it hashes the string using MD5: md5("DXXDD")

MD5 generates fixed-length (128 bits) hashes which is 16 bytes (128 / 8).
Each byte can be represented by a 2-char wide hex number, e.g. 0xd0

This WORD acts as an index to your charset [0-9A-Y] and all the bits left to the bit at position 31 get clipped off, such that the maximum index value is 31.
31 in bits is = 0001 1111, a bitwise AND will discard any bits for which the bitmask is 0.

After 4 cycles (= 4 chars processed) it will add a hypen ( - ), i.e. the resulting pattern will actually be: xxxx-xxxx-xxxx-xxxx (where x is any of [0-9A-Y])

Is there a possibility you can convert this to OB Jint JavaScript for me?
If yes, I will give you the MBAM config I'm working on.
[Image: tumblr_o4igioqRRY1qghl49o1_540.gifv]

Barely on C.to anymore...

Contact me using this link

Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
or
Sign in
Already have an account? Sign in here.


Forum Jump:


Users browsing this thread: 1 Guest(s)