首页
社区
课程
招聘
[求助]算法已知道写不出注册机
发表于: 2011-11-11 19:43 9253

[求助]算法已知道写不出注册机

2011-11-11 19:43
9253
0052BA8D  |.  A1 20A25300   mov     eax, dword ptr [53A220]
0052BA92      C1E0 02       shl     eax, 2                             eax左移2
0052BA95  |.  A3 20A25300   mov     dword ptr [53A220], eax
0052BA9A  |.  8105 20A25300>add     dword ptr [53A220], 0E6C
0052BAA4  |.  A1 20A25300   mov     eax, dword ptr [53A220]   
0052BAA9  |.  8BD0          mov     edx, eax                           把eax保存到edx
0052BAAB      C1E0 03       shl     eax, 3                             左移3
0052BAAE  |.  2BC2          sub     eax, edx                           eax减去edx
0052BAB0  |.  A3 20A25300   mov     dword ptr [53A220], eax            保存结果
0052BAB5  |.  A1 20A25300   mov     eax, dword ptr [53A220]
0052BABA      B9 05000000   mov     ecx, 5                           ;  ecx = 5
0052BABF  |.  99            cdq
0052BAC0  |.  F7F9          idiv    ecx                                 eax/5
此时ecx为机器码

大家帮帮我把。。写个注册机。我 是怎么也搞不清楚shl怎么用编程算出来。。。帮我一把!

=============================================================
注册机写好了
void CMyDlg::OnButton1()
{
       
        int num1,num2,num3; //不能为 unsigned,部分注册码有负数
    num1=GetDlgItemInt(IDC_text);//将编辑框中的数转为整形
    num2=num1*4;
        num2=num2+3692;
        num3=num2*8;
        num3=num3-num2;
        num3=num3/5;
    SetDlgItemInt(IDC_EDIT3,num3);
}
谢谢各位牛牛提示

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (15)
雪    币: 23
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
在线等待。。。
2011-11-11 19:46
0
雪    币: 517
活跃值: (35)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
3
shl     eax, 2=*4
shl     eax, 3=*8
2011-11-11 19:47
0
雪    币: 93
活跃值: (41)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
4
C里 szNum<<N;
就是Asm中 shl szNmn,N 的意思
这算法不难  自己慢慢琢磨比较好
2011-11-11 19:47
0
雪    币: 23
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
谢谢。。这下懂了~2的2次方和2的3次方啊。
可是2的2次方后,结果为29B44C24
29B44C24 的3次方 结果为 14DA26120
                  程序计算结果为  4DA26120
这是为嘛呢。。。
2011-11-11 19:55
0
雪    币: 851
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
_asm
2011-11-11 19:58
0
雪    币: 23
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
不会。。
2011-11-11 20:02
0
雪    币: 517
活跃值: (35)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
8
溢出自动丢失。
2011-11-11 20:04
0
雪    币: 23
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
谢谢,。。。
2011-11-11 20:11
0
雪    币: 3689
活跃值: (4247)
能力值: (RANK:215 )
在线值:
发帖
回帖
粉丝
10
29B44C24 的3次方 结果为 14DA26120
结果是低8位,高的00000001不要。
2011-11-11 20:44
0
雪    币: 517
活跃值: (35)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
11
本人有喜欢乱改的习惯,不知可行?

void CMyDlg::OnButton1()
{
int num1; //不能为 unsigned,部分注册码有负数
num1 = GetDlgItemInt(IDC_text);//将编辑框中的数转为整形
num1 *= 4;
num1 += 3692;
num1 *= 7;
num1 /= 5;
SetDlgItemInt(IDC_EDIT3,num1);
}
2011-11-12 10:04
0
雪    币: 23
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
什么乱改嘛…明明是更理性呗。我是跟着他的程序思路全都写下来的…却没考虑一下哈哈。其实我数学很烂…也是文科的。谢谢指点!
2011-11-14 09:25
0
雪    币: 159
活跃值: (16)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
我对算法一点都不熟悉,我一般破软件用的都是基础的爆破,这种方法刚开始玩玩还是可以的,如果一直用这种方法破解软件是不行的,现在能用这种方法破解的软件越来越少了。只能研究软件的算法,其实暴力破解不能算作是破解了软件,只有弄清楚了软件的算法,写出了该软件的注册机才能算是成功破解了一个软件,不过如果大家有钱的话还是购买正版吧。支持一下软件作者。
2011-11-28 11:37
0
雪    币: 341
活跃值: (143)
能力值: ( LV7,RANK:110 )
在线值:
发帖
回帖
粉丝
14
看到当年自己发的第一个求助帖子。。好开心。。。欢乐多。。。


感谢第一个帮助的人BlueT 不忘。。
2014-5-18 10:44
0
雪    币: 18
活跃值: (25)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
15
对于int的数据,尽量用long long来代替,就不会产生这些溢出。
2014-5-27 10:42
0
雪    币: 517
活跃值: (35)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
16


这么老的帖子还有人看?!
2014-6-2 07:48
0
游客
登录 | 注册 方可回帖
返回
//