首页
课程
问答
CTF
社区
招聘
峰会
发现
排行榜
知识库
工具下载
看雪20年
看雪商城
证书查询
登录
注册
首页
社区
课程
招聘
发现
问答
CTF
排行榜
知识库
工具下载
峰会
看雪商城
证书查询
社区
CTF对抗
发新帖
1
0
[讨论]看雪CTF2016第二题分析讨论
发表于: 2016-11-6 13:34
4929
[讨论]看雪CTF2016第二题分析讨论
netwind
13
2016-11-6 13:34
4929
从作者提供的设计文档可以看出,作者非常认真,并且下了很大功夫。
该题目是一道算法题,作者为了提高难度将算法验证过程放在了LUA脚本里,另外用RC6把所有字符串进行了加密。
要想破解此题,首先得找到算法验证部分,并且得到注册码加密后的密文;然后要对算法有一定了解,能够识别出作者改写过的AES算法,接着就是找到crackme里AES解密的接口进行解密,在AES解密后,再进行一次RC6解密即可还原出注册码,
看得出作者技术扎实,对软件保护和破解有自己独到的认识!
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
收藏
・
1
免费
・
0
支持
分享
分享到微信
分享到QQ
分享到微博
赞赏记录
参与人
雪币
留言
时间
查看更多
赞赏
×
1 雪花
5 雪花
10 雪花
20 雪花
50 雪花
80 雪花
100 雪花
150 雪花
200 雪花
支付方式:
微信支付
赞赏留言:
快捷留言
感谢分享~
精品文章~
原创内容~
精彩转帖~
助人为乐~
感谢分享~
最新回复
(
10
)
netwind
雪 币:
10914
活跃值:
(3288)
能力值:
(RANK:520 )
在线值:
发帖
86
回帖
844
粉丝
26
关注
私信
netwind
13
2
楼
欢迎大家来讨论 交流技术!
2016-11-6 13:34
0
orz1ruo
雪 币:
16468
活跃值:
(2493)
能力值:
( LV9,RANK:147 )
在线值:
发帖
1
回帖
611
粉丝
9
关注
私信
orz1ruo
3
楼
嗯. 希望比赛结束以后, 可以放出源码, 我看第一题第二题写的程序都挺有意思的..下面还有一大堆. 估计还有各式各样的方式, 学习下.
2016-11-6 13:40
0
AloneWolf
雪 币:
13095
活跃值:
(4092)
能力值:
( LV15,RANK:1673 )
在线值:
发帖
36
回帖
354
粉丝
13
关注
私信
AloneWolf
3
4
楼
第二题用LUA文件也算是够狠的了,好在只是简单的改了文件头,没有变态到改pcode。
LUA中的验证代码也很简单,不知道有没有人没分析LUA脚本就做出来了?应该还是有可能吧?
2016-11-7 07:47
0
爱琴海
雪 币:
1355
活跃值:
(339)
能力值:
( LV13,RANK:920 )
在线值:
发帖
74
回帖
660
粉丝
7
关注
私信
爱琴海
13
5
楼
我说句实在话,如果不是嵌入LUA脚本虚拟引擎,什么RC6等其他算法根本不足为惧,如果对LUA反编译和破解没有研究过的话,很难找到最终的校验代码。
所以该CrackMe真正倚仗的不是什么算法,而是脚本虚拟引擎。前面的算法都是漂亮的、协调的,到了最后反倒没有自信将关键 CHECK隐藏到了LUA,让人感觉到作品出现了“不协调”。
难点就是LUA,作品的缺憾也在LUA,如果没有嵌入LUA脚本,整体协调、平衡将会是很棒的。
2016-11-7 08:18
0
XXxiaofeng
雪 币:
134
活跃值:
(11)
能力值:
( LV3,RANK:30 )
在线值:
发帖
16
回帖
149
粉丝
0
关注
私信
XXxiaofeng
6
楼
以前没接触过Lua的我,做了第二题后让我对lua有了深刻的认识
...没有找到能解析Lua字节码的luadec,也不熟悉字节结构只好在luaV_execute里对每个指令下断看他跑了些什么(已经一个case一个case跟Lua源码大致比较过,确认没有修改指令序列),后来发现里面关键的只有一个OP_EQ,主要的还是在外面fnGetRegSnToVerify和fnCalcUserInputRegSnAfterEnc,对算法了解太少,最后只找到正确序列号AES后的值,不会还原
...花在熟悉lua上太多时间了
看大神们根据加密算法写出逆运算和自己手工还原lua字节码,大写的
服
!!!
2016-11-7 10:38
0
AloneWolf
雪 币:
13095
活跃值:
(4092)
能力值:
( LV15,RANK:1673 )
在线值:
发帖
36
回帖
354
粉丝
13
关注
私信
AloneWolf
3
7
楼
luadec网上有哦,偶也是临时下载了一个能解5.3的,不过要改文件头才能反编译出来
2016-11-7 10:40
0
XXxiaofeng
雪 币:
134
活跃值:
(11)
能力值:
( LV3,RANK:30 )
在线值:
发帖
16
回帖
149
粉丝
0
关注
私信
XXxiaofeng
8
楼
我找到的只有那个5.1的...而且lua各版本差异太大了,我一开始还没体会到,自己编译了一个是5.2的字节码,跟crackme里解出来的头差距蛮大,到后面我断luaV_execute对比指令的时候我才发现指令数不对,5.2只有30多个,5.3才是40多,到这会儿我才知道版本...
到这一步我也就没打算再把lua字节码解出来了,只想知道他都执行些什么也就差不多了,因为这会我已经对Lua执行栈比较眼熟了,取参数,放参数,返回,这些值我都能在内存里找到,下次再遇到Lua的应该能很快上手了
2016-11-7 10:55
0
〇〇木一
雪 币:
289
活跃值:
(83)
能力值:
( LV9,RANK:200 )
在线值:
发帖
4
回帖
20
粉丝
6
关注
私信
〇〇木一
9
楼
其实加解密的函数程序里都有,只要替换下参数运行下就可以解出来了
luadec github上有5.3的
2016-11-7 11:23
0
XXxiaofeng
雪 币:
134
活跃值:
(11)
能力值:
( LV3,RANK:30 )
在线值:
发帖
16
回帖
149
粉丝
0
关注
私信
XXxiaofeng
10
楼
是的解密函数我找到了,但是我没想到也能用来解序列号...我只把他当做解密提示字符串的了
还是功力不够,得多跟大神们学习
2016-11-7 12:32
0
泪落晨曦
雪 币:
223
活跃值:
(32)
能力值:
( LV2,RANK:10 )
在线值:
发帖
1
回帖
46
粉丝
1
关注
私信
泪落晨曦
11
楼
请教下大牛在做题的时候要如何识别加密算法如rc6那些呢?每次看到一长串的函数就不知道如何下手了...
2016-11-16 10:40
0
游客
登录
|
注册
方可回帖
回帖
表情
雪币赚取及消费
高级回复
返回
netwind
13
86
发帖
844
回帖
520
RANK
关注
私信
他的文章
[推荐]针对APP流量中AES密文解密的burp插件(AES killer修改版)
13375
[公告]2019 Q2 KCTF 防守方规则
8919
[公告]看雪CTF大赛2019火热开启!晋级赛Q1 [结束]!
17029
看雪CTF2018团队赛相关建议及问题搜集!
5682
[结束]2018看雪.TSRC CTF 挑战赛(团队赛)
22351
关于我们
联系我们
企业服务
看雪公众号
专注于PC、移动、智能设备安全研究及逆向工程的开发者社区
看原图
赞赏
×
雪币:
+
留言:
快捷留言
为你点赞!
返回
顶部