在线时间341 小时
UID1670729
ST金币0
蝴蝶豆67
注册时间2015-6-2
论坛元老
- 最后登录
- 2020-12-2
|
a0a.1 32b0c
4.3.0也可破解,文件要修改的位置差不多,还在SignedLicense的位置。产品版本号也没有改变,代码稍有不同。使用4.2.12的license.xml成功实现了4.3.0的激活。新增了一个自己整理的破解过程在附件中(hack_photo.zip)。抱歉,因为工作繁忙,不会再提供qq指导。觉得过程需要细化的,可直接修改readme.md然后在本帖留言,或另开一帖细化你破解的过程。
不建议连Github的源代码和release版本软件都分不清的新手尝试。
这几天被F0上的freeRTOS搞崩溃了。f0的可编辑优先级只有4级,而hal封装的cmsis-os的优先级每一集freeRTOS本身的优先级倒来换去。把我搞烦躁了。决定使用Tracealyzer来追踪一下任务运行情况。(还不知道空间够不够,不够只能费大功夫使用RTX,并利用keil自带的工具简单调试了)
本教程旨在推广大家使用Tracealyzer 和SystemView类工具,前者价格要一万多。对于独立开发者这个价格不太友好,但建议公司员工还是掏钱吧。
(管理员如果觉得发在这里不合适,可以私信我。我可以删帖。)
在开始之前,还是要感谢其它几个帖子给的一些框架性的指引。但我是新手,中间的过程有很多坑。
【嵌入式系统神器 FreeRTOS+Trace 破解分析@52pojie】
【青竹雨仙@CSDN】
本帖子破解的工具是从官网趁热下载的最新版本v4.2.12. 从v4开始变化很大,不再区分不同的RTOS。如果安装好之后,你会发现安装包里面包含了所有版本相关文件:
包含RTX5,freeRTOS,Micrium,SaftRTOS,ThreadX,Vxworks等。(没有RTT)
在破解之前,需要知道几个工具:
1、de4dot : http://github.com/0xd4d/de4dot 一款反混淆和脱壳的工具
2、dnSpy : http://github.com/0xd4d/dnSpy .NET的反编译工具,可以以C#或者IL,VB等语言查看源代码。
基本步骤是:
1、下载目标软件和上面提到的两个工具(这两个工具只适合.NET的程序,其余的软件需要用别的壳检查工具确定程序和工具)
2、下载Tracealyzer的时候要注意申请一下Evaluation 版本的序列号。然后安装完软件,之后用这个序列号先online activate一下。
激活完之后的license位于C:\ProgramData\Tracealyzer Data目录下的License.xml建议拷贝之后备份。
3、先反混淆,然后再断点调试,修改,最后保存测试。后面几步可能要反复几次知道完全破解。
【不要让我把破解之后的文件传给你,请自己动手。】
第三步很繁琐。这后面就再专门讲一下。
A、反混淆
找到de4dot的文件夹,用cmd打开命令行。我们假定你的tracealyzer安装目录是D:\Program Files\Percepio\Tracealyzer 4 。
用:
- <div>mkdir “D:\Program Files\Percepio\cleaned”</div><div>de4dot -r "D:\Program Files\Percepio\Tracealyzer 4" -ro "D:\Program Files\Percepio\cleaned"</div>
复制代码
其中-r指定原始文件所在的文件夹,而-ro是输出文件所在的文件夹。你需要按照自己安装的目录自行更改代码。
为了防止后面有问题,你可以用python写一段代码来将文件拷贝到另一个文件夹。(见附件压缩包中的backup.py,下载放在D:\Program Files\Percepio\目录中)
- <div>cd "“D:\Program Files\Percepio"</div><div>mkdir “D:\Program Files\Percepio\original”</div><div>python3 backup.py</div>
复制代码 这段python代码自动将已经cleaned的文件替代原始文件,并将原始文件备份到backup目录中。你也可以自己简单替换也可以,这样原始文件就没有了,但无可厚非。
B、调试找代码
在你的License.xml文件中有ProductId和EditionId两段序列号,后面还有代表不同平台的产品序列号。如果你是evalation的化你的序列号应该和我这里的不一样。我这里的是手动改的。时间和产品号都是自己改的。
- <Product>Tracealyzer - Professional Edition</Product>
- <ProductId>{CCC61B47-F14E-4D71-80B3-D3DCA2E62271}</ProductId>
- <EditionId>{07DA2EBE-0932-44C2-AC8C-F11ED48DD0AB}</EditionId>
- <LicensedTo>Personal</LicensedTo>
- <ExpiresOn>2029-04-11</ExpiresOn>
- <SupportThrough>2030-04-01</SupportThrough>
- <Components>
- <Component>
- <Id>{B1CF5B88-ADA5-4B2A-81AF-257054106205}</Id>
- <Name>Tracealyzer Application</Name>
- </Component>
- <Component>
- <Id>{469D108A-B824-4C27-99ED-98B8629BFCE0}</Id>
- <Name>FreeRTOS Support</Name>
- </Component>
复制代码 从代码分析:
"Free Edition": FA52DADE-887B-495D-8258-898B39E189CB
"Standard Edition": 050C587E-D34F-4361-B344-F8FCC4473477
"":07DA2EBE-0932-44C2-AC8C-F11ED48DD0AB
"Academic Edition": 20478608-C79A-48A9-A969-35541787D2C0
"Evaluation Edition" : F5780CA8-1FC7-4AA4-9B1E-C7F7D6E19496
【另外关于ProductId,这个应该是区分不同版本的产品。在之前的教程中我将其改为和下面的EditionId是一样的。后来我发现这样改会增加复杂度。不该反而是最好的。所以你在上面的代码行看到了不一样的信息。~修改与2019.9.9】
那怎么分析呐?这时候就用到了dnSpy。直接打开之后,将Tracealyzer.exe拖入。
上图展示了调试的步骤。我通常先点开始(里面选择entry point模式),这时候我再搜索string/number的方式找到evalution部分的号码。
新版本改变之后,应该仍然可以通过此方法找到产品序列号。
这时候修改一下两个ID和时间。现在就开始正式调试了。
C、找到SignedLicense
4.2的逻辑更改了很多,但基本方法还是找到它。
我改了1和3以及2指向的函数,基本就可以工作了。记得compile完之后要保存之后再strart一遍。按照如上方法基本可以破解之后的版本。(如果变化不大。)基本思路是最终返回GEnum43.const_0
我曾直接进入之后return,发现有些问题。目前方法,可以使用。
应该还有不用注册就破解的方法,暂时没有找到。现在还需要evalution的码,然后修改路径。
这两段代码会保留一周,然后删除。为了防止一些反破解。现在分享一下我简单录的其中一些细节:
链接:https://pan.baidu.com/s/1sQbDw41MgvloCpP_9QttuQ
提取码:cise
我觉得看完这段,你应该可以更顺利一点。
重要的要先说一下。本人只提供方法,不提供破解文件。不要请我发文件。这样你是拉我走上被告席的节奏。
|
-
-
674 Bytes, 下载次数: 285, 下载积分: ST金币 -1
Python 压缩文件更新
-
-
703.36 KB, 下载次数: 193, 下载积分: ST金币 -1
破解步骤总结
|