TA的每日心情 | 难过 2024-9-21 19:46 |
---|
签到天数: 210 天 [LV.7]常住居民III
|
Flexlm ECC 详细破解教程
先确定那些文件是需要授权flexlm文件;方法已很多了
视频教程
链接: https://pan.baidu.com/s/1joBAM0yjnndQsB4B9sSRXg 密码: 6jtn
几天前就已开始录制视频了;由于参考了部分前辈文献;结果发现很多问题;所以推迟了些
1.找到 l_pubkey_verify 函数头修改
33 C0 C3 90 90
asm:
xor eax,eax
ret
补位 nop
l_pubkey_verify使用Flexlm SDK 里的lmgr.lib制作sig来找;尽量自己收集些也行
IDA Pro *.sig签名文件制作
用到的IDA里的 pcf.exe和sigmake.exe
使用控制台命令 pcf.exe *.lib *.pat
使用控制台命令 sigmake.exe -n"name" *.pat *.sig
以上如果懒得找就可以直接用工具处理下就可以了
目前的工具好像只能支持到11.13版本;11.14版本最好手动找。
2.找VENDOR_NAME(这个就是守护名称)
调试工具载入需要调试的软件搜索常数 0x12345678或0x87654321;这两个常数是在一块的
| push edx |
| call blueprint.1A572C0 | _l_sg 下断;查看esp+8的位置就是data. dd [esp+8]
| add esp,C |
| cmp dword ptr ss:[ebp-28C],87654321 | 搜索常数 0x87654321
| je blueprint.1A6DD23 |
| cmp dword ptr ss:[ebp-288],12345678 | 搜索常数 0x12345678
3.找厂商标识及版本
定位函数lc_checkout 或凭经验定位 0x20000
| push 0 |
| push eax |
| call <camdll.setjmp3> |
| add esp,8 |
| test eax,eax |
| je camdll.FEC6792 | lc_checkout je 这个位置下断
| mov ecx,dword ptr ss:[ebp+8] |
| mov eax,dword ptr ds:[ecx+80] |
| jmp camdll.FEC6864 |
| mov edx,dword ptr ss:[ebp+20] |
| push edx |
| mov eax,dword ptr ss:[ebp+1C] |
| push eax |
| mov ecx,dword ptr ss:[ebp+18] |
| push ecx |
| mov edx,dword ptr ss:[ebp+14] |
| push edx |
| mov eax,dword ptr ss:[ebp+10] | [ebp+10]:"2016.08" 这里显示的是版本
| push eax |
| mov ecx,dword ptr ss:[ebp+C] | [ebp+C]:"DFMSTREAM" 这里是厂商标识
| push ecx |
| mov edx,dword ptr ss:[ebp+8] |
| push edx |
4.伪造license文件的就可以了
关于license格式问题直接看官方手册有详细说明
license文件格式伪造正确就就可以;SIGN或SIGN2的长度分别为60 84 120字节
字节开始位和最后一位只要不是0就可以了;其他补位可以用0000来补充
>关于使用的是SIGN还是SIGN2和使用了多少字节;可以手动试下,或用工具调试下就知道了。
总结 1.去ecc 2.找守护名称;其实这个基本不要找;文件就那么几个;其中一个肯定是 3.找厂商标识及版本
去ECC 方法和位子挺多的;大多数都在 l_pubkey_verify函数call里;用OD跟下就出来了
期待后续的高手爆破吧.....
|
-
-
Flexlm.7z
1.23 MB, 下载次数: 187, 下载积分: 飘云币 -2 枚
工具
评分
-
查看全部评分
|