iscc2018-Reverse-writeup
RSA256
解析公钥

yafu质因数分解

p=325045504186436346209877301320131277983
q=302825536744096741518546212761194311477
e=65537
生成
import math
import sys
from Crypto.PublicKey import RSA keypair = RSA.generate(1024) keypair.p = 325045504186436346209877301320131277983
keypair.q = 302825536744096741518546212761194311477
keypair.e = 65537
keypair.n = keypair.p * keypair.q
q = long((keypair.p-1) * (keypair.q-1))
i = 1
while True:
x=(q*i)+1
if (x % keypair.e == 0):
keypair.d = x / keypair.e
break
i += 1
print keypair.d #
private = open('private.pem','w')
private.write(keypair.exportKey())
private.close()
解密脚本
#coding=utf-8
import rsa,base64 with open('private.pem','r') as f:
privkey = rsa.PrivateKey.load_pkcs1(f.read().encode()) f1=open('encrypted.message1','r')
f2=open('encrypted.message2','r')
f3=open('encrypted.message3','r')
a=f1.read()
message1 = rsa.decrypt(a, privkey).decode().rstrip()
a=f2.read()
message2 = rsa.decrypt(a, privkey).decode().rstrip()
a=f3.read()
message3 = rsa.decrypt(a, privkey).decode().rstrip()
print message1+message2+message3 #flag{3b6d3806-4b2b-11e7-95a0-000c29d7e93d}
leftleftrightright
peid查壳

手动脱壳

ida查看伪代码

