首页
社区
课程
招聘
[原创][原创]简单而复杂的Delphi学习宝典学习宝典算法计算
发表于: 2013-10-12 20:27 3700

[原创][原创]简单而复杂的Delphi学习宝典学习宝典算法计算

2013-10-12 20:27
3700
无聊下几个共享软件玩玩
软件名称:Delphi学习宝典
最后更新:2004-6-23  //够老的吧,反正想要出钱买你们也不知道找谁了
算法方式:加减乘除

玩的结果耽误2~3天的工作,找资料的时候也看到有人问要这个注册码,反正也是玩就坚持搞下来了,如题所说简单而复杂,一路下来加减乘除,眼都花了因为没技术有一个过程耽误一天

过程:
程序无壳用VB Decompiler Pro反编译找到关键点地址:00425BBB 打开od  ctrl+g 填入关键地址往上走找到地址 00425021   .  FF15 34104000 call dword ptr ds:[<&MSVBVM60.#516>]     ; \rtcAnsiValueBstr
在上面是判断用户名和注册码是否为空没啥意思 下断点 00425021 经过取用户名转换成Ansi码并相加,简单不?????
下面不能成为算法了,叫算数好了,因为上面说一路加减乘除么(省略了看的恶心),到
00425B8F   .  8995 B8FEFFFF mov dword ptr ss:[ebp-0x148],edx         ;  edx存放算数出来的数值就是注册码了,没技术可言,不信可以试试~

疑点也是学习点:
00425B4F   .  FFD6          call esi                                 ;  好多call esi 那里没去看
00425B51   .  8BC8          mov ecx,eax
=======================================================================================
00425B53   .  B8 398EE338   mov eax,0x38E38E39                       //这里是疑问跟前面无关,这段过程是
00425B58   .  F7E9          imul ecx                                 //取edx的值*0x38E38E39/2^0x1F,VB要写成edx*954437177/2^32
00425B5A   .  D1FA          sar edx,1            ;移位直接理解成/   2// 想问问0x1F转换10进制为31怎么上面计算要变成32了
00425B5C   .  8BCA          mov ecx,edx                              //
00425B5E   .  C1E9 1F       shr ecx,0x1F                             //
=======================================================================================
00425B61   .  03D1          add edx,ecx
00425B63   .  81C2 9C0F0100 add edx,0x10F9C                          ;  +69532
00425B69   .  0F80 B8030000 jo Delphi学.00425F27
00425B6F   .  83EA 61       sub edx,0x61                             ;  -97
00425B72   .  0F80 AF030000 jo Delphi学.00425F27
00425B78   .  81C2 3C010000 add edx,0x13C                            ;  +316=4392581
00425B7E   .  8B0F          mov ecx,dword ptr ds:[edi]
00425B80   .  0F80 A1030000 jo Delphi学.00425F27
00425B86   .  6BD2 02       imul edx,edx,0x2                         ;  最后一步计算出注册码 4392581*2=8785162


也就是上面疑问那点耽误时间了,注册运算过程20次+,真不如内存注册,一点注册码来也~

附上无聊的成果: reg.rar

[培训]传播安全知识、拓宽行业人脉——看雪讲师团队等你加入!

上传的附件:
收藏
免费 0
支持
分享
最新回复 (1)
雪    币: 191
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
如果你输入正确的注册码出现错误或者下断点后调试没有拦截下来把下面保存成*.reg导入注册表就可以解决了

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\VB and VBA Program Settings\Delphi学习宝典\信息]
"key1"=""      
"name"=""
"key"=""
==================================================
"key1"=""      值应为空 如果是1 就会出现上面的问题,这也算暗桩吧
"name"=""     用户名
"key"=""        注册码
2013-10-12 20:34
0
游客
登录 | 注册 方可回帖
返回