製作AUTOcad2002中文網路版的Flexlm license
軟體名稱: AUTOcad2002中文網路版
軟體類別:地球人都知道
軟體介紹:地球人都知道 Flexlm7.1f加密
破解工具:ollydbg 1.10(FLY) ,w32Dasm_2002828_pll621,UltraEdit8.0,Flexlm7.1f SDK,calcseed,lmkg,lmutil等
破解目的:製作無限制使用license檔案
透過這篇文章我們將向你介紹如何製作FlexLm的license,當然有些重複的我省略了
第一部分: 廢話
這個軟體上次爆破了,大家也用的很滿意。前些日子想玩玩Flexlm, 就拿它來開刀,我參考了tulipfan[CCG]大蝦的《製作Compuware.SoftIce.Driver.Suite.3.0.1.StinkyD的license》,有些還照搬了!
第二部分: 轉入正題
破解FlexLm最主要的是找到4樣東西.
1. 確定版本號
2. 找vendor
3. 計算ENCRYPTION_SEED
4. 找FEATURE
有了這幾個,就可以使用FlexLm SDK(如果你有)做出序號產生器了.
btw:FlexLm SDK一般是通用相容的的,比如7.2就可以製作7.1的,甚至有時7.1也可以製作7.2的,關鍵是引數設定。
1. 確定版本號
* 確定版本號可以透過lmutil.exe(tulipfan[CCG]大蝦提供的工具裡有)來確定
* 還有一個辦法就是用二進位制編輯器,推薦使用HexWorkshop,它的查詢功能很強,特別是Find All Instances更是我最最常用的.
在查詢對話方塊Type中選擇型別Text String,Value中輸入"@(#) FLEXlm v",查詢,"@(#) FLEXlm v"後面的就是版本號.
*以上是tulipfan[CCG]大蝦說的
而我的方法是用Flexlm SDK裡的lmtools(在\flexlm\v7.1\i86_n3目錄裡),執行進入Utilities,點選“Browse”查詢你的Flexlm加密的程式主exe,然後“find version”,在下面就會顯示你的Flexlm版本,用v7.1版甚至可以看到8.3版以後,是通用的。
最後確定版本號是7.1f,這一步的目的有兩個,一是在lmkg.exe中生成Vendor資訊時用,二是在寫製作FlexLm的license時使用。
2. 先找FEATURE
我沒有用IDA,太麻煩了,既然有SDK和前人的經驗,我偷個懶。如果你沒有像我的條件就只好去找lc_checkout,其實也不難,我記得在我寫上篇《cad2002中文版的破解[網路驗證及限制使用者]》時,跟蹤時我就看到它的FEATURE和VENDOR,但是當時不明白,只覺得這個值很特別就記下來了“41100ACD_2002_0F”和"adskflex",跟蹤過程我到是忘記了。
我偷懶的辦法,還是用Flexlm SDK裡的lmtools!開啟“Server status”項,點選“Perform status Equiry”,你就會看到伺服器端的正版license.dat內容!
101: SERVER main 001234567890 (我的伺服器網路卡號,我隱去正確的,避免麻煩啊!)
80: VENDOR adskflex port=8080
150: INCREMENT 41100ACD_2002_0F adskflex 1.000 permanent 100 VENDOR_STRING=(中間有很多引數,省略避免麻煩)SIGN=787878787878(我隱去正確的,避免麻煩,為什麼是78 ?)
關聯資訊: 省略
170: (overall file checksum)
看到了嗎!
VENDOR adskflex
INCREMENT 41100ACD_2002_0F,這個INCREMENT其實就是FEATURE,後面那個1.000就是Version
permanent 是使用者數
VENDOR_STRING= 這個也參與計算驗證的
中間有很多引數也參與計算驗證的,省略避免麻煩
SIGN=787878787878 我就不說了
如果你沒有像我的條件就只好去看別的資料學習,很簡單的!
3. 找vendor以及計算seed的關鍵資料
下面引用自tulipfan[CCG]:
“要找vendor_id就需要找到l_sg這個函式了(至於為什麼要找這個函式建議看一些更基礎的文章),在這兒我主要是介紹一下如何定位l_sg函式,這個是FlexLm的一個內部使用的函式. lc_init,lc_checkout都會呼叫它下面是它們的呼叫關係,括號裡面的數字是呼叫的次數,這個是我從7.2i版的demo.exe上跟蹤得到的結果,其他版本可能略有不同.
a. lc_init -> l_init
b. l_init -> l_sg
a. lc_checkout -> l_checkout
b. l_checkout -> lm_start_real(2)
c. lm_start_real -> l_good_lic_key(3)
d. l_good_lic_key -> l_sg(2)
從上面可以看到它們的呼叫關係.
我們可以透過l_sg確定vendor_id和ENCRYPTION_SEED,透過lc_checkout可以確定FEATURE
IDA透過FlexLm的sig檔案可以確定上面的大部分函式,再透過他們的呼叫關係,很容易找到其他函式.
製作FlexLm的批處理檔案和工具包可去CrackZ去下載.
最後定位到l_sg函式”
*************************
各位看官說了,我們上面已經找到了 VENDOR,還麻煩什麼?
嘿嘿,大頭在後面呢!
廢話少說,我們直接反彙編acad.exe(好大啊,我的機子是P42.8,用了10多分鐘),我們查詢“7648B98E”,來到下面,好像就這麼1,2處。前人的經驗就是寶貴啊,我省了很多事!
程式碼:
* Referenced by a CALL at Addresses: |:00945490 , :0094C1EA , :0094C7B0 , :0096383C , :00971159 |:00985C14 | :0094DB50 55 push ebp ====先在這個地方下斷 :0094DB51 8BEC mov ebp, esp :0094DB53 83EC30 sub esp, 00000030 :0094DB56 C745F08EB94876 mov [ebp-10], 7648B98E ====這個數在確定l_sg函式上很有用 :0094DB5D C745EC03000000 mov [ebp-14], 00000003 :0094DB64 8B4508 mov eax, dword ptr [ebp+08] :0094DB67 8B486C mov ecx, dword ptr [eax+6C] :0094DB6A 8B91D4010000 mov edx, dword ptr [ecx+000001D4] :0094DB70 81E200800000 and edx, 00008000 :0094DB76 85D2 test edx, edx :0094DB78 7423 je 0094DB9D ====這個跳,第一次肯定會跳的,迷惑了我一下。 :0094DB7A 833DC4DAB50000 cmp dword ptr [00B5DAC4], 00000000 :0094DB81 741A je 0094DB9D :0094DB83 8B4510 mov eax, dword ptr [ebp+10] :0094DB86 50 push eax :0094DB87 8B4D0C mov ecx, dword ptr [ebp+0C] :0094DB8A 51 push ecx :0094DB8B 8B5508 mov edx, dword ptr [ebp+08] :0094DB8E 52 push edx :0094DB8F FF15C4DAB500 call dword ptr [00B5DAC4] ====在這個地方下斷,之後就是我們要的! :0094DB95 83C40C add esp, 0000000C :0094DB98 E913010000 jmp 0094DCB0
*************************
別急,先做一下準備工作:
*************************
因為我們是網路版,而且以前是正常使用的,就是說我們要去伺服器驗證正版的license.dat,那我們機子裡已經有了LICPATH.LIC檔案,這時我們必須斷開網路!記得以前除錯時沒這麼作,得到的seed1和seed2不對,不知道什麼原因。
但是問題又來了,我們沒有了license.dat,這就要我們做一個假的,格式我不說了看雪的書上很清楚了。
我們根據我們上面得到的正版license.dat內容,做一個假的license.dat,放在acad目錄裡:
***************
FEATURE 41100ACD_2002_0F adskflex 1.000 permanent uncounted \
VENDOR_STRING="Cracked By laoqian[FCG]" HOSTID=ANY \
SIGN=787878787878 (怎麼又是78 !?)
***************
因為斷開網路,所以執行acad會找不到license,我們把它指向我們的假的license.dat,當然是出錯退出!
好,工作開始:
下面我啟動ollydbg 1.10調入acad.exe,在入口停下,直接下bp 0094DB50,bp 0094DB8F
F9執行,中斷在0094DB50。
這時第一次來到:0094DB78 7423 je 0094DB9D時它是要跳過去的,注意要跳就讓他跳吧。我開始時強制不跳,倒是能來到0094DB8F,結果跟出了錯誤的seed1和seed2,而且居然多少次結果還都一樣,邪門了。
再次F9,我們又回來中斷在0094DB50,F8單步執行,這次不跳了,直到過了:0094DB8F,暫停!
我們在命令欄下如下命令,可以看到:(我紀錄了2次的除錯結果)
輸入 dd [esp+4]
**********
00F886CC 6B736461
ESP+4 > 00F886CC ASCII "adskflex"
輸入 dd [esp+8]
****1****
0012F608 00000004
0012F60C 1731E48D data[0]
0012F610 061711DA data[1]
0012F614 A3A37979
0012F618 CC926A64
0012F61C A1136749
0012F620 F174A41F
0012F624 00000000
********2************
0012F608 00000004
0012F60C F3D50069 data[0]
0012F610 E2F3F53E data[1]
0012F614 A3A37979
0012F618 CC926A64
0012F61C A1136749
0012F620 F174A41F
0012F624 00000000
輸入dd [esp]
******1*****
0131B660 00000066
0131B664 0073001F
0131B668 AEF0D6A0 job+08
0131B66C A21343D5 job+0c
0131B670 C156EC2E job+10
0131B674 00000000
********2***********
0131B6C0 00000066
0131B6C4 0073001F
0131B6C8 4A143244 job+08
0131B6CC 46F7A731 job+0c
0131B6D0 25B208CA job+10
這些資料就是我們計算seed1和seed2的關鍵!
3. 計算ENCRYPTION_SEED
使用工具calcseed.exe,輸入上述資訊,計算
ENCRYPTION_SEED0 0x39e414xx =SEED1 為了不給看雪帶來麻煩故意給個錯的
ENCRYPTION_SEED1 0x28c2e1xx =SEED2 為了不給看雪帶來麻煩故意給個錯的
2次結果是一樣的
至此,分析已經基本完成,可以使用SDK寫license.dat
第三部分: 製作license.dat
我們得到資料如下:
Feathure 41100ACD_2002_0F
Version 1.000
#define ENCRYPTION_SEED1 0x39e414xx 為了不給看雪帶來麻煩故意給個錯的
#define ENCRYPTION_SEED2 0x28c2e1xx 為了不給看雪帶來麻煩故意給個錯的
VENDOR adskflex
使用lmkg.exe,選擇version 7.0,在vendor_id輸入"adskflex"得到:
/* Version 7 keys */
#define VENDOR_KEY1 0x2bb24a5b
#define VENDOR_KEY2 0x9d6d840b
#define VENDOR_KEY3 0x0f9b9894
#define VENDOR_KEY4 0x97fc2c5b
#define VENDOR_KEY5 0x7140af80
#define CRO_KEY1 0x2f924853
#define CRO_KEY2 0xdb4fe68d
#define VENDOR_NAME "adskflex"
按照上面的資訊,編輯\flexlm\v7.1\machind\lm_code.h
**********************************
程式碼:
#ifndef LM_CODE_H #define LM_CODE_H #include "lm_cro.h" /* * Pick an LM_STRENGTH. * * If you're not using CRO public-key, then leave this as * LM_STRENGTH_DEFAULT. * If you're upgrading from pre-v7.1, and want no changes, * set this to LM_STRENGTH_LICENSE_KEY. */ #define LM_STRENGTH LM_STRENGTH_DEFAULT /*注意12位的SIGN要這個引數 */ /* * LM_STRENGTH Options are * LM_STRENGTH_DEFAULT Public key protection unused * Use SIGN= attribute * sign length = 12 * Public key: * LM_STRENGTH_113BIT, LOW sign length = 58 chars * LM_STRENGTH_163BIT, MEDIUM sign length = 84 chars * LM_STRENGTH_239BIT, HIGH sign length = 120 chars * * Use pre-v7.1, non-CRO * LM_STRENGTH_LICENSE_KEY Use pre-v7.1 license-keys. * Doesn't use SIGN= attribute. */ /* * Vendor's private seeds, -- replace with 32-bit numbers that * you make up. */ #define ENCRYPTION_SEED1 0x39e414xx /*我們找到的SEED1 */ #define ENCRYPTION_SEED2 0x28c2e1xx /*我們找到的SEED2 */ #define ENCRYPTION_SEED3 0x22222222 /*沒用,不變 */ #define ENCRYPTION_SEED4 0x32323232 /*沒用,不變 */ /* * FLEXlm vendor keys -- enter as received from Globetrotter. * Changing these keys has NO impact on license files (unlike * the ENCRYPTION_SEEDs). */ /*- * Generate these keys with: lmvkey -v demo -d (+3 months) -p ALL -c DEMO * (Use a date approx 3 months out) */ #define VENDOR_KEY1 0x2bb24a5b /*我們算出的 */ #define VENDOR_KEY2 0x9d6d840b /*我們算出的 */ #define VENDOR_KEY3 0x0f9b9894 /*我們算出的 */ #define VENDOR_KEY4 0x97fc2c5b /*我們算出的 */ #define VENDOR_KEY5 0x7140af80 /*我們算出的 */ #define CRO_KEY1 0x2f924853 /* Used to enable CRO -- turned off by default */ #define CRO_KEY2 0xdb4fe68d /* Be sure to reset LM_STRENGTH above if CRO_KEY is non-zero */ /* * FLEXlm vendor name. Leave as "demo" if evaluating FLEXlm. Otherwise * set to your vendor daemon name. */ #define VENDOR_NAME "adskflex" /*我們找到的VENDOR */ /* * Older customers with newer versions may want to set * behavior defaults to previous version, though this is usually * discouraged. Behaviors can be changed individually using * LM_A_xxx in the flexible API. New customers should use the * current default, as set below * * Valid settings include: * LM_BEHAVIOR_V2, _V3, _V4, _V5, _V5_1, _V6, _V7, _V7_1 */ #define LM_VER_BEHAVIOR LM_BEHAVIOR_V7_1 /*這裡因為是FLexLm版本號是7.1f */ #endif /* LM_CODE_H */
**************************************
編輯好了,存檔,OK
開啟\flexlm\v7.1\i86_n3\genlic.exe開始我們的製作吧
1.basic視窗內填好Feathure,選擇permanent打勾,選擇run anywhere
2.進入advance視窗,version內填FEATURE的Version就是1.000,Vendor info填上Cracked by laoqian[FCG]
3.其餘不改了,回到basic視窗,點選make license,然後save你的license.dat檔案
大功告成!
你可以製作各種限制條件的license.dat,隨你便了,我做的是無限制!
第四部分: 感謝(又照搬了tulipfan[CCG])
CrackZ
Nolan Blender
Oleh Yuschuk
tulipfan[CCG]
allenzhu[CCG]
FCG的同仁
和所有看學論壇上的朋友們!
第五部分 ...
tulipfan[CCG]介紹了直接用VC編譯lmcrypt.c的方法,我試了多次總是不成功,真希望他老人家有空詳細說說。
另外,我看了cad2004中文網路版是8.3的,他的在確定l_sg函式上很有用地那個數不同了,也有我找到了,只是我們沒有關於8.3的計算工具calcseed.exe(是否一樣呢),誰有啊?
相關文章
- 【原創】製作AUTOcad2002網路版的Flexlm
license 時的另類pediy,純粹是玩,高手略過!2015-11-15Flex
- 「Premiere中文新手教程」快速製作豎版短視訊2021-11-10REM
- Mac OS 動手製作最新中文 Pro Git PDF 版2014-01-11MacGit
- 製作圓形Swing按鈕(中文版) (轉)2007-12-10
- 網路組網七類水晶頭製作方法,七類網線製作過程2020-06-08
- 製作Compuware.SoftIce.Driver.Suite.3.0.1.StinkyD的license (5千字)2015-11-15UI
- 製作電子表格必備的Excel 2021 for Mac中文版2024-02-01ExcelMac
- 家譜製作軟體:MacFamilyTree 10 for Mac中文版2022-11-22Mac
- 必備的影片後期特效製作軟體:motion 5 for mac中文版2022-08-11特效Mac
- AnyToISO Pro中文直裝版 ISO映象檔案製作綠色版下載2023-12-12
- 製作IOS企業版APP網頁下載2015-07-15iOSAPP網頁
- 網頁製作工具:Freeway Pro for Mac 中文版2023-12-22網頁Mac
- 時間軸攝影影片製作:LRTimelapse mac中文版2023-05-11Mac
- 網站的初步製作2017-11-12網站
- 網路拓撲圖:網路拓撲圖介紹及線上製作2019-05-31
- Ableton Live 11 Suite(音樂製作軟體)11.3.13中文啟用版2023-10-31UI
- 蘋果專業音訊製作軟體:Logic Pro X 中文版2023-10-11蘋果音訊
- 網頁製作時可以拿起就用的網頁製作小技巧總結2019-01-14網頁
- 簡單的網頁製作2017-07-14網頁
- 支援M1晶片 PPT製作模板Keynote for Mac中文免費版2020-12-03晶片Mac
- Submerge for Mac(字幕製作軟體) v3.7中文啟用版2021-01-28Mac
- 網站建設如何利用網際網路熱點製作內容2015-09-12網站
- LRTimelapse for Mac(延時攝影影片製作)6.5.2中文啟用版2023-11-03Mac
- Experience Design for Mac( XD原型製作軟體 ) v57.1.12.2中文啟用版2023-10-24Mac原型
- Ableton Live 12 for mac v12.0中文啟用版 音樂製作軟體2024-03-05Mac
- 「Premiere中文新手教程」視訊彈幕製作2021-11-30REM
- 如何製作網點地圖,網點分佈圖怎麼製作2021-07-15地圖
- 動畫製作工具:Aseprite for mac 中文版2024-01-29動畫Mac
- 網頁外掛製作2010-08-24網頁
- 網頁橫幅製作2010-04-05網頁
- 網頁製作小技巧2009-07-02網頁
- Studio One Pro 6 for Mac/win 中文版引領音樂製作新潮流2023-12-22Mac
- Ableton Live 11 Suite for Mac(音樂製作軟體) v11.3.13中文啟用版2023-10-26UIMac
- After Effects 2023 for Mac(Ae影片特效製作) v23.6中文版2023-11-30Mac特效
- 手機網站的導航製作2012-07-03網站
- 網站製作的基本原則 (轉)2007-11-07網站
- 製作簡單的個人網頁教程2024-03-08網頁
- 用VC++ 6.0製作網路自動測試程式 (轉)2007-12-08C++