SUCTF2019 Signin
DIE查一下:ELF64,IDA打开,没扣符号表,你🐎有了。

gmpz……好眼熟……对了!python里面有一个库叫做gmpy,盲猜这个库是支持高精度的一个库。根据__gmpz_powm不难猜出这应该是一个RSA:
N = 103461035900816914121390101299049044413950405173712170434161686539878160984549
c = 0xad939ff59f6e70bcbfad406f2494993757eee98b91bc244184a377520d06fc35
e = 65537
分解N:
python脚本:
1 | import gmpy2 |
然后十六进制转字符:

FlareOn6 Overlang
打开文件夹,有一个提示信息:
The secret of this next challenge is cleverly hidden. However, with the right approach, finding the solution will not take an overlong amount of time.
Hint:本题解出相应字符串请用flag{}包裹,形如:flag{123456@flare.com}。
大意就是:这个题很奇葩,要有方法……
那先按照常规思路,IDA打开,woc,好少:



看完了……emmmmm……没什么想法……
倒是有类似于加密算法的地方,,但是总感觉一堆位运算不是让你去逆的……
我们找一找奇怪的点……
在调用sub_401160函数的时候,第三个参数是0x1C,但是阅读sub_401160函数,第三个参数应该是第二个参数的长度,第二个参数的长度是0xAF,再结合运行弹窗:

我们动调修改那个数值:

1 | flag{I_a_M_t_h_e_e_n_C_o_D_i_n_g@flare-on.com} |
BJDCTF2020 easy
提示:和上一个题有异曲同工之妙……哦~
运行提示:Can you find me?
为什么有一种莫名的做pwn的感觉……
既然让我们找,那我们就找找,shift F12,字符串没什么……
在函数表里面找找……
C语言里面应该没有叫做ques的函数吧(ques,,,question???),看了看没有函数调用它……好家伙,这不就是pwn里面的backdoor函数么……
直接动调,随便修改一个指令为
1 | call 0x401520 |
这里建议修改main函数里面的内容,如果修改别的库函数,可能会有各种奇奇怪怪的问题……





