首页
社区
课程
招聘
[原创]浅谈胜新系列软件的破解
2004-12-28 13:49 15546

[原创]浅谈胜新系列软件的破解

2004-12-28 13:49
15546
在脱壳论坛看到有人讨论这个软件,就把我前段时间发在D4E论坛的文章发给大家看看,希望能够让大家对胜新系列软件的破解有所帮助
--------------------------------------------------------------------------------

应一个朋友的要求,说要用胜新生产管理软件网络增强版没有办法,只好再次动手,因为很早以前我就破解过胜新的大多数软件,知道这些软件都是不完整版的你如果想能够正常免费使用,必须要重新编译程序文件.先去下载了胜新的通用生产管理系统7.06网络增强版 ,VFP的程序,没有什么好说的,先拿UNFOXall advance 3.0来反编译程序的主文件sxscgl*.exe,Unfoxall告诉你程序不是一个标准的FOX程序,这些的问题一般都是程序主文件加过壳了,比如说老王的壳和AMING的FOXLOCK(但现在网上好象有通用脱壳机,不过我没有见过,不知道效果怎 么样),拿出我们的工具FOXSPY,将主程序在进程中脱壳的文件抓出来(因为VFP的编译过程是伪编译的,所以主程序脱壳后会在进程中)现在有了在进程中的EXE文件,用FOXSPY反出FOX的APP文件,然后用DM的FOXTOOLS来将APP文件 反编译,这样我们就有了这个软件的源码了,现在用VFP打开你存放反编译文件的文件夹中的SXSCGLZC.SCX然后在正版注册上点一下右键,点代码,就可以看到软件注册的代码.如下

if txxlb=0.or.txxlb=5
=messagebox('您使用的是试用版,请购买后再注册!!!',48,tstitle)
retu
endi
if dtoc(thisform.zcrq.value)=' . . '
=messagebox('未输入注册日期,不能注册!',48,tstitle)
retu
endi
if thisform.yhmc.value=""
=messagebox('未输入用户单位名称,不能注册!',48,tstitle)
retu
endi
if thisform.yhkh.value=0
=messagebox('未输入用户卡好,不能注册!',48,tstitle)
retu
endi
if empty(thisform.zcm1.value).or.empty(thisform.zcm2.value).or.empty(thisform.zcm3.value)
=messagebox('未输入注册码或注册码输入不全,不能注册!',48,tstitle)
retu
endi

tzcrq=date()
tdqsyrq=date()
tsycs=1
txlh=0
tbbzt=0
tsfzc=0
txxlb=0

*************xtjc1*********************
dqmmfile=allt(dqpath)+"\czy\"+"a809.ba"
if !file('&dqmmfile')
=messagebox('软件进入异常中断,请向胜新软件发电子邮件求助,本软件技术支持EMAIL:sxsoft@china.com',48,tstitle)
quit
endi
restore from &dqmmfile addi
dqyhmc=allt(thisform.yhmc.value)
dqyhkh=thisform.yhkh.value
dqzcrq=thisform.zcrq.value
dqzcm=allt(thisform.zcm1.value)+"-"+allt(thisform.zcm2.value)+"-"+allt(thisform.zcm3.value)
tzcmxs1=0
tzcmxs2=0
tzcmxs3=0
dqyhkh=allt(str(dqyhkh))
do case
case tbblb=1
tzcmxs1=47
tzcmxs2=54
tzcmxs3=16
case tbblb=2
tzcmxs1=15
tzcmxs2=45
tzcmxs3=65
case tbblb=3
tzcmxs1=82
tzcmxs2=33
tzcmxs3=67
case tbblb=4
tzcmxs1=74
tzcmxs2=88
tzcmxs3=99
case tbblb=5
tzcmxs1=92
tzcmxs2=39
tzcmxs3=10
case tbblb=6
tzcmxs1=11
tzcmxs2=34
tzcmxs3=66
case tbblb=7
tzcmxs1=17
tzcmxs2=19
tzcmxs3=23
case tbblb=8
tzcmxs1=27
tzcmxs2=28
tzcmxs3=39
case tbblb=9
tzcmxs1=29
tzcmxs2=30
tzcmxs3=13
endc
tzcm1=0
for i=1 to len(dqyhmc)
tzcm1=tzcm1+asc(subs(dqyhmc,i,1))
endf
tzcm1=tzcm1*tzcmxs1
if len(allt(str(tzcm1)))>=4
tzcm1=subs(allt(str(tzcm1)),1,4)
else
tzcm1=allt(str(9999-tzcm1))
endi
tzcm2=0
for i=1 to len(dtoc(dqzcrq))
tzcm2=tzcm2+asc(subs(dtoc(dqzcrq),i,1))
endf
tzcm2=tzcm2*tzcmxs2
if len(allt(str(tzcm2)))>=4
tzcm2=subs(allt(str(tzcm2)),1,4)
else
tzcm2=allt(str(9999-tzcm2))
endi
tzcm3=0
for i=1 to len(allt(dqyhkh))
tzcm3=tzcm3+asc(subs(allt(dqyhkh),i,1))
endf
tzcm3=tzcm3*tzcmxs3
if len(allt(str(tzcm3)))>=4
tzcm3=subs(allt(str(tzcm3)),1,4)
else
tzcm3=allt(str(9999-tzcm3))
endi
cszcm=allt(tzcm1)+"-"+allt(tzcm2)+"-"+allt(tzcm3)

