首页
社区
课程
招聘
[旧帖] [原创]破解xx算命软件(初级) 0.00雪花
发表于: 2007-10-9 20:50 5068

[旧帖] [原创]破解xx算命软件(初级) 0.00雪花

2007-10-9 20:50
5068
【文章标题】: 破解xx算命软件(初级)
【文章作者】: 明日雄鹰
【软件名称】: xx算命V2007
【软件大小】: 2.02M
【下载地址】: http://www.skycn.com/soft/7818.html
【加壳方式】: ASPack 2.12 -> Alexey Solodovnikov
【保护方式】: 注册码保护
【编写语言】: Borland Delphi 6.0 - 7.0
【软件介绍】:  〖xx算命〗软件是一个简洁的算命软件,软件功能全面、实用、强大。一个软件集成              了多种测算选项,测算内容、测算项目极其丰富,包括姓名吉凶测算、命运推算、科学起              名向导、生男生女查询以及万年历、农历查询等
【作者声明】: 只是感兴趣,没有其他目的。本人第一次写破文,失误之处敬请诸位大侠赐教!
--------------------------------------------------------------------------------
【详细过程】
  本人技术不高,所以习惯潜水,因破解遇到问题,所以写了这篇破文(超菜鸟级的高手不要见笑^_^)
  首先查壳---脱壳--OD载入--字符串查找(大家都会)
  查找字符串有“本软件已注册”和“注册成功”提示
  
  0055BCCB    BA A4BE5500         mov edx,tuoke.0055BEA4          ; 本软件已注册    //双击来到这里
  0055BCD0    E8 3BC2EEFF         call tuoke.00447F10
  0055BCD5    8D95 50FFFFFF       lea edx,dword ptr ss:[ebp-B0]
  0055BCDB    8B83 FC020000       mov eax,dword ptr ds:[ebx+2FC]
  0055BCE1    E8 FAC1EEFF         call tuoke.00447EE0
  0055BCE6    8B8D 50FFFFFF       mov ecx,dword ptr ss:[ebp-B0]
  0055BCEC    BA BCBE5500         mov edx,tuoke.0055BEBC          ; ssbxr
  0055BCF1    8BC6                mov eax,esi
  0055BCF3    E8 BCDEF4FF         call tuoke.004A9BB4
  0055BCF8    8D85 4CFFFFFF       lea eax,dword ptr ss:[ebp-B4]
  0055BCFE    B9 CCBE5500         mov ecx,tuoke.0055BECC          ; \c301l.dll
  0055BD03    8B55 FC             mov edx,dword ptr ss:[ebp-4]
  0055BD06    E8 7D8FEAFF         call tuoke.00404C88
  0055BD0B    8B8D 4CFFFFFF       mov ecx,dword ptr ss:[ebp-B4]
  0055BD11    B2 01               mov dl,1
  0055BD13    A1 E4F54600         mov eax,dword ptr ds:[46F5E4]
  0055BD18    E8 7739F1FF         call tuoke.0046F694
  0055BD1D    8BF0                mov esi,eax
  0055BD1F    8D95 48FFFFFF       lea edx,dword ptr ss:[ebp-B8]
  0055BD25    8B83 04030000       mov eax,dword ptr ds:[ebx+304]
  0055BD2B    E8 B0C1EEFF         call tuoke.00447EE0
  0055BD30    8B85 48FFFFFF       mov eax,dword ptr ss:[ebp-B8]
  0055BD36    50                  push eax
  0055BD37    B9 E0BE5500         mov ecx,tuoke.0055BEE0          ; dd
  0055BD3C    BA ECBE5500         mov edx,tuoke.0055BEEC          ; ASCII "sysetup"
  0055BD41    8BC6                mov eax,esi
  0055BD43    8B38                mov edi,dword ptr ds:[eax]
  0055BD45    FF57 04             call dword ptr ds:[edi+4]
  0055BD48    8D95 44FFFFFF       lea edx,dword ptr ss:[ebp-BC]
  0055BD4E    8B83 FC020000       mov eax,dword ptr ds:[ebx+2FC]
  0055BD54    E8 87C1EEFF         call tuoke.00447EE0
  0055BD59    8B85 44FFFFFF       mov eax,dword ptr ss:[ebp-BC]
  0055BD5F    50                  push eax
  0055BD60    B9 FCBE5500         mov ecx,tuoke.0055BEFC        ; zc
  0055BD65    BA ECBE5500         mov edx,tuoke.0055BEEC       ; ASCII "sysetup"
  0055BD6A    8BC6                mov eax,esi
  0055BD6C    8B30                mov esi,dword ptr ds:[eax]
  0055BD6E    FF56 04             call dword ptr ds:[esi+4]
  0055BD71    8D85 40FFFFFF       lea eax,dword ptr ss:[ebp-C0]
  0055BD77    B9 CCBE5500         mov ecx,tuoke.0055BECC       ; \c301l.dll
  0055BD7C    8B55 FC             mov edx,dword ptr ss:[ebp-4]
  0055BD7F    E8 048FEAFF         call tuoke.00404C88
  0055BD84    8B85 40FFFFFF       mov eax,dword ptr ss:[ebp-C0]
  0055BD8A    BA 02000000         mov edx,2
  0055BD8F    E8 18DCEAFF         call tuoke.004099AC
  0055BD94    B8 08BF5500         mov eax,tuoke.0055BF08     ; 注册成功!
  0055BD99    E8 CE4EEEFF         call tuoke.00440C6C
  0055BD9E    8BC3                mov eax,ebx
  0055BDA0    E8 A39BF0FF         call tuoke.00465948
  
  向上找
  
  0055BC2E    C2 EEFF             retn 0FFEE
  0055BC31    83BD 64FFFFFF 00    cmp dword ptr ss:[ebp-9C],0          //F2下断 F9运行
  
  断下后F8单步
  
  0055BC38    74 1A               je short tuoke.0055BC54           \\判断注册码是否为空,为空跳走
  0055BC3A    8D95 60FFFFFF       lea edx,dword ptr ss:[ebp-A0]
  0055BC40    8B83 FC020000       mov eax,dword ptr ds:[ebx+2FC]
  0055BC46    E8 95C2EEFF         call tuoke.00447EE0
  0055BC4B    83BD 60FFFFFF 00    cmp dword ptr ss:[ebp-A0],0         
  0055BC52    75 0F               jnz short tuoke.0055BC63              \\判断确认码是否为空,为空不跳走
  0055BC54    B8 84BE5500         mov eax,tuoke.0055BE84   ; 注册信息没有填写齐全
  0055BC59    E8 0E50EEFF         call tuoke.00440C6C
  0055BC5E    E9 5E010000         jmp tuoke.0055BDC1
  0055BC63    8D95 5CFFFFFF       lea edx,dword ptr ss:[ebp-A4]
  0055BC69    8B83 04030000       mov eax,dword ptr ds:[ebx+304]
  0055BC6F    E8 6CC2EEFF         call tuoke.00447EE0
  0055BC74    8B85 5CFFFFFF       mov eax,dword ptr ss:[ebp-A4]             \\读假码
  0055BC7A    50                  push eax
  0055BC7B    8D95 54FFFFFF       lea edx,dword ptr ss:[ebp-AC]
  0055BC81    8B83 FC020000       mov eax,dword ptr ds:[ebx+2FC]
  0055BC87    E8 54C2EEFF         call tuoke.00447EE0
  0055BC8C    8B85 54FFFFFF       mov eax,dword ptr ss:[ebp-AC]             \\读确认码
  0055BC92    E8 E9D9EAFF         call tuoke.00409680
  0055BC97    B9 FC200000         mov ecx,20FC
  0055BC9C    99                  cdq
  0055BC9D    F7F9                idiv ecx
  0055BC9F    8BC2                mov eax,edx
  0055BCA1    8D95 58FFFFFF       lea edx,dword ptr ss:[ebp-A8]
  0055BCA7    E8 B0FDFFFF         call tuoke.0055BA5C               //关键call
  0055BCAC    8B95 58FFFFFF       mov edx,dword ptr ss:[ebp-A8]     //此时寄存器出现真注册码
   *******************************************************************************                                                  
                                                EAX 0012F910
                                                ECX 00000001
                                                EDX 0106B54C ASCII "73084457"
                                                EBX 01041434
                                                ESP 0012F91C
  ************************************************************************************
  0055BCB2    58                  pop eax
  0055BCB3    E8 C890EAFF         call tuoke.00404D80                    //比较真假注册码
  0055BCB8    0F85 E9000000       jnz tuoke.0055BDA7                  \\注册成功与否关键跳
                                                               
  0055BCBE    A1 807D5700         mov eax,dword ptr ds:[577D80]
  0055BCC3    8B00                mov eax,dword ptr ds:[eax]
  0055BCC5    8B80 2C040000       mov eax,dword ptr ds:[eax+42C]
  0055BCCB    BA A4BE5500         mov edx,tuoke.0055BEA4             ; 本软件已注册
  
  
  我的确认码是:456789
    假注册码是:444444
    真注册码是:73084457
  注册信息保存在:C:\WINDOWS\system32\C301l.dll
  可以删除C301l.dll(属性是隐藏的)就变成未注册版了
  
  至此可以写内存注册机了,但问题也来了。
  内存注册机
  中断地址:0055BCAC
  中断次数:1
  第一字节:8B
  指令长度:6
  内存方式
  寄存器选EDX
  生成后一运行桌面就被锁死失去反应了,请高手指点,本人第一次遇到这种情况。
  
  
  如果爆破
  0055BCB8    0F85 E9000000       jnz tuoke.0055BDA7
  jnz只能改成jz 不能nop掉否则软件报错
  
  
