自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 收藏
  • 关注

原创 软件逆向中的push大法

先打开od,然后ctrl+g

2020-11-25 16:32:31 2104

原创 xctf攻防世界parallel-comparator-200 writeup

下载查看,是个c文件,大意是输入一个字符串然后用highly_optimized_parallel_comparsion进行处理,符合条件就算成功。#include <stdlib.h>#include <stdio.h>#include <pthread.h>#define FLAG_LEN 20void * checking(void *arg) { char *result = malloc(sizeof(char)); cha..

2020-11-19 09:50:53 328

原创 xctf攻防世界dmd-50 writeup

下载附件,打开:ida64打开,得到关键字符串780438d5b6e29db0898bc4f0225935c0:int __cdecl main(int argc, const char **argv, const char **envp){ __int64 v3; // rax __int64 v4; // rax __int64 v5; // rax __int64 v6; // rax __int64 v7; // rax __int64 v8; // ra..

2020-11-12 17:34:24 409 2

原创 xctf攻防世界re-for-50-plz-50 writeup

下载查看:ida打开分析:不能f5,编码方式表示看不太懂,貌似143c处判断是否成功:在kali下运行gdb也运行不了:查了一下是mips指令集:MIPS常用指令集lb/lh/lw: 从存储器中读取一个byte/half word/word的数据到寄存器中.如lb $1, 0($2)sb/sh/sw: 把一个byte/half word/word的数据从寄存器存储到存储器中.如sb $1, 0($2)add/addu:把两个定点寄存器的内容相加add $1,$2,$...

2020-11-11 10:11:27 197

原创 xctf攻防世界Shuffle writeup

下载查看:ida打开分析:int __cdecl main(int argc, const char **argv, const char **envp){ time_t v3; // ebx __pid_t v4; // eax unsigned int v5; // ST18_4 unsigned int v6; // ST1C_4 char v7; // ST20_1 signed int i; // [esp+14h] [ebp-44h] char s; // .

2020-11-11 09:21:31 115

原创 xctf攻防世界Guess-the-Number writeup

下载附件,是一个java,用jd-gui打开:import java.math.BigInteger;public class guess { static String XOR(String _str_one, String _str_two) { BigInteger i1 = new BigInteger(_str_one, 16); BigInteger i2 = new BigInteger(_str_two, 16); BigInteger res = ..

2020-11-10 11:08:57 291 2

原创 xctf攻防世界maze writeup

下载查看:ida64打开,f5分析:输入一个24位字符串,存储到s1里,经过一系列判断处理,才能到达congratulations!__int64 __fastcall main(__int64 a1, char **a2, char **a3){ const char *v3; // rsi@2 signed __int64 v4; // rbx@4 signed int v5; // eax@5 char v6; // bp@5 char v7; // al@..

2020-11-09 10:26:00 233

原创 xctf攻防世界logmein writeup

下载查看:ida64打开,f5:大意是输入个s,然后和v8比较一下长度,小了就要执行4007c0(退出)。然后就是循环判断,s的长度还不能大于v8,那就是一样呗;接着拿s中的字符和一个算式比较,这个算式应该就是flag。void __fastcall __noreturn main(__int64 a1, char **a2, char **a3){ size_t v3; // rsi int i; // [rsp+3Ch] [rbp-54h] char s[36];..

2020-11-06 09:37:30 245

原创 xctf攻防世界csaw2013reversing2 writeup

下载文件,查看:ida打开,f5:大意是,sub_40102A或者IsDebuggerPresent这两个函数返回值有一个为1的话,程序貌似就要中断,但是最后的flag好像是固定的,也不需要输入啥的,直接setip大法:int __cdecl __noreturn main(int argc, const char **argv, const char **envp){ int v3; // ecx CHAR *lpMem; // [esp+8h] [ebp-Ch] HA..

2020-11-05 17:15:18 231 1

原创 xctf攻防世界no-strings-attached writeup

下载,查看:ida打开,f5,一堆函数:int __cdecl main(int argc, const char **argv, const char **envp){ setlocale(6, &locale); banner(); prompt_authentication(); authenticate(); return 0;}一一进行函数分析:banner就是输出两个字符串,感觉像欢迎信息或者说明吧:int banner(){..

2020-11-05 16:45:56 252

原创 xctf攻防世界open-source writeup

下载,一段c代码,载入codeblocks分析#include <stdio.h>#include <string.h>int main(int argc, char *argv[]) { if (argc != 4) { printf("what?\n"); exit(1); } unsigned int first = atoi(argv[1]); if (first != 0xcafe) { ...

2020-11-05 15:34:55 183

原创 攻防世界Hello, CTF writeup

下载,查看:ida打开分析,f5进入伪代码:应该是一串字符串'437261636b4d654a757374466f7246756e'赋值给v13,然后输入赋值给v9,经过16进制字符串转换,v9的值就变成v10,然后和v13做对比。int __cdecl main(int argc, const char **argv, const char **envp){ signed int v3; // ebx@3 char v4; // al@4 int result; // ..

2020-11-05 11:08:26 664

原创 xctf攻防世界game writeup

下载,查看:载入ida,f5分析,发现sub_457AB4那里很可能是答案:void main_0(){ signed int i; // [esp+DCh] [ebp-20h] int v1; // [esp+F4h] [ebp-8h] sub_45A7BE(&unk_50B110); sub_45A7BE(&unk_50B158); sub_45A7BE(&unk_50B1A0); sub_45A7BE(&unk_50B1E8..

2020-11-04 16:16:33 309

原创 xctf攻防世界re1 writeup

下载查看:ida打开,注意这个要用7.0打开,6.8分析不出来:逻辑很简单,输入v9和v5比较:下断点,动态运行,我这里是记住地址,从od运行,记住只要第10行以后v5赋了值就行:断下以后,智能搜索字符串,找到flag,刚好就是v5赋值的那句:双击:其实010editor直接能搜到:...

2020-11-04 11:26:31 217

原创 xctf攻防世界python-trade writeup

下载文件,是一个pyc的文件,需要使用反编译软件:查看py文件,发现输入的字符串只要经过函数encode处理后,等于'XlNkVmtUI1MgXWBZXCFeKY+AaXNt',就算成功。反向思路编写脚本:import base64message=base64.b64decode('XlNkVmtUI1MgXWBZXCFeKY+AaXNt')flag=''for i in message: x = (ord(i) -16)^32 flag += chr(x)..

2020-11-04 10:57:02 199

原创 xctf攻防世界getit writeup

下载查看:ida64打开,f5分析:int __cdecl main(int argc, const char **argv, const char **envp){ char v3; // al@4 int result; // eax@10 __int64 v5; // rbx@10 __int64 v6; // [sp+0h] [bp-40h]@0 int i; // [sp+4h] [bp-3Ch]@7 FILE *stream; // [sp+8h] [..

2020-11-04 10:40:06 586

原创 xctf攻防世界insanity writeup

下载文件查看:用ida打开,分析发现只是对随机数做一个操作然后输出,没有输入:用010editor打开,搜索flag,发现答案:

2020-11-04 10:26:20 165

原创 xctf攻防世界simple-unpack writeup

下载附件查看,发现upx:010editor搜索flag发现:使用kali 脱壳:upx -d 847be14b3e724782b658f2dda2e8045b -o simple查看:ida64打开,f5伪代码,可以直接找到flag:双击flag:

2020-11-04 10:17:48 210

原创 xctf攻防世界logmein wirteup(使用angr)

下载查壳:ida打开,f5伪代码分析:可以看到sub_4007C0和sub_4007F0分别指向两个结果:编写angr脚本:import angrimport sysimport claripyreload(sys)sys.setdefaultencoding("utf-8")#这里修改了文件名p = angr.Project("logmein") initial_state = p.factory.entry_state()simulation = p.factor

2020-11-04 10:01:26 228

原创 kali linux下gdb安装

上网搜索了很多方法,比如那个下载7.10.1的安装包,我也弄了,但是输入所有的命令之后,有错误提示。最后还是修改软件安装包的地址和直接连接服务器安装成功。所涉及的文件:/etc/apt/sources.list# See https://www.kali.org/docs/general-use/kali-linux-sources-list-repositories/#deb http://http.kali.org/kali kali-rolling main contrib non-free

2020-11-02 11:07:00 3550

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除