2024年4月1日发(作者:)
标 题: 【原创】制作Flexlm license总结!
作 者: laoqian
时 间: 2005-12-15,17:45:50
链 接: /?t=19435
作者: laoqian [FCG]
时 间:2005-12-15
软件名称: Zendenc (FLEXlm 7.1d)
软件类别:Nolan Blender提供的经典例子
软件介绍: FLEXlm 7.1d加密
破解工具:ollydbg 1.10(FLY修改) ,w32Dasm_2002828_pll621,UltraEdit10.0,
Flexlm7.2 SDK,calcseed,lmkg7,lmcryptgui,flexlm9.2
sdk的源码等
破解目的:制作无限制使用license文件
通过这篇文章我们将向你介绍如何制作FlexLm的license,并总结经验
第一部分: 废话
Zendenc这个软件是Nolan Blender提供的经典例题,crackZ或网上有下载和分析文章。玩了几个
Flexlm, 想总结一下, 就拿它来开刀方便!本
文是关于7.x的,但有部分适用于8.x和9.x,甚至10.x。
第二部分: 转入正题
破解FlexLm最主要的是找到4样东西.
1. 确定版本号
2. 找vendor
3. 计算ENCRYPTION_SEED
4. 找FEATURE
有了这几个,就可以使用FlexLm SDK(如果你有)或工具做出注册机了.
btw:FlexLm SDK一般是通用兼容的的,比如7.2就可以制作7.1的,甚至有时7.1也可以制作7.2的,
关键是参数设置。
1. 确定FlexLm版本号 BEHAVIOR Version
方法一:
* 用二进制编辑器,推荐使用HexWorkshop(我用UltraEdit10.0,呵呵),它的查找功能很强,特别是
Find All Instances更是我最最常用的.
在查找对话框Type中选择类型Text String,Value中输入"@(#) FLEXlm v",查找,"@(#) FLEXlm v"后面的
就是版本号.
【以上是tulipfan[CCG]大虾说的】
方法二:
用Flexlm SDK里的lmtools(在flexlmv7.1i86_n3目录里),运行进入Utilities,点击“Browse”
查找你的Flexlm加密的程序主exe或dll,
然后“find version”,在下面就会显示你的Flexlm版本,用v7.1版甚至可以看到8.3版以后,是通用
的。有个别程序可能此法不行!
方法三:在反汇编以后,搜索“87654321”,在前面设断点
在Flexlm SDK里lm_code.h文件里你可以看到一下几句:
代码:
* Vendor's private seeds, -- replace with 32-bit numbers that
* you make up.
*/
#define ENCRYPTION_SEED1 0x87654321
#define ENCRYPTION_SEED2 0x12345678
/*
* 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)
*/
这说明demo的SEED1=0x87654321,SEED2=0x12345678
对应Zendenc里是:
代码:
0043391D E8 184B0400 call
00433922 83C4 0C add esp,0C
00433925 8D8D 40FFFFFF lea ecx,dword ptr ss:[ebp-C0] ;我们可以在这里设断点!
0043392B 51 push ecx
0043392C 8B95 30FFFFFF mov edx,dword ptr ss:[ebp-D0] ;ebp-D0地址是以后要用的!
00433932 81C2 4C010000 add edx,14C ;计算得到VENDOR地址
00433938 52 push edx ;VENDOR入栈!(ASCII "zend")
00433939 8B85 30FFFFFF mov eax,dword ptr ss:[ebp-D0]
0043393F 50 push eax
00433940 E8 95560000 call zendenc.00438FDA ;这个call就是著名的所谓7648B98E标志
call!后面要进去的!!!
00433945 83C4 0C add esp,0C
00433948 81BD 44FFFFFF 214>cmp dword ptr ss:[ebp-BC],87654321 ;此处比较是否是demo的
seed1,当然在此seed1已被加密!


发布评论