吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 6052|回复: 12
收起左侧

[原创] "半"字节破解易·飞扬

[复制链接]
无瑕黑心肠 发表于 2016-6-14 22:30
本帖最后由 无瑕黑心肠 于 2016-6-14 22:34 编辑

前言:
无意中在易语言的官网看到有意思的东西:
     


     


     三联判断表达式、嵌入方法、多返回值、类型反射等等...于是就很好奇, 下了易·飞扬, 试了一下, 果真能这么书写, 真所谓和Javascript有得一拼, JavaScript使用方法内嵌能实现闭包这个东西, 于是就好奇易·飞扬能不能实现闭包? 正在编写完代码按下F5编译之际. 它居然提示授权文件到期, 编译失败:
     


     以我的性格是不可能善罢甘休的, 于是我就默默的打开吾爱破解的OD.


正题:
     破解之前说一下我的破解思路:
     1. 它肯定要读取"license.key"授权文件, 于是马上就想到在CreateFile函数下断.
     2. 它如果载入前就读取了"license.key"授权文件, 那就在SetWindowText函数下断. (用SPY探测出是个EDIT控件)
     3. 如果这三种都不能断下来, 就是使用SendMessage、PostMessage函数下断. (作者可能搞小动作不让我们拦截普通函数)


     思路一: F9跑起来, F5编译, 在CreateFile函数上是断下来了, 不过是读取编译文件的, 不是授权文件:
     


     试了好多种方法都发现它没读取授权文件. 接着下一个思路:

     思路二: 在SetWindowText函数下断, 可以看到写入的内容是空的:
     


     在这个函数上也捣鼓挺久, 以失败告终. 接着来:

     思路三: SendMessage、PostMessage函数下断, 但是断下来的信息量太大了, 条件断点都挡不住..., 此时又到了冷静一下了, 想想有什么新的思路去破解. 于是又想到如下的思路:
     1. 去授权文件的目录, 看看有没有可用信息.
     2. 是不是程序安装完成第一次启动就读取授权文件的信息, 然后写到注册表里面了? 是的话就要下注册码的函数断点了.
     3. 是不是程序还调用了第三方的程序执行代码, 所以重要的代码不在易·飞扬程序内?

     有了思路继续走, 到授权文件的目录可以看到两个文件:
     


     我注意到的是映入眼帘的"efc.exe", 因为我知道这三个就一定就是"e feiyang compile"(易·飞扬编译)的简写, 之前也写过简单的编译器, 命名也是这样的, 真是碰巧. 好, 回到正题, 是编译器就一定是使用命令行作为参数进行编译的, 打开cmd, 把这个拖进去回车, 果不其然:
     


     用这个编译器编译一个飞扬文件(*.ef)看看:
     


     什么情况? 编译器报出到期? 之前遇到的问题就全集中在这380kb的编译器上了, 既然如此就对它进行分析. 将它在在桌面上添一个快捷方式, 然后在属性->目标上加个空个在添个易·飞扬的源码路径, 当作编译器的参数, 然后用这个快捷方式拖进吾爱破解的OD, 此时在ReadFile函数下断, 果不其然, 读取授权文件了:
     


     回到程序领空搜索字符串发现"惊喜", 双击进来一起来看看:
     


     这一个是授权文件有效的情况才会跳到这里的, 不然不会提示授权文件过期、编译失败的提示.
     往上找, 能找到关键跳(它读取完授权文件信息并且解析完后调用一个关键CALL计算返回值, 这个跳前面就有一个关键比较):
     


     如图所述, 比较完如果授权文件过期就跳到编译失败, 如果有效就继续JNZ这个跳, JNZ就是跳到企业级授权的地方, 经过我的分析只要将"jg"改成"jl"就能实现完美爆破了. 也就是企业级的"易·飞扬"

附上爆破点以及破解成品:
     [原]0041539A     7F 13         jg short efc2.004153AF
     [改]0041539A     7C 13         jl short efc2.004153AF
     只要用C32ASM打开efc.exe定位到0041539A(如果不是这个地址那得计算偏移, 因为有些C32ASM默认开始地址是10000000), 然后将"7F"的"F"改成"C"就完成""字节的爆破了.

     成品: https://yunpan.cn/cRxVenAg37Ngg  访问密码 68eb


总结:
     毕竟这些都是吴涛前辈很久之前写的程序, 在程序的验证机制、反破解等方面没有很好的防护, 所有只要思路找对了, 破解的问题也就迎刃而解了. 这期主要讲解了破解对应的多个常用下断函数, 以及多种思路找程序的验证关键. 相信新手朋友们学到的更多是思路, 而不是爆破的奇淫技巧, 相信此破文能让你们破解有所提升. 吾爱有你更""、""。

免费评分

参与人数 14威望 +1 热心值 +14 收起 理由
18688518470 + 1 谢谢@Thanks!
哆啦 + 1 我很赞同!
Hmily + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
zlw310282 + 1 不错不错,很精彩!
youjw1996 + 1 谢谢@Thanks!
smshiwadai + 1 我很赞同!
榻榻米 + 1 我很赞同!
西安有雨 + 1 我很赞同!
动物凶猛 + 1 向老师学习,谢谢教程
铅笔刀 + 1 我很赞同!
尼霸Rc_ + 1 厉害!
lies2014 + 1 谢谢@Thanks!
青霄 + 1 谢谢@Thanks!
动物笑眯眯 + 1 小白看不懂 只能赞了!

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| 无瑕黑心肠 发表于 2016-6-14 23:21
青霄 发表于 2016-6-14 23:13
大神,能加个好友吗,企鹅,散就思刘而吧要务思

你可以关注我, 我有空就发发教程. 逛逛论坛!
 楼主| 无瑕黑心肠 发表于 2016-6-15 21:00
Hmily 发表于 2016-6-15 17:28
应该不至于只有这么简单的爆破吧,后面功能还有限制吗?

没用限制了. 就一处验证!
huxiaokui 发表于 2016-6-14 22:39
青霄 发表于 2016-6-14 23:13
大神,能加个好友吗,企鹅,散就思刘而吧要务思
onspee 发表于 2016-6-14 23:34
思路不错.
VIP1003 发表于 2016-6-14 23:36
小白鼠看不懂,先顶一个
无敌小儿 发表于 2016-6-15 06:46 来自手机
总见半字破解,学习下!
yhxing 发表于 2016-6-15 08:13
经典的很啊。。思路太多了吧。
Hmily 发表于 2016-6-15 17:28
应该不至于只有这么简单的爆破吧,后面功能还有限制吗?
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-17 13:48

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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