人事資訊綜合管理系統 Ver3.2 (完全版本)的破解過程 (7千字)

看雪資料發表於2002-01-20

人事資訊綜合管理系統 Ver3.2  (完全版本)的破解過程
破解:zyw[BCG]
軟體簡介:軟體以中組部《幹部履歷表》為藍本,軟體實行註冊使用,對註冊使用者提供無限制升級服務。主程式的升級不會影響資料的安全。該軟體可以穩定執行於Windows9X、Me、Windows2000 、Windows XP
下載地址:http://my8995.myetang.com/down/pdhs.exe  3760kb
註冊價格:50 元/套目標:找出註冊碼
破解工具:language2000 ,UnFoxAll ,Ultraedit ,
目標:找出成為合法的註冊使用者的註冊碼
++++++++++++++++++++++++++++++++++++++++++++++++++++++
安裝完畢後想用language2000檢視一下,在開啟時看主檔案是一個狐狸頭,language2000報是vc++程式,用UnFoxAll 2.00版反編譯成功,有一個rs_zhuce.sct檔案,用Ultraedit開啟源程式:

......

Caption = "開始註冊"
MousePointer = 99
MouseIcon = hand-m.cur
Name = "Command2"
  PROCEDURE Click
text_sn=thisform.text1.value+thisform.text2.value+thisform.text3.value+thisform.text4.value
if len(alltrim(text_sn))=16.and.int(val(substr(soft_sn,13,1)))+int(val(substr(soft_sn,14,1)))<=14
    sn_sub=int(val(substr(soft_sn,13,1)))+int(val(substr(soft_sn,14,1)))
    if sn_sub<>0
      sn=substr(text_sn,sn_sub,1)
      else
      sn=substr(text_sn,15,1)&&如果取值為0,第15位是Z
    endif 
do case
  case int(val(substr(soft_sn,13,1)))+int(val(substr(soft_sn,14,1)))=0.and.sn='Z'.and.substr(text_sn,16,1)='0'
        =messagebox('註冊成功。祝賀您成為合法的註冊使用者,您將獲得無限制的免費升級服務。',0+64,'提示')
        select rs_user
        replace sp with .t.
        sp_time=.t.
  case int(val(substr(soft_sn,13,1)))+int(val(substr(soft_sn,14,1)))=1.and.sn='A'.and.substr(text_sn,16,1)='1'
        =messagebox('註冊成功。祝賀您成為合法的註冊使用者,您將獲得無限制的免費升級服務。',0+64,'提示')
        select rs_user
        replace sp with .t.
        sp_time=.t. 
  case int(val(substr(soft_sn,13,1)))+int(val(substr(soft_sn,14,1)))=2.and.sn='B'.and.substr(text_sn,16,1)='2'
        =messagebox('註冊成功。祝賀您成為合法的註冊使用者,您將獲得無限制的免費升級服務。',0+64,'提示')
        select rs_user
        replace sp with .t.
        sp_time=.t.       
  case int(val(substr(soft_sn,13,1)))+int(val(substr(soft_sn,14,1)))=3.and.sn='C'.and.substr(text_sn,16,1)='3'
        =messagebox('註冊成功。祝賀您成為合法的註冊使用者,您將獲得無限制的免費升級服務。',0+64,'提示')
        select rs_user
        replace sp with .t.
        sp_time=.t.       
  case int(val(substr(soft_sn,13,1)))+int(val(substr(soft_sn,14,1)))=4.and.sn='D'.and.substr(text_sn,16,1)='4'
        =messagebox('註冊成功。祝賀您成為合法的註冊使用者,您將獲得無限制的免費升級服務。',0+64,'提示')
        select rs_user
        replace sp with .t.
        sp_time=.t.       
  case int(val(substr(soft_sn,13,1)))+int(val(substr(soft_sn,14,1)))=5.and.sn='E'.and.substr(text_sn,16,1)='5'
        =messagebox('註冊成功。祝賀您成為合法的註冊使用者,您將獲得無限制的免費升級服務。',0+64,'提示')
        select rs_user
        replace sp with .t.
        sp_time=.t.       
  case int(val(substr(soft_sn,13,1)))+int(val(substr(soft_sn,14,1)))=6.and.sn='F'.and.substr(text_sn,16,1)='6'
        =messagebox('註冊成功。祝賀您成為合法的註冊使用者,您將獲得無限制的免費升級服務。',0+64,'提示')
        select rs_user
        replace sp with .t.
        sp_time=.t.       
  case int(val(substr(soft_sn,13,1)))+int(val(substr(soft_sn,14,1)))=7.and.sn='G'.and.substr(text_sn,16,1)='7'
        =messagebox('註冊成功。祝賀您成為合法的註冊使用者,您將獲得無限制的免費升級服務。',0+64,'提示')
        select rs_user
        replace sp with .t.
        sp_time=.t.       
  case int(val(substr(soft_sn,13,1)))+int(val(substr(soft_sn,14,1)))=8.and.sn='H'.and.substr(text_sn,16,1)='8'
        =messagebox('註冊成功。祝賀您成為合法的註冊使用者,您將獲得無限制的免費升級服務。',0+64,'提示')
        select rs_user
        replace sp with .t.
        sp_time=.t.       
  case int(val(substr(soft_sn,13,1)))+int(val(substr(soft_sn,14,1)))=9.and.sn='I'.and.substr(text_sn,16,1)='9'
        =messagebox('註冊成功。祝賀您成為合法的註冊使用者,您將獲得無限制的免費升級服務。',0+64,'提示')
        select rs_user
        replace sp with .t.
        sp_time=.t.       
  case int(val(substr(soft_sn,13,1)))+int(val(substr(soft_sn,14,1)))=10.and.sn='J'.and.substr(text_sn,16,1)='0'
        =messagebox('註冊成功。祝賀您成為合法的註冊使用者,您將獲得無限制的免費升級服務。',0+64,'提示')
        select rs_user
        replace sp with .t.
        sp_time=.t.       
  case int(val(substr(soft_sn,13,1)))+int(val(substr(soft_sn,14,1)))=11.and.sn='K'.and.substr(text_sn,16,1)='1'
        =messagebox('註冊成功。祝賀您成為合法的註冊使用者,您將獲得無限制的免費升級服務。',0+64,'提示')
        select rs_user
        replace sp with .t.
        sp_time=.t.       
  case int(val(substr(soft_sn,13,1)))+int(val(substr(soft_sn,14,1)))=12.and.sn='L'.and.substr(text_sn,16,1)='2'
        =messagebox('註冊成功。祝賀您成為合法的註冊使用者,您將獲得無限制的免費升級服務。',0+64,'提示')
        select rs_user
        replace sp with .t.
        sp_time=.t.       
  case int(val(substr(soft_sn,13,1)))+int(val(substr(soft_sn,14,1)))=13.and.sn='M'.and.substr(text_sn,16,1)='3'
        =messagebox('註冊成功。祝賀您成為合法的註冊使用者,您將獲得無限制的免費升級服務。',0+64,'提示')
        select rs_user
        replace sp with .t.
        sp_time=.t.       
  case int(val(substr(soft_sn,13,1)))+int(val(substr(soft_sn,14,1)))=14.and.sn='N'.and.substr(text_sn,16,1)='4'
        =messagebox('註冊成功。祝賀您成為合法的註冊使用者,您將獲得無限制的免費升級服務。',0+64,'提示')
        select rs_user
        replace sp with .t.
        sp_time=.t.       
  OTHERWISE
        =messagebox('註冊序號不正確,無法完成註冊,請索取正確的註冊號',0+16,'提示') 
  endcase
