首页
社区
课程
招聘
[旧帖] teleport pro v1.63 0.00雪花
发表于: 2011-4-14 13:19 1323

[旧帖] teleport pro v1.63 0.00雪花

2011-4-14 13:19
1323
od载入后发现1.63和以前版本的注册算法竟然一样。。。。
暴力破解的话会提示文件被修改过,不能运行。。。
以前的算法和破解过程网上都有 ,我发一下我用c++写的注册机

以前的破文页面:
标 题: 【原创】Teleport Pro 1.60破解分析及算法注册机
作 者: 萧萧黄叶
时 间: 2009-06-02,18:17
链 接: http://bbs.pediy.com/showthread.php?t=90537

软件的运行过程是
1.把输入注册码变为16进制数保存
2.判断用户名位数是否大于4,如果小于推出
如果大于,循环(用户名位数-4)次
每次倒序取出4位,类似于压栈。
如用户名为:123456,取出数据是:4321
然后异或运算
3.把结果与1的结果比较相同则注册成功。

编译环境是dev c++
/**输入大于4位的用户名,输出注册码 
*/
#include<iostream>
#include<string>
#include<math.h>
using namespace std;

//input the string when the length <5 exit
void check(string t)
{
    if(t.length()<5)
    {
        cout<<"your name must longer than four";
        exit(0);
    }
    
}


//input the string  reverse orde it 
void sort(string& a)
{
    char temp;
    int size=a.length();
//    cout<<size/2<<endl;
    int i=0;
    while(i<size/2)
    {
        temp=a[size-1-i];
        a[size-1-i]=a[i];
        a[i]=temp;
        i++;
    }
}


//xor every char of two string in common length
//the result in string a

void charxor(string& a,string& b)
{
    int i=0;
    while(i<a.length()||i<b.length())
    {
        a[i]^=b[i];
        i++;
    }
}



//input string print hex of if 
//for the reason of oxffffff00 so have a choice
void printstr_hex(string a)
{
    int pwd;
    int i=0,j=7;
    while(i<4)
        {
            if(a[i]>=0xffffff00)
            {
                pwd+=(a[i]&0x000000ff)/16*pow(16,j);
                j--;
                pwd+=(a[i]&0x000000ff)%16*pow(16,j);
                j--;
            }
            else
            {
                pwd+=a[i]/16*pow(16,j);
                j--;
                pwd+=(a[i]%16)*pow(16,j);
                j--;
            }
            i++;
        }
        cout<<pwd; 
}

//xor input and 5DFEE4A4 per 4 chars
void stringxor(string& a)
{
    string x="\x5D\xFE\xE4\xA4";
    string y;
    for(int i=0;i<a.length()-4;i++)
    {
        y.assign(a,i,4);
        sort(y);          //y为倒序取出的4个字符 
        charxor(x,y);
    }
    printstr_hex(x);   
}

int main()
{
    string a;
    cout<<"input your reg name \n";
    cin>>a;
    check(a);               //check the number of input char
    stringxor(a);
    system("pause");
}

[课程]Linux pwn 探索篇!

收藏
免费 0
支持
分享
最新回复 (1)
雪    币: 8
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
这个软件本身就非常不错

只是早就破解了

最重要的是:老版本和新版本在功能上没有什么区别

甚至老版本的运行效率更高,速度更快
2012-10-19 20:48
0
游客
登录 | 注册 方可回帖
返回
//