1.查壳。
无壳,64位文件。
2.丢到IDA中反编译。
3.分析代码。最后是比较v6和v7
关键是_gmpz_powm这个函数
网搜了下,发现都是英文(枯了枯了),就求助了一下大佬。
这个函数和__gmpz_cmp(比较), __gmpz_init_set_str都属于GNU 高精度算法库
发现powm函数和rsa加密一样
c=0xad939ff59f6e70bcbfad406f2494993757eee98b91bc244184a377520d06fc35
e=65537
n=103461035900816914121390101299049044413950405173712170434161686539878160984549
分解n得到p,q。
p=282164587459512124844245113950593348271
q=366669102002966856876605669837014229419
4.写脚本。
5.get flag
suctf{Pwn_@_hundred_years}(buuctf中suctf->flag)