XCTF-reverse-signin
IDA找到main后快速看了一下,有没有见过的函数。
在网上整理搜索了一下,找到了相似的,个人感觉gmpz_init_set_str
就是mpz_init_set_str
,初始化并设置其值。
mpz_cmp就是比较。
mpz_powm(),就是把 rop 设置为 base^exp modulo mod,看起来像不像RSA加密方式,试一试吧。
这个是c是密文,m是明文,e是公钥,d是私钥,n=pq。
v4(n) = “103461035900816914121390101299049044413950405173712170434161686539878160984549”
v5(e) = “65537”
v6( c) = “ad939ff59f6e70bcbfad406f2494993757eee98b91bc244184a377520d06fc35”
用yafu找到p和q
- p = 282164587459512124844245113950593348271
- q = 366669102002966856876605669837014229419
然后求d,d=(p-1) * (q-1)。