首页
社区
课程
招聘
[讨论]菜鸟的第一次破解 [提示注册成功,重启后还没注册] 请高手指点
发表于: 2005-1-12 17:23 5375

[讨论]菜鸟的第一次破解 [提示注册成功,重启后还没注册] 请高手指点

2005-1-12 17:23
5375
首先,我是菜鸟,我刚看了几篇文章,觉得还是动手锻炼一下比较好,于是,我从单位购买的正版工资软件(绝对正版)开始,因为我觉得它应该不会加壳,编程语言应该是VB。
该程序有注册菜单项,注册成功后会消失。
我不会别的,觉得静态反汇编比较简单,就从这里着手。
源程序我上传到这里:http://cccp999.ys168.com

过程如下:
1、用w32dasm载入,果真没有加壳,语言为VB

2、我用的w32dasm不支持中文,找了好几个版本也不行,最后改用c32asm

3、查找字符串“注册码不正确”,到这里:

::00573BBC::  B9 04000280              MOV ECX,80020004                        \:BYJMP JmpBy:005737DE,
::00573BC1::  B8 0A000000              MOV EAX,A                              
::00573BC6::  894D 88                  MOV [EBP-78],ECX                        
::00573BC9::  894D 98                  MOV [EBP-68],ECX                        
::00573BCC::  894D A8                  MOV [EBP-58],ECX                        
::00573BCF::  8D95 50FFFFFF            LEA EDX,[EBP-B0]                        
::00573BD5::  8D4D B0                  LEA ECX,[EBP-50]                        
::00573BD8::  8945 80                  MOV [EBP-80],EAX                        
::00573BDB::  8945 90                  MOV [EBP-70],EAX                        
::00573BDE::  8945 A0                  MOV [EBP-60],EAX                        
::00573BE1::  C785 58FFFFFF 78114400   MOV DWORD PTR [EBP-A8],441178               \->: 注册码不正确

3、向上查找跳转语句的源头到005737DE这里
::005737D7::  66:399D 0CFFFFFF         CMP [EBP-F4],BX                        
::005737DE::  0F84 D8030000            JE 00573BBC                             \:JMPDOWN

4、将 0F84 改为0F85 (就是把 JE 改为 JNE),保存

5、运行程序,输入注册码,提示成功,要求重启。

6、重启后发现注册信息提示还是未注册,注册菜单仍然存在。

7、郁闷到现在!

请高手指点一下。

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

收藏
免费 0
支持
分享
最新回复 (14)
雪    币: 208
活跃值: (55)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
2
其他地方还有比较,你没有打扫干净,呵呵
2005-1-12 17:38
0
雪    币: 203
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
兄弟能否指点一二
我找个地方把程序传上去?
2005-1-12 17:43
0
雪    币: 229
活跃值: (41)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
:D 兄弟爆的也太简单了吧!~~~
2005-1-12 17:46
0
雪    币: 203
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
呵呵,我就是从昨天才开始研究的
要不咋说是超级菜鸟呢
源文件我放在了
http://cccp999.ys168.com
上,欢迎各位朋友指点一下,让菜鸟学点东东。
2005-1-12 17:51
0
雪    币: 204
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
http://cccp999.ys168.com
上不去。。。。。。。。。。。。
2005-1-12 19:07
0
雪    币: 203
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
我这可以啊
试试这个地址
http://free.ys168.com/?cccp999
注意火狐浏览器无法访问
2005-1-12 19:09
0
雪    币: 176
活跃值: (117)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
8
断__vbaStrComp吧

用户名:larblue
SN:Nx0rpfvfEhmbv
2005-1-12 20:18
0
雪    币: 176
活跃值: (117)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
9
补充下
软件每次启动后会检测gz.ini
这个文件

注册信息保存在最下面
如果要爆破的话这里也要爆

[Register]
Licence=larblue
Serial=Nx0rpfvfEhmbv
2005-1-12 20:23
0
雪    币: 203
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
先谢了,本就有注册码,主要是为了学习技术而破的
我再去研究研究
2005-1-12 20:28
0
雪    币: 176
活跃值: (117)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
11
给你个提示
用OD动态调试

载入后运行用命令行下断点 bp __vbaStrComp
输入用户、序列号

点确定立即被拦住了

这时能看见输入的用户名按F9
这时又断住可以看见用户名被转成16进制然后每字节16进制加32再按F9
可以看到真假注册码比较
真注册码是上面的用户名转化后去掉第一位
。。。
以后的自己琢磨吧
2005-1-12 20:49
0
雪    币: 203
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
本想只靠静态反汇编搞定,因为我刚学,别的还不会
看来不行
先装个OD研究研究
2005-1-12 21:04
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
最初由 larblue 发布
给你个提示
用OD动态调试

载入后运行用命令行下断点 bp __vbaStrComp
输入用户、序列号
........


怪了,我在98下用trw2000无法用__vbaStrComp断下程序,在xp
上用od也无法用__vbaStrComp断下程序,程序总是自顾自的跳出“注册码不正确”的对话框,我倒!!!什么问题啊
2005-1-13 14:34
0
雪    币: 203
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
好像不是 bp __vbaStrComp
而因该是 bp __vbaStrCmp
2005-1-13 17:06
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
:o 总算搞定了,弄了半天后,发现不能中断的原因居然是内存中有一个和msvbvm60.dll中的函数一样的expsrv.dll文件存在,比如下断__vbaStrComp,因为在expsrv.dll中也有一个__vbaStrComp,而trw2000设的断点就在expsrv.dll中,所以应用程序用到msvbvm60中的__vbaStrComp时就没法断下来了,解决办法是下断点是指明断点模块,比如bpx msvbvm60!__vbsStrComp这样就能正常断下来了,呵呵。
[Register]
Licence=xiaoyong
Serial=hxYBus@smhs&uwf
2005-1-13 22:32
0
游客
登录 | 注册 方可回帖
返回
//