[WUSTCTF2020]level3
base64换表,给出了加密后的字符串,那么我们只需要找到换表函数即可,通过交叉引用查看到关键函数
1 |
|
base64解密即可
特殊的 BASE64
猜测是base64换表
文章作者: Randolf luo
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Randolfluo's blog!
相关推荐
2023-12-29
CrackRTF
CrackRTF 函数atoi将输入的字符串化为整型,同时限定了v7为长度为6的字符串,因此我门可以尝试爆破,sub_401230有标识符0x8004u,判断为sha1 12345678910import hashlibstring='@DBApp'for i in range(100000,999999): flag=str(i)+string x = hashlib.sha1(flag.encode("utf8")) y = x.hexdigest() if "6e32d0943418c2c33385bc35a1470250dd8923a9" == y: print(flag) break 123321@DBApp passwd(2)只限定了输入的长度,有 95^6种可能 (可见字符),显然无法直接爆破。 在sub_4014D0我们发现了 hResInfo = FindResourceA(0, (LPCSTR)0x65,...
2023-12-19
红帽杯easyre
step1,通过字符串查找突破口,发现疑似base64加密的字符串,进入交叉引用查看主函数。 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485int __fastcall main(int argc, const char **argv, const char **envp){ int result; // eax __int64 v4; // rax __int64 v5; // rax __int64 v6; // rax __int64 v7; // rax __int64 v8; // rax __int64 v9; // rax __int64 v10; // rax __int64 v11; // rax __int64 v12; // rax __int64...
2023-11-19
buuctf_wp1
IDAPRO 快捷键 功能 Esc 回到上一个位置 Enter 跳转到当前光标处的地址 - 折叠代码 + 展开代码 * 创建一个结构 Alt + A 手动定义一个数组 Alt + F 寻找直接引用的函数 Alt + G 跳转到特定的地址 Alt + T 搜索 Alt + X 重命名 Ctrl + G 快速跳转到指定地址 Ctrl + J 显示引用列表 Ctrl + K 显示 XREF 到选中的函数/数据 Ctrl + N 创建一个函数 Ctrl + Q 快速重命名 Ctrl + X 显示从选中的函数/数据的 XREF Ctrl + E 显示结构类型 Ctrl + R 手动定义一个数据结构 Ctrl + W 打开函数列表 Ctrl + D 以十进制显示当前值 Ctrl + B 以二进制显示当前值 Ctrl + H 以十六进制显示当前值 Space 在图形/文本视图中切换 shift + f12 打开字符串窗口 F5 转伪C代码 easyreExeinfo...
2023-12-26
z3求解器
Z3z3有整型(Int),实型(Real)和向量(BitVec)。 先生成一个求解对象Solver solver.model()求解 BUUCTF-re-[GUET-CTF2019]re1234567891011121314151617181920212223242526272829303132333435363738394041from z3 import *s = Solver()a1 = [0]*32for i in range(32): a1[i] = Int('a1['+str(i)+']')s.add( 1629056 * a1[0] == 166163712 )s.add( 6771600 * a1[1] == 731332800 )s.add( 3682944 * a1[2] == 357245568 )s.add( 10431000 * a1[3] == 1074393000 )s.add( 3977328 * a1[4] == 489211344 )s.add( 5138336 * a1[5] ==...
2023-10-18
python逆向
pythonpython是一门解释性的语言 源代码—>中间代码—>机器语言 编译器先将源代码编译成虚拟机指令,再由解释器对中间代码进行解释。 python有两种常见的解释器: CPython:C语言开发,使用最广,默认的解释器 PyPy:采用JIT技术,对python代码进行动态编译,追求执行速度 Python 字节码与字节码混淆 - 简书 (jianshu.com)关于python字节码的知识 深入理解python之Opcode备忘录 - 简书 (jianshu.com)这个博客里有关于字节码指令的详细解释 pyc文件 pyc是编译py后生成的字节码文件,可以用来隐藏源代码。pyc内容跟python 版本有关。 不同版本的python可能运行不了同一个pyc文件。 12python -m py_compile test.py#反编译pyc文件 学习python字节码学习搭配chatGPT,能提高学习效率 CPython使用基于堆栈的虚拟机 在执行python文件时候,第一步: python解释器会将你写的python代码先编译为字节码第二步:...
2023-11-24
SWPUCTF 2021 新生赛-老鼠走迷宫
在看雪学苑看到了一题py逆向,正好最近在学习,遂拿来做。 题目链接https://pan.baidu.com/s/1Rq4lJmANHSL1EKk8AZxqDw?pwd=0422 首先拿到一个附件,没有后缀 将其拖入010Editor查看文件头,发现其为4D5A开头,为windowsPE文件的MS-DOS 头,将文件后缀修改为PE文件的可执行系列.exe ** 可以通过该文件图标特征判断该文件为PyInstaller打包的文件,也可以通过Exeinfo PE来查看文件提示,推荐查看 python打包的二进制文件反编译 - Hk_Mayfly - 博客园 (cnblogs.com)博客里也有一个pwn题 打开exe程序发现是一道迷宫题,flag是用wasd表示的最短路径的md5值。 反编译成py文件我们先把pyinstxtractor.py复制到exe文件同一目录,执行命令 1>python pyinstxtractor.py...
公告
This is my Blog