if allt(cszcm)<>allt(dqzcm)
=messagebox('您录入的注册信息与注册码不对应,不能注册成功,只有只有严格按胜新软件提供的注册信息及注册码录入才能注册成功!',48,tstitle)
retu
endi
******xtjc2****************************
hyfile=dqpath+"\czy\0830.dat"
if !file('&hyfile')
=messagebox('软件进入异常中断,请向胜新软件发电子邮件求助,本软件技术支持EMAIL:sxsoft@china.com',48,tstitle)
quit
endi
sele 80
zhmuf=rat('\',hyfile)
file_Temp=iif(zhmuf<>0,subs(hyfile,zhmuf+1),hyfile)
path_temp=iif(zhmuf<>0,subs(hyfile,1,zhmuf),hyfile)
thisform.Vfpjmdbf1.jiemi_file=file_Temp
thisform.Vfpjmdbf1.path_ml=path_temp
set excl off
Thisform.Vfpjmdbf1.mtablealias=""
thisform.vfpjmdbf1.pass_kl=dqzcmm
thisform.Vfpjmdbf1.jiEmi
if thisform.Vfpjmdbf1.jmcgyf
hydbf=Alias()
sele &hydbf
copy to defg.dbf
sele yhxx
repl yhmc with allt(dqyhmc)
sele 110
use defg.dbf
repl yhmc with dqyhmc
repl zcrq with dqzcrq
repl yhkh with val(dqyhkh)
repl zcm with dqzcm
jmfile=allt(dqpath)+"\defg.dbf"
zhmuf=rat('\',jmfile)
path_temp=iif(zhmuf<>0,subs(jmfile,1,zhmuf),jmfile)
thisform.Vfpjmdbf1.path_ml=path_temp
thisform.Vfpjmdbf1.jiami_file=''
use (jmfile)
Thisform.Vfpjmdbf1.mtablealias=""
thisform.vfpjmdbf1.pass_kl=dqzcmm
thisform.Vfpjmdbf1.jiami
use
jmfile1=allt(dqpath)+"\defg.dat"
copy file &jmfile1 to &hyfile
dele file &jmfile
dele file &jmfile1
use
else
=messagebox('软件进入异常中断,请向胜新软件发电子邮件求助,本软件技术支持EMAIL:sxsoft@china.com',48,tstitle)
quit
endi
=messagebox('软件注册成功,软件将自动关闭,请重新登录软件!',48,tstitle)
quit
看到这里时你可能会以为只要按照上面的注册算法,就可以算出自己的注册码,那你就错了,因为在网上下载的是试用版,在注册代码第一行说明了tsxlb这个变量是0或者5的时候,程序在注册页面不论你输入正确还是不正确的注册码都会跳出你使用的是试用版,请 购买后再注册,这样我们是不是就没有办法了呢,也不是的,我们可以把最上面的一段IF语句去掉后,再用算出的注册码来注册就会显示注册成功,但我想想反正在网上下载的是试用版,这个注册过程直接就给去掉了,换成一句messagebox(软件已经注册,请 使用吧.',48,tstitle)让这个注册页面根本没有什么作用,但这样你在使用的时候还需要将软件中其它的一些单据输入的表单全部都要做一些改动的,因为你可以用VFP打开例如入库单,出库单时都可以看到这样的代码,如下:
if jccs>100
ts100="您使用的是试用版软件,最多可以保存100张单据,您已超过试用张数,如需要长期 使用本软件请赶快购买并注册本软件,购买办法请查阅软件注册窗口!"
=messagebox('&ts100',48,tstitle)
retu
else
ts100="您使用的是试用版软件,最多可以保存100张单据,您现在保存的是第"+allt(str(jccs))+"张单据,如需要长期使用本软件请赶快购买并注册本软件,购买办法请查阅软件注册窗口!"
=messagebox('&ts100',48,tstitle)
endi
if tsycs>20
=messagebox("本软件最多可以免费试用20天次,您已经超过本软件免费试用期。请赶快购买并注册本软件,注册后您可以长期使用本软件。购买及注册办法详见软件注册功能。",48,tstitle)
RETU
ENDI

这里会让你在使用中还是会跳出要注册的东西,为了不让他跳出来,我们把上面的JSSC>100改为JSSC>1000000,tsycs>20改为tsycs>20000(当然你也可以改成更大的数字,看你喜欢吧)
在将所有有这样的代码的表单全部改过后,再重新编译(记得FOXTOOLS有一个选项是重新REBUILD.PRG文件吗?就是编译这个,具体的VFP编译方法我就不在这里解释了,有不懂的朋友可以在论坛PM我,还有在编译时会出现一些错误提示,这是因为 你所编译的文件和程序原始所编译的文件不在同样的目录中,只要你将存放反编译出为的文件的目录和盘符和出错提示中的改为一致就没有这些错误了(当然这是在我的机器上,如果在你的机器有什么错误提示没有解决,大家可以发给我,我来帮你解决).这里只是对VF P程序的破解做个抛砖引玉,希望大家能够有更好的办法.
上文提到的工具大家可以到看雪论坛的主页去下载(看雪论坛http://www.pediy.com)

阿里云助力开发者!2核2G 3M带宽不限流量!6.18限时价,开 发者可享99元/年,续费同价!

收藏
点赞7
打赏
分享
最新回复 (36)
雪    币: 392
活跃值: (909)
能力值: ( LV9,RANK:690 )
在线值:
发帖
回帖
粉丝
cyclotron 17 2004-12-28 14:25
2
0
呵呵,老大现身了:D
雪    币: 116
活跃值: (220)
能力值: ( LV12,RANK:370 )
在线值:
发帖
回帖
粉丝
xIkUg 9 2004-12-28 15:31
3
0
没看懂呀...

VFP的程序吧?
雪    币: 107
活跃值: (55)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
xy2000 1 2004-12-28 15:44
4
0
最初由 xIkUg 发布
没看懂呀...

VFP的程序吧?

你不说的是废话呀,当然是VFP的了
雪    币: 61
活跃值: (160)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
pendan2001 4 2004-12-28 15:58
5
0
受益非浅啊,支持先!!
雪    币: 5188
活跃值: (2127)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
lucktiger 2004-12-28 16:33
6
0
现在这种方法不行了。
雪    币: 343
活跃值: (611)
能力值: ( LV9,RANK:810 )
在线值:
发帖
回帖
粉丝
ForEver 20 2004-12-28 19:37
7
0
xy现身了:D
雪    币: 85496
活跃值: (198820)
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
linhanshi 2004-12-28 21:25
8
0
支持!!!
雪    币: 240
活跃值: (130)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
phoenix[ne] 1 2004-12-28 22:46
9
0
老大很久没看见了。
雪    币: 107
活跃值: (55)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
xy2000 1 2004-12-29 09:30
10
0
最初由 lucktiger 发布
现在这种方法不行了。

用了新版的VFP&EXE加壳后还是可以在进程中抓出文件的,只是老王做了一些手脚.如果你要反编译的话,还需要修复一下文件.
雪    币: 208
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
小明ANGEI 2004-12-29 10:20
11
0
受益非浅啊````万分感谢```

因为我是学VB的还是看的懂大多数的语句呵呵```
雪    币: 123
活跃值: (101)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
juexing 2004-12-29 10:31
12
0
老大出马了。
雪    币: 295
活跃值: (501)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
fengxu 1 2004-12-29 13:16
13
0
请教老大和各位兄弟一个问题:有用VB调用VFP写程序的吗?前些天跟踪一个叫姓名奥秘的软件,程序入口象是VB,但里面却大多数时间在VFP8R.DLL里打转转,动态跟踪我一直无法找到主程序的注册部分,郁闷......
雪    币: 107
活跃值: (55)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
xy2000 1 2004-12-29 13:19
14
0
最初由 fengxu 发布
请教老大和各位兄弟一个问题:有用VB调用VFP写程序的吗?前些天跟踪一个叫姓名奥秘的软件,程序入口象是VB,但里面却大多数时间在VFP8R.DLL里打转转,动态跟踪我一直无法找到主程序的注册部分,郁闷......

有的,这样的软件破解比较烦的
雪    币: 239
活跃值: (220)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
mejy 3 2004-12-29 13:27
15
0
难得一见!把xy顶飞了!
雪    币: 339
活跃值: (1510)
能力值: ( LV13,RANK:970 )
在线值:
发帖
回帖
粉丝
nbw 24 2004-12-29 17:48
16
0
性欲2k来发喜糖了。。。。。。。。。。:D :D :D :D :D
雪    币: 222
活跃值: (40)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
海角虹楼 2004-12-29 19:30
17
0
最初由 xy2000 发布
在脱壳论坛看到有人讨论这个软件,就把我前段时间发在D4E论坛的文章发给大家看看,希望能够让大家对胜新系列软件的破解有所帮助
--------------------------------------------------------------------------------

应一个朋友的要求,说要用胜新生产管理软件网络增强版没有办法,只好再次动手,因为很早以前我就破解过胜新的大多数软件,知道这些软件都是不完整版的你如果想能够正常免费使用,必须要重新编译程序文件.先去下载了胜新的通用生产管理系统7.06网络增强版 ,VFP的程序,没有什么好说的,先拿UNFOXall advance 3.0来反编译程序的主文件sxscgl*.exe,Unfoxall告诉你程序不是一个标准的FOX程序,这些的问题一般都是程序主文件加过壳了,比如说老王的壳和AMING的FOXLOCK(但现在网上好象有通用脱壳机,不过我没有见过,不知道效果怎 么样),拿出我们的工具FOXSPY,将主程序在进程中脱壳的文件抓出来(因为VFP的编译过程是伪编译的,所以主程序脱壳后会在进程中)现在有了在进程中的EXE文件,用FOXSPY反出FOX的APP文件,然后用DM的FOXTOOLS来将APP文件 反编译,这样我们就有了这个软件的源码了,现在用VFP打开你存放反编译文件的文件夹中的SXSCGLZC.SCX然后在正版注册上点一下右键,点代码,就可以看到软件注册的代码.如下

........


这是浅谈吗:D
雪    币: 223
活跃值: (105)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
SubtWay+0 2 2004-12-29 20:21
18
0
学习学习学习
雪    币: 210
活跃值: (40)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
夏克 2004-12-30 11:36
19
0
楼主能否发个FOXSPY给我,huxiaoyong@tom.com
雪    币: 258
活跃值: (230)
能力值: ( LV12,RANK:770 )
在线值:
发帖
回帖
粉丝
qiweixue 19 2004-12-30 19:02
20
0
顶XY老大!!!哇哈哈!!!
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
hyx2002 2004-12-31 12:09
21
0
foxspy找不到
雪    币: 212
活跃值: (70)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
sadan 1 2004-12-31 13:42
22
0
顶了 支持老大!!:D
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
ybxwzw 2005-1-15 17:31
23
0
请前辈发一个FOXSPY给我好吗?zww888@tom.com
雪    币: 400
活跃值: (239)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
marswu 4 2005-1-15 20:08
24
0
老大文章,先收藏了!!
雪    币: 205
活跃值: (16)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
侠盗 2005-1-16 03:30
25
0
老大能提供 FOXSPY 的下载吗?我到网上搜索一下,没有找到。
游客
登录 | 注册 方可回帖
返回