![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ctf
文章平均质量分 72
寻梦&之璐
这个作者很懒,什么都没留下…
展开
-
frida编译
frida编译原创 2022-10-24 23:06:10 · 1537 阅读 · 1 评论 -
XCTF hello_pwn level2 get_shell
hello_pwn这里需要满足的条件是60016C处的字符串为nuaa这里的话需要覆盖,从601068覆盖到6010CC即可,6010CC处用nuaa进行覆盖:# coding:utf-8 from pwn import * r = remote("111.200.241.244",57818)#远程连接payload = 'a'*(0x6c-0x68)+ 'aaun'r.recvuntil("lets get helloworld for bof\n")r.sendline(paylo原创 2022-09-30 14:20:51 · 847 阅读 · 0 评论 -
字节跳动复盘
占个位,正在补,原创 2021-10-24 23:08:14 · 230 阅读 · 0 评论 -
鹤城Re题目
文章目录AreYouRich分析登录验证token简单异或脚本AreYouRich分析登录拿到这个题的时候,新手往往会把这里当成重点:比如说我。。。。老狗了。。。其实搞出用户名和密码啥用都没有。。当时一直就围绕前面这个来思考。结果想断篇了。这个类主要用处就是传递token,其它的啥用没有把这里找好验证token而验证token的话,最主要是两个while循环(其中有个还是赋值操作。笑哭)while(v9 < v6) { v11 = (v5[v10]原创 2021-10-23 14:35:54 · 371 阅读 · 0 评论 -
MoeCTF 2021Re部分------大佬请喝咖啡,A_game
文章目录大佬请喝咖啡反编译解释\u:z3解码A_game数独题:这里判断行数据是1~9:这里判断列数据是1~9:9*9数独阵分为9个3*3方阵,每个方阵数据1~9进行异或magic脚本在线数独求解器大佬请喝咖啡反编译解释\u:就是一个数字编码,只不过它是两个字节,所以需要使用Unicode编码,ascii码只有一字节,没办法大于256(官方是128),所以这里的话,只需要把\u换成0x,即可和字符进行相乘z3解码from z3 import *s=Solver()charArray=[In原创 2021-10-21 11:15:39 · 454 阅读 · 0 评论 -
Re题目------Enm.exe
文章目录代码分析脚本1脚本2代码分析for ( i = 0; i < 32; i += 8 ) { for ( j = 0; j < 128; ++j ) { v10 = &Str[i]; if ( *(int *)&Str[i + 4] >= 0 ) { *(_QWORD *)v10 *= 2i64; } else原创 2021-10-21 00:33:25 · 2245 阅读 · 0 评论 -
MoeCTF 2021Re部分------PE
文章目录ida分析算出秘钥解密脚本总结ida分析这个题呢,目的是用附件异或一串秘钥得出一个exe,然后运行exe即可得出flag,然后秘钥主要藏在PE文件头中算出秘钥说实话,这题有点脑洞,我就说一下大概思路:PE头部和所给file附件相对位置藏有秘钥,需要算出key然后根据这里~(bank[i] ^ input[i % v7])计算,取反的逆运算的就是^0xffPE_=b'This program cannot be run in DOS mode'file_=[0xDE,0xB6,0x原创 2021-10-20 21:47:29 · 256 阅读 · 0 评论 -
MoeCTF 2021Re部分------ez(递归转循环)
文章目录ida分析总结idafor ( i = 0; i <= 75; ++i ) { Character = fuck(i * i) ^ flag[i]; putchar(Character); }__int64 __fastcall fuck(int a1){ int v2; // ebx if ( a1 <= 1 ) return (unsigned int)a1; v2 = fuck(a1 - 1); return v2 + 2原创 2021-10-20 17:51:14 · 216 阅读 · 0 评论 -
MoeCTF 2021Re部分------RedC4Bomb
文章目录去花后keys(key)init(key, v9, (int)key);脚本总结:去花后只需要管是三个函数keys(key) init(key, v9, (int)key); encry(key, (int)key, (int)input, (int)ciphertext);,其它都不重要,反正不要点开轰炸函数就行。keys(key) j_memset(this, 0, 0x100u); this[64] = "THISISAFAKEFLAG"; return this;原创 2021-10-20 17:18:38 · 275 阅读 · 0 评论 -
MoeCTF 2021Re部分------Midpython.exe
Midpython.exepython代码写成的exe,进行反编译,先搞成pyc,然后把pyc反编译成py,但是再第二个步骤反编译成py的时候出现了如下报错:Traceback (most recent call last): File "g:\python3.7.6-64\lib\runpy.py", line 193, in _run_module_as_main "__main__", mod_spec) File "g:\python3.7.6-64\lib\runpy.py",原创 2021-10-20 16:48:53 · 2662 阅读 · 0 评论 -
MoeCTF 2021Re部分------baby_bc
文章目录baby.bc编译ida分析Rc4初始化加密Base64变形结果数组解密代码:baby.bc编译llc chall.bc -o chall.s然后把.s(汇编代码搞成可执行程序)在进行编译的时候出现了如下报错: gcc -c chall.s -o hello报错如下:chall.s: Assembler messages:chall.s:4: Error: unknown pseudo-op: `.def'chall.s:5: Error: unknown pseudo-o原创 2021-10-20 16:22:34 · 668 阅读 · 0 评论 -
MoeCTF 2021Re部分------Algorithm_revenge
文章目录ida分析脚本分析生成map地图数据累加提醒:绝对不是取出每行最大值相加(特别注意当前元素的上行元素的左中右这个限制),然后把所在列坐标进行存储挑出50行最大值列坐标ida分析尝试找最大值随机数进行填充地图,种子是0x1BF52u,而且填充区域是一个三角形。for ( i = 0; ; ++i ) { v3 = i; if ( v3 >= sub_429ED0((__int64)inputs) ) // v3大于长度49 break;原创 2021-10-20 15:45:30 · 348 阅读 · 0 评论 -
MoeCTF 2021Re部分------time2go
文章目录time2gokeypatch使用main_fun2(后一半)time2gokeypatch使用(ida中的keypatch插件)考点主要是玩keypatch,把sleep直接nop,然后随机应变下面的if区域用keypatch直接nop掉time_sleep函数,紧接着下面if判断是判断运行时间是否超过,这里的话需要把if判断(本身是个jbe)直接改成jump,直接过掉。然后下断点动态执行,别去直接运行,直接运行可能循环一次后代码复原要么直接sleep了,或者就是直接进if判断中后直接报原创 2021-10-16 23:25:40 · 245 阅读 · 0 评论 -
linux编译llvm代码
文章1 Ubuntu 16.4安装llvm和clang——从源代码的方式构建从这篇文章构建后,出现了两个问题,一个是Ubuntu扩容,一个是Ubuntu增加swap交换空间Ubuntu扩容Ubuntu增加swap交换空间(或者直接换成构建Release也可以解决这个问题)最后搞出了这种情况总结:make和install成功后,啥都有,就是没有clang和clang++没办法,只能命令安装:sudo apt-get install clang-3.8安装clang文章紧接着配环境变量就行原创 2021-10-08 00:49:09 · 352 阅读 · 3 评论 -
pwndbg用docker实现,进行题目分析
实在没办法了,所以才用docker形式来实现pwndbg的,报错太老火了我出现了报错,然后我照着这篇博客做,结果这个网址显示404,gg,没办法了,只能这样了文章目录找pwndbg拖下以交互的方式run这个容器(前面我们说过映射,但这个映射进来并不是一个文件夹,而是直接成一个文件)找pwndbgsudo docker search pwndbg拖下sudo docker pull jthorpe6/pwndbg以交互的方式run这个容器(前面我们说过映射,但这个映射进来并不是一个文原创 2021-09-05 23:38:44 · 258 阅读 · 0 评论 -
BUUCTF [FlareOn1]Bob Doge [GXYCTF2019]
文章目录[GXYCTF2019]SXMgdGhpcyBiYXNlPw==[FlareOn1]Bob Doge[GXYCTF2019]SXMgdGhpcyBiYXNlPw==拿到一个题目,打开后显示这样'''base64隐写解密'''base64chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'flag=''with open('flag.txt','r') as f: for li原创 2021-08-30 23:09:21 · 522 阅读 · 0 评论 -
VS报错:此项目需要缓解Spectre漏洞的库
文章目录报错起因解决方法:安装两个部分:第一部分(SDK,库和框架)第二部分(编译器,生成工具和运行时)成功报错起因刚开始VS没安装WDK环境的时候没有这个报错,等我安装完WDK,然后运行之前所有完全正常的项目,都会提示一个类似的错误解决方法:先把你的VS更新到最新版,省得你去找VS对应的Spectre版本啦,然后打开VS installer,点击修改,然后出现这个(如果当不是最新版时,那么需要自己去一个版本一个版本进行尝试)在单个组件里输入Spectre然后进行搜索:(这里安装分上下两个标题原创 2021-08-26 23:24:51 · 5918 阅读 · 1 评论 -
pwntools用docker实现,进行pwn题解答
level0ssize_t vulnerable_function(){ char buf[128]; // [rsp+0h] [rbp-80h] BYREF return read(0, buf, 0x200uLL);}长度为0x200字符,直接放入 仅有128字符长度的数组中(也就是栈中)。另外找到一个函数,直接获得一个shell,缓冲区溢出,就修改返回地址跳转到这里...原创 2021-08-25 00:15:55 · 769 阅读 · 1 评论 -
镇江职业技能大赛
文章目录APKRE看了两道题,挺简单的,贴一下脚本吧APK#include <iostream>using namespace std;int main(){char flag_encode[] ={'2', '6', '7', '6', '=', '>', 'C', 'J', ':', '2', ':', '<', 'L', 'H', 'I', '\'', '%', ' ', '#', '!', 'V', '\'', 'R', ')', '.', '#', '+'原创 2021-08-24 17:37:36 · 140 阅读 · 0 评论 -
CSAPP实验二进制炸弹
文章目录bomb第一关第二关第三关bomb运行了一下bomb,知道一共有6个关卡,这里我们运行gdb来进行调试第一关寄存器名称作用rax存储返回值rbx存储函数调用参数rcx存储参数rdx存储参数rsi存储参数rdi存储参数rbp存储调用函数的地址rsp栈寄存器r8存储参数r9存储参数提权然后进行gdb调试,紧接着下一个断点在第一关这个函数这,函数名的话,cpp文件里有,break phase_1原创 2021-08-11 18:49:07 · 7044 阅读 · 1 评论 -
MoeCTF2021 逆向赛题总结
文章目录Midpython.exechall.bc因为大晚上才看题的,就随便看看那几个高分值的:Midpython.exepython代码写成的exe,进行反编译,先搞成pyc,然后把pyc反编译成py,但是再第二个步骤反编译成py的时候出现了如下报错:Traceback (most recent call last): File "g:\python3.7.6-64\lib\runpy.py", line 193, in _run_module_as_main "__main__",原创 2022-09-30 14:24:29 · 641 阅读 · 3 评论 -
[INSHack2018]Tricky-Part1
文章目录[INSHack2018]Tricky-Part1主要利用交叉引用列表( Jump - Jump to xref 或快捷键X,将光标放在一个交叉引用的目标地址上,通过该快捷键可弹出交叉引用列表。)主要函数分析[INSHack2018]Tricky-Part1主要利用交叉引用列表( Jump - Jump to xref 或快捷键X,将光标放在一个交叉引用的目标地址上,通过该快捷键可弹出交叉引用列表。)主要函数分析std::string *__fastcall stack_check(std:原创 2021-06-20 11:45:15 · 2984 阅读 · 0 评论 -
[CFI-CTF 2018]Automated Reversing [FlareOn1]Shellolololol [CFI-CTF 2018]powerPacked
文章目录第一次awd(和985的大佬对干)总结[CFI-CTF 2018]Automated Reversing[FlareOn1]Shellolololol(SMC)第一次异或第二次异或第三次异或第四次异或总结[CFI-CTF 2018]powerPacked脚本第一次awd(和985的大佬对干)总结我们队没pwn手,两个re直接毫无战斗力,被人按在地上摩擦,今天有个题连题都没看到,然后数据库就被别人打崩了(重置机会用完了文章目录第一次awd(和985的大佬对干)总结[CFI-CTF 2018原创 2021-06-19 23:12:08 · 3501 阅读 · 0 评论 -
Xposed框架实战
<meta-data android:name="xposedmodule" android:value="true"/> <meta-data android:name="xposeddescription" android:value="模块说明"/> <meta-data android:name="xposedminversion" android:value="45"/>原创 2021-06-17 16:46:49 · 10701 阅读 · 1 评论 -
ida动态调试apk(so层)
文章目录查看所有设备在IDA里面找到android_server(dbgsrv目录)提权运行android_server服务端进行监听端口转发打开DDMS:观察程序的端口号打不开monitor.bat报错(Androidstudio/tools)报错1原因报错2原因总结monitor.bat所需的jdk挂起程序注意查看所有设备adb devices在IDA里面找到android_server(dbgsrv目录)adb push C:\Program Files\IDA Pro 7.5 SP3\db原创 2021-06-16 16:11:43 · 4575 阅读 · 0 评论 -
crack app(jeb动态调试)
拆包首先把包拆了,加android:debuggable="true"首次尝试:D:\桌面\apktool.jar d D:\桌面\crack.apk -o targetappFolder换个搞法java -jar apktool.jar d crack.apk -o targetappFolder加进<Application>标签中打包java -jar apktool.jar b -o repackaged.apk targetappFolder/签名jar原创 2021-06-16 00:25:40 · 3406 阅读 · 1 评论 -
2017年CISCN初赛
文章目录numgame拖进ida`set_sudu((Sudu *)v8, (const std::string *)v9) != 1`int __userpurge Sudu::set_number@(int a1@, Sudu *this, int a3, int a4, int a5)(unsigned __int8)Sudu::check((Sudu *)v8)(unsigned __int8)Sudu::check_block((int)a1)(unsigned __int8)Sudu::chec原创 2021-06-14 21:43:14 · 258 阅读 · 0 评论 -
[XMAN2018排位赛]Dragon Quest [MRCTF2020]VirtualTree
[XMAN2018排位赛]Dragon Quest[MRCTF2020]VirtualTree原创 2021-06-05 17:37:02 · 887 阅读 · 0 评论 -
[watevrCTF 2019]Repyc [NPUCTF2020]BasicASM
[watevrCTF 2019]Repyc佤 = 0侰 = ~佤 * ~佤俴 = 侰 + 侰def 䯂(䵦): 굴 = 佤 굿 = 佤 괠 = [佤] * 俴 ** (俴 * 俴) 궓 = [佤] * 100 괣 = [] while 䵦[굴][佤] != '듃': 굸 = 䵦[굴][佤].lower() 亀 = 䵦[굴][侰:] if 굸 == '뉃': 괠[亀[佤]] = 괠原创 2021-06-04 22:38:03 · 856 阅读 · 3 评论 -
[GWCTF 2019]pyre.pyc [CISCN2018]2ex
[GWCTF 2019]pyre.pycuncompyle6 pyre.pyc >> pyre.pyprint 'Welcome to Re World!'print 'Your input1 is your flag~'l = len(input1)for i in range(l): num = ((input1[i] + i) % 128 + 128) % 128 code += numfor i in range(l - 1): code[i]原创 2021-06-04 12:29:44 · 351 阅读 · 1 评论 -
[羊城杯 2020]login [SUCTF2019]hardcpp
文章目录[羊城杯 2020]login思路:一个py编译的exe,需要解包,然后反编译成py文件1.解包:python pyinstxtractor.py login.exe提示:pyinstxtractor.py这玩意github 上很多,随便找2.进入文件夹,然后进行login版本hex填充用编辑工具010打开login和struct,进行对比,main前面缺少几个字节,我们直接将struct前面的几个字节复制到main上面去,再将login保存为pyc格式文件3.uncompyle6 login.py原创 2021-06-03 12:26:17 · 6593 阅读 · 4 评论 -
[NPUCTF2020]Baby Obfuscation [HDCTF2019]MFC
文章目录[NPUCTF2020]Baby Obfuscation把五个Fox分析一下F0X1(int a, int b):运用辗转相除法求得最大公因数(学到一个词汇:最大公约数GCD,最小公倍数LCM)F0X2(bool a, bool b):仅有一种情况返回真:a\==b==0F0X3(bool a, bool b):仅有一种情况返回真:a\==b==1F0X4(int a, int b):解析返回值是a-bF0X5(int a, int b):返回值是a^b^整体分析[NPUCTF2020]Baby原创 2021-06-02 21:42:08 · 656 阅读 · 0 评论 -
[SUCTF2018]babyre [ACTF新生赛2020]fungame
文章目录[SUCTF2018]babyre惯用思维常人思维GAMEOVER[ACTF新生赛2020]fungame[SUCTF2018]babyre惯用思维首先呢,是个bin文件,需要用binwalk把文件提取出来。binwalk -e [SUCTF2018\]babyre.bin 是一个xml文件,我打开后除了正常结构就是乱码。。。然后就没法分析了。。。xml不能放在ida里面分析。。常人思维查看一下文件类型,居然是64位的exe程序,任何东西都保持怀疑的态度。。笑死人。。。。原创 2021-06-02 16:32:43 · 829 阅读 · 0 评论 -
[FlareOn2]very_success [FlareOn3]Challenge1
文章目录[FlareOn2]very_success拖入ida分析sub_401084脚本[FlareOn2]very_success拖入ida一开始我以为加壳了,就俩函数,后来仔细看了看,没有。。这里和输入相关v4,v4的值是输入字符串的长度+2,v5是一个地址值。unk_402159是输入字符串的地址,作为参数传入了判断函数,retaddr是和输入字符串相对于判断的字符串。分析sub_401084v8参与运算,结果放入了v12,v11每次都是1v8和v15异或,看汇编就知道只运算了低原创 2021-06-01 14:43:49 · 454 阅读 · 0 评论 -
[羊城杯 2020]Bytecode [UTCTF2020]babymips
文章目录查看题目python代码Z3约束脚本查看题目python字节码,需要把它转为python代码,如下:python代码import disdef main(): en=[3,37,72,9,6,132] output=[101,96,23,68,112,42,107,62,96,53,176,179,98,53,67,29,41,120,60,106,51,101,178,189,101,48] print("welcome to GWHT2020") f原创 2021-05-30 15:34:19 · 1147 阅读 · 1 评论 -
Windows环境下Pin(二进制动态插桩引擎)搭建
https://software.intel.com/en-us/articles/pintool-downloads原创 2021-05-25 20:59:41 · 2489 阅读 · 1 评论 -
IDA反编译失败总结
文章目录call analysis failedtoo big functionpositive sp valuecannot convert to microcodelocal variable allocation failedstack frame is too bigcall analysis failedcall analysis failed查看函数参数压入两个参数,但实际分析时它却只有一个对该函数按'y'键,将其参数修改为两个,去掉三个即可然后成功too big fu原创 2021-05-24 11:23:48 · 7392 阅读 · 8 评论 -
2021年CISCN初赛re
文章目录baby.bc.bc转换为可执行程序fill_number(__int64)input)docheck(input, input):z3约束baby.bc.bc转换为可执行程序第一次拿到.bc的文件查了一下,LLVM IR bitcode,二进制文件。想办法转换成.s,然后再转成可执行文件。(windows里面无法转成elf,最后编译成elf时,需要在linux里面进行fill_number(__int64)input)docheck(input, input):z3约束..原创 2021-05-23 17:27:33 · 6287 阅读 · 0 评论 -
Windows环境下利用VS和mingw编译LLVM
C:\Users\ASUS>e:E:\>cd LLVM\buildE:\LLVM\build>E:\LLVM\cmake-3.20.2-windows-x86_64\cmake-3.20.2-windows-x86_64\bin\cmake -G "Visual Studio 16" -Thost=x64 E:\LLVM\llvm-6.0.0.src\llvm-6.0.0.srcCMake Deprecation Warning at CMakeLists.txt:14 (c原创 2021-05-22 23:12:05 · 2226 阅读 · 2 评论 -
png图片格式探讨
文章目录前奏概念PNG文件的关键数据块(critical chunks)组织顺序PNG文件的辅助数据块(ancillary chunks)组织顺序图像结束数据(IEND)前奏大概看了一下jpg的格式之后,再来一起看看png图片格式概念BMP文件总体上可以分为两部分组成,分别是PNG文件标志和数据块。其数据块分为两类:关键数据块和辅助数据块。PNG文件的组成结构PNG文件标志数据块(chunks)PNG文件标签PNG文件标志由8个字节组成:89 50 4E 47 0D原创 2021-05-20 17:45:44 · 7233 阅读 · 0 评论