dsong 发表于 2017-8-5 15:52

XXXXXSWF 3.6 Build 6664 Pro 注册机编写

本帖最后由 姐又寡闻了 于 2019-6-6 22:31 编辑

逆向工程实战之secureSWF 3.6 Pro注册机编写
2017/8/5


一、引言
上一期里,secureSWF 3.6 Build 6664 Pro的修改代码式破解方法已经发布。
这里主要介绍注册机写法。但是,本次的注册机编写教程并不要求读者分析清楚所有的算法,只需要有Java编写基础,按部就班地操作就可以。

二、工具准备
1. jd-gui 1.4.0 或其他合格的java反编译器。
2. 一个java IDE(本文使用IntelliJIDEA做演示)。备注:如果你愿意分析完所有代码再用其他语言编写,那么也是没有问题的。

三、开始“编写”
1. 使用jd-gui导出所有源代码。


2. 删除所有无关的功能代码,保留下与注册算法有关的class。
(过程略,)结果如下:


注意,导出的工程会在secureSWF\A\文件夹下有同名(全为”A”)的class文件和文件夹,这是不允许的,为了方便(不需要修改引用),应该把secureSWF\A\A.java文件改名,我这里改为AA.java。
3. 修改剩余文件中的语法错误(略)。
4. 添加新的输出。
(I) 命令行界面
这里最好“里应外合”一下,因为它的代码是混淆过的,你把代码全写在别人混淆过的东西里就会很难受。于是我自己新建一个class做main class,Main里面写的关键代码:
      Scanner sc=new Scanner(System.in);
      System.out.println("username:");
      String regName = sc.next();
      System.out.println("macCode:");
      String macCode = sc.next();
      System.out.println();
      System.out.println("OK, your registration infos are:");
      secureSWF.A.AA.gen(regName,macCode);
然后,在secureSWF\A\AA.java中新建函数gen,关键代码:
      System.out.println("");
      System.out.println(D(regName));
      System.out.println(A(macCode));
要注意的是,原来的算法代码里有throw Exceptions,你要全部在外层调用中handle。
(II) GUI界面
如果用IDEA,可以很快很方便地生成gui。




ui里的关键代码:
            return secureSWF.A.AA.gen(regName,macCode);
secureSWF\A\AA.java里的关键代码:
      ArrayList testgen = new ArrayList();
      testgen.add(D(regName));
      testgen.add(A(macCode));
      return testgen;
至此,所有步骤都完成。
5. 测试:
按照本教程方案执行,应该是没有任何问题的:





四、总结
由于JAVA的编译和需要在JVM里运行的特性,使得JAVA的反编译至源码是一件完全可能的事情,而且反编译出来的代码逻辑常常很好。可以说,唯一的阻碍就是变量名的混淆,但是只要找到其他规律(如特征字符串、特征文件引用等),这些问题都不会成为阻碍。

五、附加
如果反编译这个文件,你就会发现,在很多class里面的函数名字会有重复。这听上去不太可能,但是JAVA里是允许这样的事情发生的,只要一个class内相同名字的函数返回值不同即可。可以去看看proguard这个软件,是专门混淆JAVA程序的开源软件,里面就有一个叫做overload aggressively的选项,指的就是这种混淆方式。
不过,这也就意味着,可以修改proguard的源码,然后自己编译生成一个专门反混淆的软件。(我不知道是否已经有这样的软件。)或者直接用proguard不开-overloadaggressively的选项再“混淆”一遍也是可以的。所以JAVA程序的anti-decompile,实在是不太容易做到的。
这也就是为什么,secureSWF仍然在开发它的产品,却不再有更高版本的试用版供下载了。

geek_007 发表于 2017-8-5 16:59

不错,学习了

fq645122 发表于 2017-8-5 17:01

很好很专业

aj1688 发表于 2017-8-5 18:24

好好学习,天天向上

tiansi78 发表于 2017-8-6 13:32

非常不错,谢谢分享

sjzok1 发表于 2017-8-6 22:47

学习了。。。。。。。。。。。。。
页: [1]
查看完整版本: XXXXXSWF 3.6 Build 6664 Pro 注册机编写