pc2g

 找回密码
 加入我们
搜索
热搜: 活动 交友 discuz
查看: 1275|回复: 0

Flash开发利器Powerflasher FDT

[复制链接]

2431

主题

217

回帖

8717

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
8717
发表于 2021-5-21 18:38:47 | 显示全部楼层 |阅读模式

pc2g,电脑好游戏 Powerflasher FDT是一个强大的AS3/Flash/Flex/Air的编程集成开发环境
最近刚好要开发一个as3项目,发现Adobe出品的CC或FB虽然有现成的破解
但是编程功能真心比较弱
后来,在Github上有人推荐了FDT这一款工具,不过是商业版
所以就花了点时间研究一下如何破解

不太清楚FDT的版本机制,本版本是2019/07从FDT Server直接下载,包内文件的日期是2017/09,代码中的字符串提示应该5.5左右
应该网络上可以找得到的最新破解思路

下面的是破解的过程:

1. 下载FDT商业版
直接把几个重要的JAR,如FdtUI.jar和FdtCore.jar拖进jd或jadx
源码并没有混淆,但通过关键字无法找到Key或Activate等关键词,



2. 初步判断应该通过反射和在类加载器上动手脚

3. 直接调试项目
由于FDT是基于Eclipse开发,在Ecilpse的配置加上调试参数
-Djava.util.Arrays.useLegacyMergeSort=true
-Xdebug
-Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n

4. 使用Eclipse调试
发现了AntClassLoader和几个破解的关键类:com.powerflasher.fdt.ui.keyManagement


5. 通过分析AntClassLoader大概知道了
几个关键类的字节码都被放在了AntClassLoader中的classMap中
但是找了很久都没有找到字码是从硬盘哪里导入的,
另外FdtUI.jar也不能修改,一修改FDT启动后就变成了死鱼
这两点比较奇怪
索性先放一下,直接Hack了OSGI的ClassLoader将关键类字节码全部导出


6. 分析加密关键类
加密构架主要包括公私钥密码算法和网络验证
虽然类名函数名没有混淆,但是类属性非常多并混杂了UI操作
花了一些时间把所有网络操作都禁止,并将相关属性直接Hardcode


7. 写回字节码
在第5步中,一直找不到字符码的位置,同时也不敢直接动Jar包了
为了试验破解的正确性,直接在OSGI的ClassLoader中加载了修改后的字节码
经过多次的调试和修改,基本破解成功


8. 后来经过多次的调试和分析
终于发现了字码节还是在FdtUI.jar中,
但是直接使用Rar是看不到隐藏的加密类字节码,里面只有普通类的字节码
通过Winrar的信息报告和代码发现,原来加密类的字节码隐藏在了Zip的SFX模块(?)
知道原因后,直接对FdtUI.jar动刀,把所有修改的内容转移到了FdtUI.jar中
破解完成




过程虽然非常明了,但细节非常多,如果对RCP、Eclipse、密码算法或ClassLoader不熟悉,重现上述步骤可能会有困难
过程大约一个半工作日


链接:https://pan.baidu.com/s/1yJHOJyqdVEiDSUaWt7b1Bw
提取码:j9i3
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

Archiver|手机版|小黑屋|pc2g电脑好游戏

GMT+8, 2024-3-29 19:58 , Processed in 0.008600 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表