babyrev
提取、反编译的过程就省略了。直接看源码,手撕还原没搞完,主要是卡住了,猜一下是RC4
compressed
下载下来解压后得到的还是一个压缩包,再解压一次。附件拖入ida
写脚本得到程序想要运行的字符串
赛博厨子嗦一下,自动弹出zlib。保存到文件
可以发现只是简单的异或,写个decode函数给异或回去就行。脚本
Keygen
keygen直接拖入ida
看check函数
经过两个swapper函数后比较。对valid_licences查引用
我vector用得少,这里应该是赋值了20个吧。先不管这个,看swapper函数
两个swapper函数是一样的,只不过v7不一样而已。用v7建了一个无序map,然后和输入一起作为参数传入base_swapper
遍历map,交换输入字符串中的字符位置。脚本。写这个题的时候真的是头昏眼花,先是没看到第二个swapper函数,而且脚本写的又忘记索引乘2,做题还是要保证有清晰的头脑的