还原flag:Flag{this_was_simple_isnt_it}
My math is bad
elf64,ida查看,题目要求为两个四元方程组求解
from sympy import *
a=Symbol('a')
b=Symbol('b')
c=Symbol('c')
d=Symbol('d')
e=Symbol('e')
f=Symbol('f')
g=Symbol('g')
h=Symbol('h')
print solve([
a*b-c*d-2652042832920173142,
3*c+4*d-b-2*a-397958918,
3*d*a-b*c-3345692380376715070,
27*b+a-11*d-c-40179413815
],[a,b,c,d])[0]
print solve([
22*e-f-g+39*h-61799700179,
45*g-45*f+e+h-48753725643,
35*e+41*f-g-h-59322698861,
e-f+36*g-13*h-51664230587
],[e,f,g,h])
a=1869639009
b=1801073242
c=829124174
d=862734414
e=811816014
f=828593230
g=1867395930
h=1195788129
l=[a,b,c,d,e,f,g,h]
s=''
for i in l:
c=''
for j in range(4):
c+=chr(int(hex(i)[2+j*2:4+j*2],16))
s+=c[::-1]
print s #ampoZ2ZkNnk1NHl3NTc0NTc1Z3NoaGFG
obfuscation and encode
import string,base64
aphla='FeVYKw6a0lDIOsnZQ5EAf2MvjS1GUiLWPTtH4JqRgu3dbC8hrcNo9/mxzpXBky7+'
base='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'
s='lUFBuT7hADvItXEGn7KgTEjqw8U5VQUq'
m=[2 ,2, 4, -5, 1 ,1, 3, -3, -1, -2, -3, 4, -1,0, -2, 2]
s1=''
for c in s:
s1+=base[aphla.index(c)]
s1=base64.b64decode(s1)
for i in string.printable:
for j in string.printable:
for k in string.printable:
for l in string.printable:
s=i+j+k+l
s0=''
for n in range(4):
v10=0
for o in range(4):
v10+=ord(s[o])*m[4*n+o]
s0+=chr(v10%256)
if s0==s1[0:4]:
print s,1
if s0==s1[4:8]:
print s,2
if s0==s1[8:12]:
print s,3
if s0==s1[12:16]:
print s,4
if s0==s1[16:20]:
print s,5
if s0==s1[20:24]:
print s,6
'''
s3='flag{dO_y0U_KNoW_0IlVm?}'
iscc2018-Reverse-writeup的更多相关文章
- BUGKU-逆向(reverse)-writeup
目录 入门逆向 Easy_vb Easy_Re 游戏过关 Timer(阿里CTF) 逆向入门 love LoopAndLoop(阿里CTF) easy-100(LCTF) SafeBox(NJCTF) ...
- ISCC2018 Reverse & Pwn writeup
Reference:L1B0 Re RSA256 春秋欢乐赛原题..flag都不变的 给了三个加密文件和公钥证书public.key,可以使用openssl进行处理 $openssl rsa -pub ...
- GKCTF 2021 Reverse Writeup
前言 GKCTF 2021所以题目均以开源,下面所说的一切思路可以自行通过源码对比IDA进行验证. Github项目地址:https://github.com/w4nd3r-0/GKCTF2021 出 ...
- ISCC2018(web)
ISCC2018 web writeup (部分) #web1:比较数字大小 只要比服务器上的数字大就好了 限制了输入长度,更改长度就好 #web2: 普通的代码审计,数组绕过 #web3:本地的诱惑 ...
- ISCC2018(misc)
ISCC2018 misc writeup(部分) 这些天做个了iscc题目,有些题目不是很难,网上都有相同的题或者类似的题目,但是我很菜,没做出来多少. #misc1:Where is the FL ...
- (未完成)catalyst-system WriteUp(2019暑假CTF第一周reverse)
目录 预备学习--Linux实践:ELF文件格式分析 一.概述 二.分析ELF文件头(ELF header) 三.通过文件头找到section header table,理解其内容 四.通过secti ...
- ISCC2018 writeup(web)
比较数字大小 F12 修改maxlength为4 web01 strcmp()函数遇到数组会返回NULL 而PHP是弱类型语言 在==比较的时候,如果有数值的话会先将字符串转换为数值在进行比较,而N ...
- 2016第七季极客大挑战Writeup
第一次接触CTF,只会做杂项和一点点Web题--因为时间比较仓促,写的比较简略.以后再写下工具使用什么的. 纯新手,啥都不会.处于瑟瑟发抖的状态. 一.MISC 1.签到题 直接填入题目所给的SYC{ ...
- 2018国赛 - Writeup(待补充)
10.0.0.55 Writeup Web 0x01 easyweb 解题思路 题目很脑洞 用户名admin 密码123456进去可得到flag(密码现在换了) 解题脚本 无 Reverse 0x02 ...
- ISCC 2018 Writeup
题解部分:Misc(除misc500).Web(除Only Admin.Only admin can see flag.有种你来绕.试试看).Reverse.Pwn.Mobile Misc( Auth ...
随机推荐
- 微信小程序的wxs语法与vue计算属性
微信小程序的wxs语法 可以当做vue的计算属性和vue filter 使用.因为wxs中的函数可以写在{{ }}中 . 例如: 可用在 <view>{{ foo() }}</v ...
- mysql 添加grant权限
GRANT USAGE ON *.* TO 'xxxx'@'x.%.%.%' WITH GRANT OPTION;
- Pytorch学习之源码理解:pytorch/examples/mnists
Pytorch学习之源码理解:pytorch/examples/mnists from __future__ import print_function import argparse import ...
- 使用 pdb 进行调试
使用 pdb 进行调试 pdb 是 python 自带的一个包,为 python 程序提供了一种交互的源代码调试功能,主要特性包括设置断点.单步调试.进入函数调试.查看当前代码.查看栈片段.动态改变变 ...
- c# 如何把一个同步方法变成异步方法
1 例如有同步方法如下: private static void GenerateFile(DataTable dt) { } 2 变为异步方法 private static void Generat ...
- PHP 手机短信发送验证码
点击链接加入群[php/web 学习课堂]:https://jq.qq.com/?_wv=1027&k=5645xiw 欢迎大家加入,一起讨论学习 本篇设计的知识点有点多,我会分类将,同学们可 ...
- java之JVM学习--简单了解GC算法
JVM内存组成结构: (1)堆 所有通过new创建的对象都是在堆中分配内存,其大小可以通过-Xmx和-Xms来控制,堆被划分为新生代和旧生代,新生代又被进一步划分为Eden和Survivor区.Sur ...
- spring 整合mongodb报NoSuchMethodError错误
刚开始通过网上查到相关的资料进行了一些配置,参考链接:http://www.open-open.com/lib/view/open1454374782167.html maven的dependenci ...
- 《Linux就该这么学》day4-6
继续学习打卡,这几天有事所以看视频补上了这几天的学习进度. day4:主要重点 tar打包和解压命令 tar -zxvf xxx.tar.gz 解压xxx.tar.gz (将xxx.tar.gz ...
- vim编辑命令
vi命令 命令模式: yy:复制 光标所在的这一行 4yy:复制 光标所在行开始向下的4行 p: 粘贴 dd:剪切 光标所在的这一行 2dd:剪切 光标所在行 向下 2行 D:从当前的光标开始剪切,一 ...