else
    =messagebox('註冊序號不正確或不完整,無法完成註冊,請索取正確的註冊號',0+16,'提示')   
endif
thisform.release

......

程式根據安裝序號(隨機出)對應註冊碼,本機安裝序號是:20020112120831
分析:1 看安裝序號soft_sn第13,14位相加為幾? 本機的是:3+1=4
      2 到條件是4的case看
case int(val(substr(soft_sn,13,1)))+int(val(substr(soft_sn,14,1)))=4.and.sn='D'.and.substr(text_sn,16,1)='4'
        =messagebox('註冊成功。祝賀您成為合法的註冊使用者,您將獲得無限制的免費升級服務。',0+64,'提示')
        select rs_user
        replace sp with .t.
        sp_time=.t.       
成功條件:註冊碼中有字元"D" (sn="D") and 註冊碼第16位=4

向上看
text_sn=thisform.text1.value+thisform.text2.value+thisform.text3.value+thisform.text4.value
以上一句是:註冊碼值的演算法

if len(alltrim(text_sn))=16.and.int(val(substr(soft_sn,13,1)))+int(val(substr(soft_sn,14,1)))<=14
以上一句是:註冊碼位位都要輸入 and ????(不知什麼用)

    sn_sub=int(val(substr(soft_sn,13,1)))+int(val(substr(soft_sn,14,1)))
以上一句是:sn_sub=安裝序號的第13,14位相加取整 本機的是:3+1=4

    if sn_sub<>0
      sn=substr(text_sn,sn_sub,1)
以上二句是:sn值的演算法 本機的sn是"D" 則sn=substr(test_sn,4,1)="D"

推斷出註冊碼值可能是:000D-0000-0000-0004 ?

輸入該碼,成功註冊!!! 朋友可對號入座(case),便能註冊^_^

總結一下:  Name    :zyw[BCG]
            安裝序號:20020112120831
            註冊碼  :000D-0000-0000-0004
     
  文章純粹研究該軟體的註冊過程,已很久無釋出資訊了,看了一下論壇有很多的新朋友,真是可喜可賀!
最後,恭祝大家新年快樂!萬事勝意!今天“大寒”,廣州市很冷******
        破解人:        zywicbc
                Beginner's Cracking Group
            2001.01.12  18:30

相關文章