[Buuctf] [SUCTF2019]signin

博客主要围绕64位elf文件展开,先进行查壳,发现无壳后用64位IDA打开,找到主函数查看伪代码。分析其中一个函数可知其作用是返回字符串对应的ASCII码值,后续遇到不认识的函数,经分析判断是rsa加密,还提及可通过网站分解n值并上脚本。

在这里插入图片描述

1.查壳

在这里插入图片描述
64位elf文件,没有壳

2.用64位IDA打开

找到主函数,F5查看伪代码
在这里插入图片描述
有一个sub_96A函数对输入的字符串做了处理,双击进去看一下内容
在这里插入图片描述
对于熟悉汇编代码的人,这里应该是可以看出来的
这里右移四位把高四位放到低四位返回的是一个字节的高四位的值,然后下一行,& 0xF是把高四位清零了然后将低四位返回,其实就是把一个字符的ascii码值返回了。
这个函数的作用就是返回字符串对应的ASCII码值。
接着往下看,出现的是一堆不认识的函数,我们得去查他们的作用

 __gmpz_init_set_str(x,a,b):以b进制保存a到x中
__gmpz_powm(v6, v6, v5, v4); v6的v5次方再%v4存储到v6中
__gmpz_cmp(v6, v7);			比较,v6 == v7 返回0

这里就可以看出这是一个rsa加密,v7是密文
N=1034610359008169

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值