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