foolishb 发表于 2019-7-5 14:27

Flash开发利器FDT1.17.390破解

本帖最后由 foolishb 于 2019-7-5 20:08 编辑

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
复制这段内容后打开百度网盘手机App,操作更方便哦

cntank01 发表于 2019-7-6 00:54

   谢谢大侠分享这么好的工具,但是请教,能否封装flash环境,毕竟flash都被放弃了,但是如果能够封装环境就比较好了

youxiwater 发表于 2019-7-5 14:46

先收藏,慢慢在研究

殺無道 发表于 2019-7-5 14:47

mark一下

JieW_L 发表于 2019-7-5 14:49

flash 不是要亡了吗

614694258 发表于 2019-7-5 14:49

谢谢分享

小小小小小真 发表于 2019-7-5 14:50

支持一下,赞

rpl026589 发表于 2019-7-5 14:53

谢谢分享

zpchcbd 发表于 2019-7-5 14:55


mark一下以后留着有用 感谢

zexplorery 发表于 2019-7-5 14:57

谢谢楼主分享好的工具。

LShining 发表于 2019-7-5 14:57

容我喊一句……牛逼
页: [1] 2 3 4 5
查看完整版本: Flash开发利器FDT1.17.390破解