痞酷網_PIGOO

 找回密碼
 立即註冊
!!! [系統偵測到廣告阻擋軟體] !!!

如果您覺得痞酷網對您有些許幫助,或者您認同痞酷網的理想,

那麼希望您將痞酷網設定為白名單.

並請在上論壇的時候,動動您的手指,用行動支持我們.

謝謝!
查看: 4344|回復: 0

COSMIC for STM8S C Compiler 32k Limited DIY 評證

[複製鏈接]
發表於 2014-12-15 04:31:20 | 顯示全部樓層 |閱讀模式
本文章最後由 jojoling 於 2014-12-15 05:08 AM 編輯

來為這場電影,來個 happy ending吧~

做為有名的  FlexNet(or Flexlm),其實網路上的研究資料一大堆,且資料都可追朔到10幾年前~
如大神 CrackZ 這個人將此加密機制分解透測,如有興趣的話,可用 google "flexlm CrackZ" 及可查到~

簡單描述一下:
Flexlm 加密可簡單歸類為2種,此為傳統的第一類~可經由演算法,簡單的得知加密種子~
另一類是  ECC (橢圓曲線密碼學 , Elliptic curve cryptography , 縮寫為ECC),就是屬於非對稱的運算,意思就是說,反向運算時,運算時間複雜度很高。
反正就是數學題啦。

這篇最後有一些資料描述~
本人文筆太差,又了解沒那麼透徹,只是從網路取得資料而完成此一DIY~就不傷大家的眼了~

{:14_1484:}

跟據網路上大家所公開的資料,針對傳統的這類,如要製造一個評證,你需要有:
1. 確定版本編號
2. 找 vendor 名字
3.計算加密種子
4.找 FEATURE


第1點第2點與第4點,我們已有1年期的 license.lic 我們可以直接得到,不需去從 debugger 裏抓出。
所以我們只要找到2個加過密的種子(傳統容易反運算取得真實加密種子),就可以製作 license.lic 了~
另外我們可以由執行檔裏得知加密SDK為 11.12.1.0

如何找加密種子呢?
以此程式,就是找到加密引擎( or SDK) 裏面的特定加密 key的位置,然後跟據這個加密 key 的位置,往下一點得知特定的地方~
透過l_init() 去找到 l_sg() 的入口 (這個是原程式的設計,所以聽聽就好)~

就是透過 l_init 裏面的特殊機器碼來切入,找到 l_sg ~

DIY 開工開工~
此處可用 UltraEdit 找就好~
發現 FlexNet 版本為 11.12.1.0 製作的~
2014-12-13_060614.png

利用尋找常數的方法來找特定值 constants (程式設計師喜愛用此來快速整合開發)
2014-12-15_013016.png

此常數值 0x87654321 在 FlexNet 裏有很重要的定位點~
2014-12-15_013236.png

2個可能目標~~
2014-12-15_013314.png

發現一個可能的定位目標 l_init 與 l_sg
2014-12-15_013348.png

設定可能的 l_sg 定位點中斷它,令其執行到那停下,並追入 (step into)~
2014-12-15_013412.png

發現 vendor key 5~ 應該就是它了~又要快中獎了~
2014-12-15_013526.png

在我們需要的地方,設中斷,執行,停下,並單步執行完它後停下(step over)~
把堆疊區記憶體所描述的3個輸入參入都 show 出來~
[esp+0],[esp+4]與[esp+8]~
看來資料全現出來了~
把這些資料全部鍵入網路別人寫好回推的程式,可以快速取得2個加密種子~
就是把你用手算的要死的動作,寫個程式自動算出來而以。此演算法是公開的~
2014-12-15_015044.png

底下是同一動作,再做一次,此資料值都會不同,因為它裏面有透過一組亂數種子加密來隱藏~
這也是為什麼它需要上述的資料來運算回來~
2014-12-15_015359.png

利用 FlexNet  的SDK 製作 lmcrypt.exe ,此 tool 可以產生你需要的評證~
同樣的,用 SDK 來制作,需要設定環境,就有人又把它打包成簡單的程式(但不一定適用,如果 FlexNet 改變加密規則,不過可適用於舊的規格)
2014-12-15_020132.png

因為我們手上有取得1年期的評證,所以我們可以驗證一下此 lmcrypt.exe 是否正確~
如圖,產生出來的 SIG 值,完完全全與我們取得的是一樣~所以~搞定了~
2014-12-15_020805.png

到這裏,做個註冊機來玩玩吧~選定  dUP2 2.26.1 patcher 來
這是  RCE(reverse code engineering)世界常用的工具~
此工具很方便,我們只要導入修改前與修改後的檔案,它會自動幫我們算好差異並導入~
處理一下  castm8.exe
2014-12-15_021417.png

再處理一下clnk.exe
2014-12-15_021438.png

製作一個假的評證,就寫到2030年到期吧~
並加進去
2014-12-15_021655.png

把 lmcrypt.exe 也加進入,並設定啟動後執行產生評證~
2014-12-15_021743.png

編寫完畢
2014-12-15_021352.png

產生自動化工程吧~產線要自動~
2014-12-15_022225.png

收工
2014-12-15_021859.png


做完的註冊機:
cxstm8_32k_4.3.13.patch.exe.zip (762.67 KB, 下載次數: 44)


reference information:
http://www.woodmann.com/crackz/Tutorials/Flexpilg.htm
http://wenku.baidu.com/view/ae16b5fefab069dc50220179
http://www.pediy.com/kssd/pediy06/pediy6931.htm
http://www.pediy.com/kssd/pediy10/76340.html


結論一下,套用 ciko大說的,只要把各行的基礎搞的透徹,其它的都是小事了~
以上所有 FlexNet 的資料都是出自網路各位大神的手上~

謝謝收看~
{:14_1472:}

評分

9

查看全部評分

您需要登錄後才可以回帖 登錄 | 立即註冊

本版積分規則

關閉

站長小叮嚀上一條 /1 下一條

禁閉室|手機版|連繫我們|痞酷網電子技術論壇

GMT+8, 2024-12-4 01:53 AM , Processed in 0.172812 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

© 2001-2023 Discuz! Team.