-
-
[原创](补)看雪CTF2016--15题的破文
-
发表于:
2016-12-8 00:21
3201
-
这个CM的作者,是我们班长...内秀啊!!!
赤壁怀古
那天我记得弄到了凌晨3点,第二天还要起来上课,不多说进入正题
这个样本我命名为七星阵,七条线程做验证嘛
七星阵是反调试加7个线程做验证,而且反调试用了多种手法汇编指令计算时间差,NtSetInformationThread等
但是,这样都是用函数来结束进程,这样为我们提供了简便法门,2570这个函数就是来结束进程的我们直接ret调即可
2410也可以ret调主要是调用了NtSetInformationThread,然后我记得还有一处NtSetInformationThread把这个函数调用也完全nop掉即可
到此七星阵没有反调试,可以愉快玩耍了
七星阵的验证算法我简单描述下:
1.对输入注册码屁股后面插一段PE的数据
2.然后将整段数据打乱顺序,按照奇偶序列规律打乱,这里打乱3次
3.然后将这段数据按0-8下标异或23,9-17下标异或'a',18-53下标异或'5',54-77下标异或'W'
4.将异或后的数据分拆为7段
5.分别将7段数据屁股后面插入赤壁怀古诗文
6.进行第2步算法,但是只来1次
7.然后分别将7段数据再来第3步算法,然后各与一段常量数据进行74位的对比
8.如果完全吻合则提示成功
我附件中已经把常量内容以及还原算法写出来,有兴趣的同学可以调试运行下就可以看到还原的正确注册码,pTmp中保存
[峰会]看雪.第八届安全开发者峰会10月23日上海龙之梦大酒店举办!