- UID
- 2648
注册时间2005-8-5
阅读权限30
最后登录1970-1-1
龙战于野
TA的每日心情 | 开心 2022-11-22 20:08 |
---|
签到天数: 2 天 [LV.1]初来乍到
|
【作者】machenglin[[CZG][D.4S]]
【E-mail】[email protected]
【文章题目】公安机关案件管理系统算法分析
【软件名称】公安机关案件管理系统v3.02
【下载地址】http://nc.onlinedown.net/down/police32.exe
【加密方式】无
【破解工具】flyODBG、PEiD、FoxTools
【软件限制】注册+时间+次数
【破解难度】+++初级+++
【破解平台】WinXP SP2
【软件简介】
公安机关案件管理系统集“录入、查询、统计、打印”四大功能于一身,使公安机关,不管是刑警队还
是派出所的案件管理从此步入一个全自动化的新阶段。强大的功能化解了一切繁琐,人性化的设计让您
耳目一新,简单易用的操作方式让您快速上手。密码管理、锁屏保护、自动统计等多种功能既保障了安
全又方便了操作。公安机关案件管理系统是各级公安机关案件管理最实用最理想的必备工具软件。
v3.02版新加入十种公安常用法律文书的自动填表程序。
------------------------------------------------------------------------------------------
【破解过程】
用PEiD v0.93查壳,无壳。为Microsoft Visual C++ 5.0 文件,在目录下看其他文件是VFP文件,试用
FoxTools反编译后,得到ZHUCE.sct文件,作者软件告诉了我们,有关注册的部分都在这里了。UE打开
这个文件,看到如下注册码的详细计算公式:
if "1a2b3c00"$thisform.text1.value
ooo=1
endif
hh=len(alltrim(thisform.text1.value))
ii=alltrim(thisform.text1.value)
do case
case hh=4
reg1=subst(ltrim(str((asc(subst(ii,1))*8+3337))),1,3)
reg2=subst(ltrim(str((asc(subst(ii,1))*3+22223))),1,3)
reg3="168"
reg4=subst(ltrim(str((asc(subst(ii,3,4))*2+12127))),1,3)
reg5=subst(ltrim(str((asc(subst(ii,3,4))*4+97423))),1,3)
case hh=6
reg1=subst(ltrim(str((asc(subst(ii,3,4))*4+17423))),1,3)
reg2=subst(ltrim(str((asc(subst(ii,1,2))*2+93423))),1,3)
reg3=subst(ltrim(str((asc(subst(ii,5,6))*1+92423))),1,3)
reg4=subst(ltrim(str((asc(subst(ii,1,2))*5+6703))),1,3)
reg5=subst(ltrim(str((asc(subst(ii,5,6))*6+97423))),1,3)
case hh=8
reg1=subst(ltrim(str((asc(subst(ii,1,2))*4+97423))),1,3)
reg2=subst(ltrim(str((asc(subst(ii,7,8))*4+37423))),1,3)
reg3=subst(ltrim(str((asc(subst(ii,1,2))*2+97423))),1,3)
reg4=subst(ltrim(str((asc(subst(ii,5,6))*4+17424))),1,3)
reg5=subst(ltrim(str((asc(subst(ii,3,4))*5+97423))),1,3)
case hh=10
reg1=subst(ltrim(str((asc(subst(ii,1,2))*4+27423))),1,3)
reg2=subst(ltrim(str((asc(subst(ii,4,5))*1+31423))),1,3)
reg3=subst(ltrim(str((asc(subst(ii,9,10))*2+12420))),1,3)
reg4=subst(ltrim(str((asc(subst(ii,2,3))*4+57423))),1,3)
reg5=subst(ltrim(str((asc(subst(ii,1,2))*8+37452))),1,3)
case hh=12
reg1=subst(ltrim(str((asc(subst(ii,1,2))*4+37423))),1,3)
reg2=subst(ltrim(str((asc(subst(ii,4,5))*4+34423))),1,3)
reg3=subst(ltrim(str((asc(subst(ii,9,10))*5+96420))),1,3)
reg4=subst(ltrim(str((asc(subst(ii,2,3))*4+87423))),1,3)
reg5=subst(ltrim(str((asc(subst(ii,11,12))*5+87422))),1,3)
case hh=14
reg1=subst(ltrim(str((asc(subst(ii,11,12))*4+23423))),1,3)
reg2=subst(ltrim(str((asc(subst(ii,4,5))*3+31423))),1,3)
reg3=subst(ltrim(str((asc(subst(ii,3,4))*2+36420))),1,3)
reg4=subst(ltrim(str((asc(subst(ii,13,14))*4+37423))),1,3)
reg5=subst(ltrim(str((asc(subst(ii,1,2))*5+47422))),1,3)
case hh=16
reg1=subst(ltrim(str((asc(subst(ii,13,14))*4+23423))),1,3)
reg2=subst(ltrim(str((asc(subst(ii,4,5))*6+41423))),1,3)
reg3=subst(ltrim(str((asc(subst(ii,15,16))*2+46420))),1,3)
reg4=subst(ltrim(str((asc(subst(ii,2,3))*6+17423))),1,3)
reg5=subst(ltrim(str((asc(subst(ii,1,2))*5+36422))),1,3)
case hh=18
reg1=subst(ltrim(str((asc(subst(ii,13,14))*4+23423))),1,3)
reg2=subst(ltrim(str((asc(subst(ii,4,5))*6+11423))),1,3)
reg3=subst(ltrim(str((asc(subst(ii,15,16))*2+46420))),1,3)
reg4=subst(ltrim(str((asc(subst(ii,2,3))*6+37423))),1,3)
reg5=subst(ltrim(str((asc(subst(ii,17,18))*3+36422))),1,3)
case hh=20
reg1=subst(ltrim(str((asc(subst(ii,19,20))*4+23423))),1,3)
reg2=subst(ltrim(str((asc(subst(ii,4,5))*6+21423))),1,3)
reg3=subst(ltrim(str((asc(subst(ii,15,16))*2+66420))),1,3)
reg4=subst(ltrim(str((asc(subst(ii,2,3))*6+91423))),1,3)
reg5=subst(ltrim(str((asc(subst(ii,17,18))*3+32422))),1,3)
case hh=22
reg1=subst(ltrim(str((asc(subst(ii,19,20))*3+23423))),1,3)
reg2=subst(ltrim(str((asc(subst(ii,21,22))*6+21423))),1,3)
reg3=subst(ltrim(str((asc(subst(ii,15,16))*2+66420))),1,3)
reg4=subst(ltrim(str((asc(subst(ii,2,3))*3+91423))),1,3)
reg5=subst(ltrim(str((asc(subst(ii,7,8))*3+32422))),1,3)
case hh=24
reg1=subst(ltrim(str((asc(subst(ii,9,10))*4+23423))),1,3)
reg2=subst(ltrim(str((asc(subst(ii,4,5))*6+24585))),1,3)
reg3=subst(ltrim(str((asc(subst(ii,15,16))*3+66420))),1,3)
reg4=subst(ltrim(str((asc(subst(ii,23,24))*6+91423))),1,3)
reg5=subst(ltrim(str((asc(subst(ii,17,18))*1+32422))),1,3)
case hh>=26
reg1=subst(ltrim(str((asc(subst(ii,25,25))*4+23423))),1,3)
reg2=subst(ltrim(str((asc(subst(ii,4,5))*6+31423))),1,3)
reg3=subst(ltrim(str((asc(subst(ii,17,18))*2+66420))),1,3)
reg4=subst(ltrim(str((asc(subst(ii,2,3))*3+91423))),1,3)
reg5=subst(ltrim(str((asc(subst(ii,17,18))*3+12547))),1,3)
endcase
thisform.refresh
if alltrim(thisform.text2.value)==reg1.and.alltrim(thisform.text3.value)
==reg2.and.alltrim(thisform.text4.value)==reg3.and.alltrim(thisform.text5.value)
==reg4.and.alltrim(thisform.text6.value)==reg5
messagebox("感谢您注册!",64,"成功:")
thisform.caption="授权 "+ii+" 专用!"
thisform.text1.value=ii
thisform.text2.value=reg1
thisform.text3.value=reg2
thisform.text4.value=reg3
thisform.text5.value=reg4
thisform.text6.value=reg5
thisform.text1.enabled=.f.
thisform.command1.enabled=.f.
thisform.command3.enabled=.f.
thisform.command2.setfocus
thisform.refresh
do form bbb
thisform.release
use us
go 3
repl a with ii
repl c with "警12"
repl d with .t.
skip
repl f with reg1+reg2+reg3+reg4+reg5
use
if file("Neic.fpt")
erase Neid.fpt
copy file us.dbf to Neic.fpt
endif
use data
replace 办案单位 with ii all
use
quit
else
messagebox("错误的注册码!",0+48,"警告:")
rrr=rrr+1
if rrr=3.and.ooo=1
input to mni
if type("mni")="C"
mni=11
endif
注册名必须在大于4位,小于30位。
------------------------------------------------------------------------------------------
试练[CZG]/[D.4S]的12位用户名、用上面的公式计算得到注册号。
用户名:[CZG]/[D.4S]
注册号:377-347-966-876-878
REG1=[=91*4+37423=37787=377
REG2=G=71*4+34423=34707=347
REG3=.=46*5+96420=96650=966
REG4=C=67*4+87423=87691=876
REG5=S=83*5+87422=87837=878
将程序拖到flyODBG,停在00401760处,F9运行。在弹出的注册对话框输入用户名、注册号。确定“注
册”,弹出注册成功对话框“感谢您注册”。(messagebox("感谢您注册!",64,"成功:")确认后,程
序自动退出。
重新启动后,程序执行"thisform.caption="授权 "+ii+" 专用!"后,成为[CZG]/[D.4S]的专用版,登
陆后在帮助--->关于中有"本产品的使用权属于:[CZG]/[D.4S]字样,看来破解是成功的。
------------------------------------------------------------------------------------------
【破解声明】我是一只老菜鸟,偶得一点心得,愿与大家分享:)
[ Last edited by machenglin on 2005-8-8 at 04:57 PM ] |
|