首页 > 学院 > 逻辑算法 > 正文

浅谈流光4.7完美逆向

2019-09-10 09:02:31
字体:
来源:转载
供稿:网友

 
浅谈流光4.7完全破解

------费时一个周末的结果.:)

====================================================
1.

其实想完全破解流光实在很难.
小榕是我的同事破解他的流光好象不大... 而且我如果想要总也可以要到流光的无限制key.
用了那个流光4.7测试版但一直没有拿到正式版.
为什么还要破解呢首先自己近来对软件破解比较感兴趣.:)
网上公布了不少的破解版本都是不完整破解的所以...我就开始破解了.
现在把破解经过写出来 也希望那些找不到流光破解方法的人看了能有些帮助.避免少走弯路.

安装完流光4.7以后开扫...
限制IP的提示是挺讨厌的.:)我也不愿意看到它.
我用的机器是win2000很多破解软件都不能用.:(
一看文件大小就知道是压缩过的了首先用Language2000看了看文件类型
知道是tElock加密的文件.版本比较低是0.43
用Unpgui里的telock插件一分钟把它脱.脱后根本不用重建资源表
然后用W32dsm反汇编分析果然已经不象以前版本那样可以看到字符串strings了.
有些人说是小榕经过处理了我看它不见的原因是telock的压缩问题.:)
后来继续用ida 4.05来反汇编
里面有很详细的英文字符串资料
破掉了数字验证时间验证等但最后 高级扫描和FTP扫描老不能用.
嘿嘿大多数的人应该就破到这里就没办法继续了.
跟我来.:)
静态分析不成功就来动态分析它一下.

2.

弄出softice先破它的数字验证
设断掉messageboxa不成功.
设showwindow老跟不对
后来一想数字验证要读文件的就是那个PubAuth.key :)
设断点readfile 按x 返回
成功中断按F11返回读文件的程序领空.
d edx
呵呵东东都出来的.:)
然后一直用F8跟踪...
跟着程序跑
按了不少于1000下...

最后终于分析出了流光真正的加密和限制IP功能的要点所在.
想知道吗?
嘿嘿先去喝杯咖啡.

3.

我回来了:)
我们继续...

其实后来发现用lstrcpyna设断点可以更快更有效的中断.
首先我们把PubAuth.key文件里的内容清空改为1000或者任意个同样的或者连续字符.这里我用'B'来填充
启动流光 ctrl+d中断 bpx readfile x后就中断了我们可以按F11跳到ret
d edx就可以看到11个加密过的字符.
这就是真正的key了.
它是怎么来的?
嘿嘿
暂时不告诉你
不停的按F11如果你不怕错过就按F12也可以.:)
你可以等到流光的进度条快满了才设端点这样你按的次数会少很多.;)
后来我们可以看到 程序打开了另一个文件
这就是真正的PubAuth.key的内容了.
s o l ffffffff 'BBBBBBBB'
我们可以看到key的内容在内存的位置.
刚开始我们可以在内存 01C9EF98里找到它我的是Win 2000 AD Server你的可能会跟我不一样然后后面跟着一段自身的加密串.
然后程序把自身的加密串和PubAuth.key文件的内容分别拷贝到了 020B8464 和 020C4254的内存空间.
所有东西都在这里了dump吧.
呵呵

4.

你会发现dump出来的文件经过处理后(怎么处理等会再说)虽然可以绕过数字验证
但并不能让你有扫描国内IP的能力.
嘿嘿你没有把程序完全跟下去吧...
现在我们来说说流光key的加密的真正要点所在

首先程序调用GetModuleFile取得自己的文件名
然后读打开自己 循环读取200h(512个)字节的数据然后递交给加密程序加密.
至于是怎么加密的...我是看不懂 太乱了
哪个高手有空的可以去跟跟把keygen写出来.:)
加密程序把512个字节的数据加密成11个字符字符集合为A-Za-z1-9;{等
然后把它存放到内存里
所有读取和加密完成以后读取PubAuth.key文件的内容然后判断.
注意了
这里判断不只是一次判断.:)
是两次.....

通过IDA的静态反汇编我们可以很清楚的看到这些.
首先程序先验证程序是否完整就是用PubAuth.key文件的内容和自身的加密串来比较
这是一次判断
如果你的程序是脱过的那都会提示"数字验证失败"的东东.
简单的避免这个你可以直接用16进制编辑器来编辑文件.修改跳转.
时间验证等其他功能都可以看静态反汇编代码用编辑器修改跳转.
这个就不介绍了以前都有人写文章说过.
但这种方法破出来的程序有很大问题
如ipc无法破解高级扫描加密传输老出问题......
所以没有搞清楚流光具体的加密原理这些破解是不能完全破解的.
我也没搞懂他的传输加密是怎么弄的......
第二次的判断是什么呢?
就是判断你是否有不限制IP扫描的权限!
而这个权限的判断就是在你的Key文件里.
奇怪吧.
也就是说只要你完全了解了加密过程
你自己也能弄个不限制IP的Key出来.

PubAuth.key文件大家都认为它只有数字验证的功能
其实不是验证不限制IP扫描的加密串也在里面.:)
我们可以根据刚刚我分析的加密机制来看看流光的exe文件跟PubAuth.key的关系.
:/>dir Fluxay47.exe
驱动器 D 中的卷没有标签。
卷的序列号是 8084-DE58

d:/ 的目录

002-04-04 13:46 869888 Fluxay47.exe
1 个文件 869888 字节
0 个目录 569991168 可用字节

:/>dir PubAuth.key
驱动器 D 中的卷没有标签。
卷的序列号是 8084-DE58

d:/ 的目录

002-04-04 13:46 18700 PubAuth.key
1 个文件 18700 字节
0 个目录 569970688 可用字节
看到了吗?
:)
流光程序为869888 byte而PubAuth.key为18700 byte.
按照加密机制他们的大小应该是 PubAuth.key.size = Fluxay47.exe.size / 512 *11 = 18689 Byte
但实际PubAuth.key的大小是18700
多出来的这个是什么呢?
就是限制你扫描范围的加密加密后的通用密码.:)
流光第二个判断就是判断这个11个字符的!!!
好像流光的限制并没有我们想象的那么复杂!:)

所以我们可以在不用编辑器修改二进制文件
不用反汇编工具来一行一行分析代码.
而只需要在softice里设一个断点
直接取得存放在内存里的加密串!!
而所有功能的破解只要这11个字符...
怎么获取?
内存里搜索你Key文件里最后11个字符...
静态汇编看跳转点...
...
自己看教程吧.我累了.

流光就这样被破掉了...
它的加密强度只是11个字符串而已.

不得不说流光是我见过最好的Win2000平台下的扫描工具
感谢小榕!给了我们这么好的武器但请你们要知道武器是用来鬼子的而不是国内的同胞.
请不要拿国内的机器开刀.

终于写完了破解介绍.洗澡澡去.嘿嘿....


(编辑:天命孤独)

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选