QCTF -re -ollvm

本文介绍了在QCTF比赛中遇到的一道逆向工程题目,涉及RSA加密和控制流平坦化。作者建议先阅读关于PIN工具的文章,然后详细描述了如何分析程序逻辑,发现RSA加密过程并利用inscount0.so进行爆破的方法。最后,作者总结了自己的学习收获,并表达了继续努力的决心。
摘要由CSDN通过智能技术生成

前言

首先建议看下之前的文章,这题基本上用pin可以很快的解决。

过程

具体的pin和pintool我就不说了

0x0

拿到题目很蒙,IDA打开,发现全是gmp,mpz的东西,了解一点的同学应该能联想到RSA,但是好像对解题没什么帮助哈。总之初略的理了一下逻辑,通过两种不同的方式进行RSA加密,第一个是直接利用的RSA加密原理,第二是通过使用gmp库的API函数。如果仅仅是RSA加密其实还是好做的,但是很恶心,程序做了控制流平坦化,因此我们尝试使用pin进行解答。
首先通过程序代码能看到,flag的长度为38位,然后使用inscount0.so,输入QCTF等字符,进行猜测,发现指令数是递增的。2333,那么直接爆破一下就好了。
代码如下:

import subprocess
import os
import logging
import json
import string
import time
logg
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值