最近心血来潮, 想学习下flexlm技术, 不为去卖破解赚钱, 只想做研究学习之用。 在看雪上转了个把星期, 看了不少文章, 现在已经大概的了解了流程, 但在有些方面仍然看不大懂。 斗胆发个帖子, 将我遇到的问题汇总一下, 恳请各位前辈不吝赐教。
先介绍一下接触的几个例子和学习资料。
主要学习资料:
1. 入门知识: http://bbs.pediy.com/showthread.php?t=60864&highlight=flexlm 《加密与解密》第二版 13.6 Flexlm保护
2. 实战参考: 【原创】制作Flexlm license总结! By laoqian; FLEXLM9.5该洗洗睡了吧 by newsearch
分析案例: 1. Zendenc , 2. Imaris 4.13
Zendenc 下载自woodmann, newsearch 大虾翻译过的“翻译:Zendenc FLEXlm 7.2 破解信息[TT]”
Imaris 4.13 下载来自互联网。 安装路径为默认。
Bitplane.exe 文件位置 c:\programe files\bitlane\Imaris 4\flexlm
分析这两个例子的时候遇到了一些问题。
一 .寻找 feature
使用程序: Imaris 4.13
用OD打开bitplane.exe, 在反汇编窗口中右键选择查找所有参考文本字串, 在参考文本字串窗口中查找“lm_ckout.c”, 找到挨着的2个设断点,按F9。 程序没有在断点停止, 而是直接terminated了, 不明就里, 请各位指点。
另, 问题之二: 如果有多个feature如何通过这种方法来查找?
二 .在定位了l_sg函数之后, 不能第二次到达。
使用程序: Imaris 4.13
如下 断在0041c536、 0041C58F。 F9第一次断在 0041c536, 再按F9, 就直接terminated
0041C536 /$ 55 push ebp
0041C537 |. 8BEC mov ebp, esp
0041C539 |. 83EC 24 sub esp, 24
0041C53C |. C645 EC 00 mov byte ptr [ebp-14], 0
0041C540 |. 33C0 xor eax, eax
0041C542 |. 66:8945 ED mov word ptr [ebp-13], ax
0041C546 |. 8845 EF mov byte ptr [ebp-11], al
0041C549 |. C745 F4 B8307>mov dword ptr [ebp-C], 6F7330B8
0041C550 |. C745 FC 00000>mov dword ptr [ebp-4], 0
0041C557 |. C745 F8 00000>mov dword ptr [ebp-8], 0
0041C55E |. C745 F0 03000>mov dword ptr [ebp-10], 3
0041C565 |. 8B4D 08 mov ecx, dword ptr [ebp+8]
0041C568 |. 8B51 6C mov edx, dword ptr [ecx+6C]
0041C56B |. 8B82 540F0000 mov eax, dword ptr [edx+F54]
0041C571 |. 25 00800000 and eax, 8000
0041C576 |. 85C0 test eax, eax
0041C578 |. 74 23 je short 0041C59D
0041C57A |. 833D F0E74D00>cmp dword ptr [4DE7F0], 0
0041C581 |. 74 1A je short 0041C59D
0041C583 |. 8B4D 10 mov ecx, dword ptr [ebp+10]
0041C586 |. 51 push ecx
0041C587 |. 8B55 0C mov edx, dword ptr [ebp+C]
0041C58A |. 52 push edx
0041C58B |. 8B45 08 mov eax, dword ptr [ebp+8]
0041C58E |. 50 push eax
0041C58F |. FF15 F0E74D00 call dword ptr [4DE7F0] ;
看了几位大虾的文章, 自己觉得问题可能如下:
1. 环境变量设置有问题。
2. License文件不正确。
对于第一条,在我的电脑-属性-高级-环境变量-系统变量中添加, LM_LICENSE_FILE, 值为C:\Program Files\Bitplane\Imaris 4\flexlm\bitplane.lic。 设置之后, 问题仍然存在。
对于第二条, 在下载的文件当中(Imaris)中有一个正确的license, 经测试是可以使用的, 所以排除此条的错误的可能。
请各位高手指点一下。
三. seed关键数据为什么一直在变, 每次都不同?
使用的测试软件: Zendenc
问题: 跟踪出的data[0], data[1], job+08, job+0c, job+10 总不是定值, 每次都不同, 而且都与范例中不同。
以上三点琢磨了几天未果, 整理出来发个帖子, 请大家给指点迷津! 十分感谢!
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课