Actual Search & Replace Version 2.8.5爆破及疑问
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━把疑问说在前面:
软件爆破成功,限制也去掉了,注册也成功了,可是为什么每次还会弹出注册窗口?求教!
汇编学的太少,太粗,没办法跟进注册码。下文代码中的注释为自己臆想所得,不确定正确。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Actual Search & Replace 2.8.5
* 软件大小:662KB
* 软件语言:英文
* 软件授权:共享版
* 运行环境:Winxp/vista/2000/2003
* 下载地址:http://www.divlocsoft.com/actualsr.zip
* 软件介绍:Actual Search & Replace是一个搜寻并取代系统的工具程式,你可设置路径来找寻档案,这程式强调搜寻的单字和片语,并把结果列表出来。此程式的特色有:你可以取代、插入和删除叙述或排列到文件夹;档案修改还原;你可以建立一个包含有关可以找得到档案的档案资讯。
004E7046 64:8910 mov dword ptr fs:,edx
004E7049 EB 47 jmp short ActualSR.004E7092 ; 注册码长度正确的跳转?
004E704B ^ E9 18C4F1FF jmp ActualSR.00403468
004E7050 6A 00 push 0
004E7052 66:8B0D E0714E00mov cx,word ptr ds:
004E7059 B2 01 mov dl,1
004E705B B8 EC714E00 mov eax,ActualSR.004E71EC ; ASCII "Incorrect key"
004E7060 E8 EF39F7FF call ActualSR.0045AA54
004E7065 8B45 F0 mov eax,dword ptr ss:
004E7068 E8 F35AFAFF call ActualSR.0048CB60
004E706D 8B45 F0 mov eax,dword ptr ss:
004E7070 E8 47BFF1FF call ActualSR.00402FBC
004E7075 A1 78954E00 mov eax,dword ptr ds:
004E707A 8B00 mov eax,dword ptr ds:
004E707C C680 70210000 00mov byte ptr ds:,0
004E7083 E8 3CC7F1FF call ActualSR.004037C4
004E7088 E9 1B010000 jmp ActualSR.004E71A8
004E708D E8 32C7F1FF call ActualSR.004037C4
004E7092 8B45 F0 mov eax,dword ptr ss:
004E7095 E8 C65AFAFF call ActualSR.0048CB60
004E709A 8B45 F0 mov eax,dword ptr ss:
004E709D E8 1ABFF1FF call ActualSR.00402FBC
004E70A2 8B55 F8 mov edx,dword ptr ss:
004E70A5 B8 04724E00 mov eax,ActualSR.004E7204 ; ASCII "AcSearch&Replace;"
004E70AA E8 5DD1F1FF call ActualSR.0040420C
004E70AF 8BD8 mov ebx,eax
004E70B1 85DB test ebx,ebx
004E70B3 74 0F je short ActualSR.004E70C4 ;关键跳转,NOP
004E70B5 8B45 F4 mov eax,dword ptr ss: ; 取假码
004E70B8 BA 20724E00 mov edx,ActualSR.004E7220 ; 参与计算注册码的固定字符串 IKiZhZL170UUvtoyVN5ginTgPygyaoVTh1+lRilFhOUMZaSlznNQKzPyWCxer7XsmolMvwx+hj5kblpQ5ZJ6FE
004E70BD E8 6ECFF1FF call ActualSR.00404030
004E70C2 75 58 jnz short ActualSR.004E711C ; key检测关键跳转,ZF=0则跳过incorrect key弹窗,ZF=1则跳死,改为JMP
004E70C4 33C0 xor eax,eax
004E70C6 55 push ebp
004E70C7 68 F1704E00 push ActualSR.004E70F1
004E70CC 64:FF30 push dword ptr fs:
004E70CF 64:8920 mov dword ptr fs:,esp
004E70D2 6A 00 push 0
004E70D4 B8 EC714E00 mov eax,ActualSR.004E71EC ; ASCII "Incorrect key"
004E70D9 66:8B0D E0714E00mov cx,word ptr ds:
004E70E0 B2 01 mov dl,1
004E70E2 E8 6D39F7FF call ActualSR.0045AA54
004E70E7 33C0 xor eax,eax
004E70E9 5A pop edx
004E70EA 59 pop ecx
004E70EB 59 pop ecx
004E70EC 64:8910 mov dword ptr fs:,edx
004E70EF EB 0A jmp short ActualSR.004E70FB
004E70F1 ^ E9 72C3F1FF jmp ActualSR.00403468
004E70F6 E8 C9C6F1FF call ActualSR.004037C4
004E70FB A1 78954E00 mov eax,dword ptr ds:
004E7100 8B00 mov eax,dword ptr ds:
004E7102 C680 70210000 00mov byte ptr ds:,0
004E7109 E9 9A000000 jmp ActualSR.004E71A8
004E710E A1 78954E00 mov eax,dword ptr ds:
004E7113 8B00 mov eax,dword ptr ds:
004E7115 C680 70210000 00mov byte ptr ds:,0
004E711C A1 78954E00 mov eax,dword ptr ds:
004E7121 8B00 mov eax,dword ptr ds:
004E7123 05 68210000 add eax,2168
004E7128 8B55 F4 mov edx,dword ptr ss: ; 取假码
004E712B E8 C4CBF1FF call ActualSR.00403CF4 ; 算注册名
004E7130 A1 78954E00 mov eax,dword ptr ds:
004E7135 8B00 mov eax,dword ptr ds:
004E7137 05 6C210000 add eax,216C
004E713C 50 push eax
004E713D 8B45 F8 mov eax,dword ptr ss:
004E7140 E8 DBCDF1FF call ActualSR.00403F20
004E7145 8BC8 mov ecx,eax
004E7147 2BCB sub ecx,ebx
004E7149 83E9 02 sub ecx,2
004E714C 8D53 11 lea edx,dword ptr ds:
004E714F 8B45 F8 mov eax,dword ptr ss:
004E7152 E8 D1CFF1FF call ActualSR.00404128
004E7157 6A 00 push 0
004E7159 A1 78954E00 mov eax,dword ptr ds:
004E715E 8B00 mov eax,dword ptr ds:
004E7160 8B88 6C210000 mov ecx,dword ptr ds:
004E7166 8D45 E4 lea eax,dword ptr ss:
004E7169 BA 80724E00 mov edx,ActualSR.004E7280 ; ASCII "Registration successful!
User name: "
004E716E E8 F9CDF1FF call ActualSR.00403F6C ; 取注册名
004E7173 8B45 E4 mov eax,dword ptr ss:
004E7176 66:8B0D E0714E00mov cx,word ptr ds:
004E717D B2 02 mov dl,2
004E717F E8 D038F7FF call ActualSR.0045AA54 ; 弹窗注册成功
004E7184 A1 78954E00 mov eax,dword ptr ds:
004E7189 8B00 mov eax,dword ptr ds:
004E718B C680 70210000 01mov byte ptr ds:,1
004E7192 A1 78954E00 mov eax,dword ptr ds:
004E7197 8B00 mov eax,dword ptr ds:
004E7199 C680 71210000 01mov byte ptr ds:,1
004E71A0 8B45 FC mov eax,dword ptr ss:
004E71A3 E8 A897F6FF call ActualSR.00450950
004E71A8 33C0 xor eax,eax
004E71AA 5A pop edx
004E71AB 59 pop ecx
004E71AC 59 pop ecx
004E71AD 64:8910 mov dword ptr fs:,edx
004E71B0 68 D7714E00 push ActualSR.004E71D7
004E71B5 8D45 E4 lea eax,dword ptr ss:
004E71B8 BA 03000000 mov edx,3
004E71BD E8 02CBF1FF call ActualSR.00403CC4 ; 重置注册弹窗
004E71C2 8D45 F4 lea eax,dword ptr ss:
004E71C5 BA 02000000 mov edx,2
004E71CA E8 F5CAF1FF call ActualSR.00403CC4
004E71CF C3 retn
保存运行。输入任意86个字符(字符数多了少了下边几个call程序会死掉),显示:注册成功。
第二次Crack软件,作文纪念。
[ 本帖最后由 zaas 于 2009-8-17 15:18 编辑 ] 试试你说的关键跳前面的CALL,跟进CALL,修改为mov eax,1 retn
004E70AA E8 5DD1F1FF call ActualSR.0040420C
004E70A2 8B55 F8 mov edx,dword ptr ss:
004E70A5 B8 04724E00 mov eax,ActualSR.004E7204 ; ASCII "AcSearch&Replace;"
004E70AA E8 5DD1F1FF call ActualSR.0040420C
这个是 寻找解码后的字符串是否含有 "AcSearch&Replace;"返回出现的首位置
004E70BD E8 6ECFF1FF call ActualSR.00404030
004E70C2 75 58 jnz short ActualSR.004E711C ; key检测关键跳转,ZF=0则跳过incorrect key弹窗,ZF=1则跳死,改为JMP
上面的那个call是检测是否是自带的注册码
实际上注册码就是这串 IKiZhZL170UUvtoyVN5ginTgPygyaoVTh1+lRilFhOUMZaSlznNQKzPyWCxer7XsmolMvwx+hj5kblpQ5ZJ6FE
你只要在那个call里面改下就可以了
修改 00404039 /E9 90000000 jmp ActualSR.004040CE
0040403E |90 nop
然后用那串注册码就可以完美注册了
注册信息在Find.avi里面
[ 本帖最后由 Luckly 于 2009-8-17 15:55 编辑 ] 谢谢两位老大,我这就试试! 经过多次试验,wan老师的方法不能成功。od里边断点设在004E70AA调试的时候貌似可以,但保存重新运行会发现,程序走不到这个call就直接跳死了。据luckly老师所说,此call是寻找解码后的字符串是否含有 "AcSearch&Replace",似乎不是解决问题的关键。
或许是我太愚钝?
luckly老师的方法很巧妙。看到这串字符串的时候我也疑心是注册码,可是试了不行/:001 ,呵呵。原来还有玄机。
看来我要学的东西还很多。。。
[ 本帖最后由 zaas 于 2009-8-17 20:07 编辑 ] /:L 吼吼吼。。 /:001 文章不错,有前途啊,/:good 我那个看你文章来猜的。。。下载来看了下可以在启动时加修改
004DA596 /74 69 je short ActualSR.004DA601 ; 不需注册文件NOP
004DA60D /74 0E je short ActualSR.004DA61D ; 不到启动框nop 感谢 WAN老师的解答。我想多请教一点:
您是如何找到注册窗口的入口的?
或者说怎样下断才能追到004DA60D ?
能给我个思路吗? 根据你给的代码
004E70AA E8 5DD1F1FF call ActualSR.0040420C//跟进CALL下断
004E70AF 8BD8 mov ebx,eax
004E70B1 85DB test ebx,ebx
004E70B3 74 0F je short ActualSR.004E70C4 ;关键跳转,NOP
这些也是信息
004E7102 C680 70210000 00mov byte ptr ds:,0
。。。。。。
004E718B C680 70210000 01mov byte ptr ds:,1
下断那个CALL,单步几次就到了。。。。
页:
[1]
2