RE
RSA256
RSA 上工具
RsaCtfTool.py --publickey ./key.pub –private
公钥比较简单,直接解除对应私钥
然后 openssel
My math is bad
IDA 输入字符串比较一下
解方程呗先做第一段用 sympy
1869639009, 1801073242, 829124174, 862734414 求出来转 16 进制,因为内存小端序,各段再倒序
ampoZ2ZkNnk1NHl3 后半段同样,拼接后的
ampoZ2ZkNnk1NHl3NTc0NTc1Z3NoaGFG
输进去就完事了
Leftleftrightright
IDA 没找到运行后的字符串,放 PEID 看一下
有壳
在 OD 中每次运行是初始地址都会边,去掉 ASLR OK,开始脱壳找到 OEP,dump下来
OEP:0X24C7
然后用 LordPE dump 出完整映像,再用 ImportREC 输入我们得到的 OEP,自动扫描了之后点击获取输入表就能得到这些函数了 Fix Dump,用我们之前 dump 出的映像就能成功修复文件了
再次 IDA 就找到字符串咯
然后分析找到 flag 的比较函数在这里用 OD 打开,在输入函数处下断,我在这里输入了:
0123456789abcdefghijklmnopqrs
一共 29 个字符,然后再用 OD 跟进到 flag 比对函数内部,看到我之前输入的字符串的顺序被打乱成这样:
edfgcbhia9jk87lm65no43pq21rs0
好啦,把对应的字符串打乱输出就好咯
Flag{this_was_simple_isnt_it}
obfuscation and encode
IDA 走一波,重要的函数主要就两个
fencode 和encode,然后和字符串 lUFBuT7hADvItXEGn7KgTEjqw8U5VQUq 比较对了就行