开门见山
看一下多少位的
Flag就在上面
给电灯通电
打开看一下主函数
看到这个判断同时,进去看到最后一个函数
看到最后一个判断,数组判断的个数是56个
在IDA里面v5这个参数确实是56,但是v2不是
我们放进去看一下发现
有了前面的一些,再看
还有一种方法,在OD里面进行调试,因为if语句我们可以把判断改了然后去实现我在IDA里改了判断条件,按理说运行应该是成,后面用X64dgb去调试发现不是很好,建议用od吧,我就不去试了
Reverse 1t
我们将判断命令进行修改,在汇编层面进行修改后
然后直接运行
开门没见到山
用V3[i%3]数组对应的值+2(i/3)的值-(i+a1)处的值
根据主函数,信息,只要sub_4006FD函数返回值为0就行
所以就是让这个函数循环11次的值等于1
分析这段,上脚本
Pyc
对其进行反汇编
定义了encode函数
每个字符与32进行异或
异或后再加16,再用base64编码
所以脚本
Re1
IDA分析
先是调用enc.dll文件里的encode函数
Encode函数将字符转换为指定的编码
在dll文件里看看encode的实现
发现做了两次的加密
不过这里值得细心观察str的值
其思路就是拿fianl里的值与“Reveser”做了异或
然后再用Base64编码解开就好