首页
社区
课程
招聘
[分享]利用Flex 10.1 SDK开发某软件注册机
发表于: 2011-7-10 22:26 17707

[分享]利用Flex 10.1 SDK开发某软件注册机

2011-7-10 22:26
17707

【软件名称】利用Flex 10.1 SDK开发某软件注册机。
【应用平台】WinXP SP4
【作者邮箱】chubing6143@sina.com
【使用工具】OllyDbg1.10,FlexLM 10.1SDK
【软件限制】FlexLM

        好长时间不破解了,也好长时间没有到看雪来了。
        最近因为需要帮人解决一个软件远程桌面调用的问题,该软件我以前用Flexlm 7.2SDK写的注册机,但是由于FlexLM低版本的SDK不支持远程桌面使用方式,即License文件中不支持TS_OK,因此,需要利用高版本的SDK重新开发NI通用注册机。因此,我就又操起了这一行了,好长时间感觉没有投入破解了,还是怀念当初学习破解的过程,当然由于自己工作的原因,没有坚持下来,因此,连二把刀都不算。写这篇文章只是为了给我这样的初学者提供帮助。考虑到论坛的需要,就不公布是什么软件了。为了给初学者尽可能多的帮助,我将过程记录的尽可能详细,高手飘过。

一、首先安装FLEXnetLicensing.exe(10.1的SDK)。
二、利用CrackZ上下载的Flexvkg3(lmkg.exe)自动生成Vendor为****(怎样找Vendor,论坛上介绍的太多了,不叙述),Version为10的Key如下:
/* Version 10 keys */
#define VENDOR_KEY1 0x0218a4**
#define VENDOR_KEY2 0xa52467**
#define VENDOR_KEY3 0x185a43**
#define VENDOR_KEY4 0xfa721f**
#define VENDOR_KEY5 0x011a5c**
#define TRL_KEY1 0x31f528**
#define TRL_KEY2 0x4cc898**

#define VENDOR_NAME "****"

然后编辑C:\Program Files\flexlm\v10.1\machind\lm_code.h文件,将其中的VENDOR_KEY、VENDOR_NAME与TRL_KEY替换成前面生成的宏定义。

三、将C:\Program Files\flexlm\v10.1\i86_n3\makefile文件中VENDORNAME = demo替换为VENDORNAME = nilm
然后运行cmd,进入命令行模式下C:\Program Files\flexlm\v10.1\i86_n3\lmrand1 –seed
会随机生成LM_SEED1、LM_SEED2、LM_SEED3的值,并生成lmseed.dat文件,将该文件中的LM_SEED值粘贴到lm_code.h中去。
四、考虑到该软件加密是从7.1升级过来的,因此在lm_code.h中粘贴下面的代码:
#define LM_SIGN_LEVEL 1

#define ENCRYPTION_SEED1 0x**1b372e(需要对软件跟踪进行查找,为了安全起见,我隐去了)
#define ENCRYPTION_SEED2 0x**394f25(需要对软件跟踪进行查找,为了安全起见,我隐去了)

#define ENCRYPTION_SEED3 0x12315688 //任意值了
#define ENCRYPTION_SEED4 0x12315688 //任意值了
并将LM_STRENGTH定义为LM_STRENGTH_LICENSE_KEY
#define LM_STRENGTH LM_STRENGTH_LICENSE_KEY

五、此时命令行模式下C:\Program Files\flexlm\v10.1\i86_n3\build.bat会自动生成lmcrypt.exe,该文件就可以将license文件自动完成加密的过程。
然而为了写注册机,还得进行下面的工作。

六、命令行模式下C:\Program Files\flexlm\v10.1\i86_n3\build DLL
会自动生成lmgr10.dll与lmgr10.lib,这两个文件是非常有用的,写注册机时需要链接这两个文件,写注册机时需要SDK中的以及build生成的以下文件:
lm_attr.h、lm_code2.h、lm_code.h、lm_trl.h、lmclient.h、lmhostid.h、lmprikey.h、lmseeds.h、lmgr10.lib、lmgr10.dll。
七、为了在VC工程中能够编译通过,首先将lmprikey.h中的
lm_extern int *l_prikey_sign(void) = 0;
修改为:
lm_extern int (*l_prikey_sign)(void) = 0;
然后在Project Setting中添加PC的宏定义。
写解密的关键代码函数如下:

LM_CODE_GEN_INIT(&site_code);//:初始化Flex变量,主要是lm_code.h中的变量
if (lc_init((LM_HANDLE *)0, VENDOR_NAME, &site_code, &lm_job))
{
        lc_perror(lm_job, "lc_init failed");
        exit(-1);
}
if (lc_cryptstr(lm_job, fileCrypt, &ofile_str, /*&v*/&site_code, forceit, "",
                        &err))//laowang :关键函数将License文件字符串内容加密求得正确的License文件
{
        MessageBox(NULL,"lc_cryptstr 运行错误,请联系作者!",filePath,MB_OK);       
}

到此就完成了,如果有我等初学者对此感兴趣的,我可以考虑将基本的注册机代码发上来。


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 7
支持
分享
最新回复 (11)
雪    币: 301
活跃值: (300)
能力值: ( LV9,RANK:290 )
在线值:
发帖
回帖
粉丝
2
对 Flex 完全不懂。
要是有个练习的例子就好了。
2011-7-11 00:08
0
雪    币: 107
活跃值: (200)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
谢谢楼主了,注册机代码发个学习一下啊!
2011-7-11 00:14
0
雪    币: 98729
活跃值: (201034)
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
4
Support. Welcome forum.forum is a home.

Please respect the copyright from the Internet.

Пожалуйста, уважайте авторское право в Интернете.

來源于互聯網, 請尊重版權.

You can Google.  

Программное обеспечение выпуска и Windows Crack Обучение
Нам-Dabei Guanyin Бодхисаттва Нам без митабха
2011-7-11 01:13
0
雪    币: 69
活跃值: (342)
能力值: ( LV9,RANK:550 )
在线值:
发帖
回帖
粉丝
5
CrackZ上有例子的,学习Flex,那是一个非常好的网站。
2011-7-11 12:23
0
雪    币: 276
活跃值: (34)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
winXP 出 SP4了吗?
2011-7-11 16:14
0
雪    币: 224
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
肯定没有
而且也不会出
winXP就要退役了
微软会趁热打铁
大力推进win 7的市场份额
2011-7-11 16:33
0
雪    币: 15613
活跃值: (4270)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
啥时候发注册机代码呀?期待啊
2011-7-11 17:14
0
雪    币: 69
活跃值: (342)
能力值: ( LV9,RANK:550 )
在线值:
发帖
回帖
粉丝
9
稍等,我需要刻盘,然后才能传上来。办公室不能上网了,可怜的人。
2011-7-12 00:09
0
雪    币: 22
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
看来不错的 我等等试试试
2011-7-14 15:59
0
雪    币: 107
活跃值: (200)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
老大,注册机的代码好像没有发啊。呵呵,好久没人关注了啊。
2012-3-1 21:41
0
雪    币: 484
活跃值: (269)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
12
写注册机如何调用SDK的问题困扰我很久了(http://bbs.pediy.com/showthread.php?t=151429),此帖给了答案,但是具体还是不知道该怎么弄,要是老大能分享下注册机代码(哪怕是部分)学习下就好了。
2012-6-18 10:04
0
游客
登录 | 注册 方可回帖
返回
//