--------------------------------------------------------------------------------
【经验总结】
  
  软件效验地方和注册算法因技术限制还不能解决,希望老大指点和补充。
  
--------------------------------------------------------------------------------

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

收藏
免费 0
支持
分享
最新回复 (8)
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
贴个注册机

#include <windows.h>
void main()
{
char password1,password2,password3,password4;
int password,name=输入的确认码;
    name=name mod 0x20fc;
    name=name xor 0xb25f1;
//////////以上为注册码前6位
password1=(十进制数)name最高位(十万位);
password2=(十进制数)name万位;
password3=(十进制数)name千位;
password4=(十进制数)name百位;

password=name*100+(((password1+password2) mod 5)+4)*10+(((password3+password4) mod 5)+3);
printf("%d\n",password);
}
2007-10-10 13:26
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
谢谢大侠的注册机,不过我是菜鸟不会用 请说的简单的可以吗
2007-10-10 19:50
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
学习了
2007-10-11 09:05
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
我也遇到这样的问题
nop后程序出错
2007-10-12 16:39
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
我更菜,  我要从基本的学起了。
2007-10-12 18:10
0
雪    币: 224
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
替大大给你顶一个,呵呵~~SCG以你为荣
2007-10-13 10:56
0
雪    币: 856
活跃值: (385)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
强,看来我还是小学一年级
2007-10-13 13:06
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
希望大侠们说说做注册机怎么做,原理,我最多是遇到简单的做个注册补丁,那注册机都不懂怎么弄,请详细说一下,谢谢
2007-10-21 00:28
0
游客
登录 | 注册 方可回帖
返回
//