暗泉杯2021 WP
暗泉杯WriteupReSigninflag{REVERSE_1s_Very_3asy!}
happyCTFs = 'rxusoCqxw{yqK`{KZqag{r`i'for i in s: print(chr(ord(i)^0x14),end='')#flag{Welcome_to_Neusoft}
Remember Crypt 4RC4加密
# crytokey = [0x7f, 0x64, 0x99, 0xd0, 0x9, 0x57, 0x81, 0xd2, 0x78, 0x2c, 0xfc, 0xde, 0xdc, 0x89, 0x4c, 0x3b, 0xb4, 0xf5, 0x90, 0x2b, 0x70, 0x11, 0x10, 0xf, 0xe, 0x3e, 0xc, 0x67, 0x6d, 0x91, 0xb2, 0x18, 0x0, 0xdf, 0x75, 0xf9, 0x27, 0x96, 0xe1, 0x15, 0xf0, 0x45, 0xc2, ...
2022 工大抗疫Wp
2022 工大抗疫Wp选手:Pvr1sC
这比赛怎么基本都是原题,唯一的帮助可能就是学到点密码
Recrackme很简单,反编译
int __cdecl main(int argc, const char **argv, const char **envp){ char flag[42]; // [rsp+20h] [rbp-60h] BYREF int a[42]; // [rsp+50h] [rbp-30h] BYREF int b[42]; // [rsp+100h] [rbp+80h] int i_0; // [rsp+1B4h] [rbp+134h] int i; // [rsp+1B8h] [rbp+138h] int good; // [rsp+1BCh] [rbp+13Ch] _main(); qmemcpy(a, &unk_403040, sizeof(a)); puts("input flag"); scanf("%s", flag); puts(flag); for ( i = 0; ...
KCTF2021秋季赛WP
KCTF2021秋季赛WP记得当时就做出来到签到题,
现在再来试试
签到题 身在何处已知
用户名 : 01F845C5B7C52E56序列号 : 653259165
求出用户名为KCTF的序列号,很明显要求写出注册机
反汇编如下
int __cdecl sub_401340(HWND hDlg){ int v1; // ebx int v2; // ebx int v3; // eax int result; // eax signed int v5; // [esp+Ch] [ebp-260h] char v6[200]; // [esp+10h] [ebp-25Ch] BYREF CHAR name[200]; // [esp+D8h] [ebp-194h] BYREF CHAR serial_number[200]; // [esp+1A0h] [ebp-CCh] BYREF memset(name, 0, sizeof(name)); memset(v6, 0, sizeof(v6)); memset(serial_number, 0, size ...
hgame2022
hgame2022RE第一周easyasmseg003:0000 public startseg003:0000 start proc nearseg003:0000 B8 00 10 mov ax, seg dsegseg003:0003 8E D8 mov ds, axseg003:0005 assume ds:dsegseg003:0005 B8 03 10 mov ax, seg seg001seg003:0008 8E C0 mov es, axseg003:000A assume es:seg001seg003:000A BE 00 00 mov si, 0seg003:000Dseg003:000D loc_100DD: ...
2021总结及2022畅想
迟到的总结本来应该在1月31号写完的,但却堆到了现在,很惭愧。当然不是因为我懒,主要是有点忙。。。
那就成传统好了,每年初五写好了。
今天正好是我站成立1周年很不错
封面图有点花,准备换一批
别了,2021有很多,就看看照片回忆一下,
1.17 眼睛好像进了什么东西
1.30 全家爬山去玩了
2.18 想买个显示器,看了好多
3.11 进特长班去了,好像是实践课
3.14
和舍友+ wawyw 唱歌唱祖国,重唱了好几次,有点蚌埠住笑
晚上去智邮了,第一次?
11点好像停水了,去接水人好多
凌晨在赶入党申请书写到3点,因为感觉百年入党很有意义,是不是因为动机不纯所以没有入党(捂脸
3.15
夕阳
大物实验 RLC我心中的痛
3.16 python课+算法竞赛蓝桥杯
3.19 桃花开了,落英缤纷,昨天好像下雨了
3.27 亲戚结婚吃席,还有妈妈+猫猫
3.31 宿舍楼下的 荒谬(H&M)
4.10 在实验室赶思修作业,《做有担当的时代新青年》很不错,好像还通宵了
4.13 大物 刚体力学ppt
4.17 农历3月廿五 啦啦啦
4.22 刚体
4.27 高斯定理 ∮Eds ...
[GWCTF 2019]babyvm
[GWCTF 2019]babyvm知识点
虚拟机逆向
主函数
void __fastcall __noreturn main(int a1, char **a2, char **a3){ __int64 v3[2]; // [rsp+10h] [rbp-10h] BYREF v3[1] = __readfsqword(0x28u); v3[0] = 0LL; puts("Please input something:"); sub_CD1((__int64)v3); sub_E0B((__int64)v3); sub_F83(); puts("And the flag is GWHT{true flag}"); exit(0);}
subCD1
opcode
unsigned __int64 __fastcall sub_CD1(__int64 a1){ unsigned __int64 v2; // [rsp+18h] [rbp-8h] v2 = __readfsq ...
[NPUCTF2020]Baby Obfuscation
[NPUCTF2020]Baby Obfuscation64位无壳,主函数
int __cdecl main(int argc, const char **argv, const char **envp){ int v3; // eax int v4; // ebx int v5; // esi int v6; // ebx int v7; // ebx int v8; // esi int v9; // ebx int v10; // ebx int v11; // ebx int v12; // esi int v13; // eax int v14; // ebx int v15; // esi int v16; // ebx int v17; // eax bool v18; // bl int v19; // eax int v20; // esi int v21; // ebx int v22; // ebx int v23; // eax int v24; // eax int v25; // eax int v2 ...
攻防世界mobile做题记录
攻防世界mobile做题记录碰到一道安卓题,好像要so动调,所以学一下安卓逆向
easyjni使用jeb打开查看文件Manifest,查看name属性,可知入口为com.a.easyjni.MainActivity
package com.a.easyjni;import android.os.Bundle;import android.support.v7.app.c;import android.view.View.OnClickListener;import android.view.View;import android.widget.EditText;import android.widget.Toast;public class MainActivity extends c { static { System.loadLibrary("native"); } static boolean a(MainActivity arg1, String arg2) { retur ...
无题
cs 代码段 可读可执行, 不可写
DS 数据段 可读可写,不可执行
SS 堆栈段
ES 扩展段
FS TEB
GS
段选择子
段base
CS、SS、ES、DS、FS、 0
FS 7FFDF00
LEA
保护模式
段base + offest(逻辑地址) = 线性地址
limit 限制长度
0x0 ~ 0xFFFFFFFF
FS : 0x0 ~ 0xFFF
一、引入保护模式下的段寄存器 由 16位的选择器 与 64位的段描述符寄存器 构成
段描述符寄存器: 存储段描述符
选择器:存储段描述符的索引
段寄存器
原先实模式下的各个段寄存器作为保护模式下的段选择器,80486中有6个(即CS,SS,DS,ES,FS,GS)80位的段寄存器。由选择器CS对应表示的段仍为代码段,选择器SS对应表示的段仍为堆栈段。
(1)全局描述符表GDT(Global Descriptor Table)在整个系统中,全局描述符表GDT只有一张(一个处理器对应一个GDT),GDT可以被放在内存的任何位置,但CPU必须知道GDT的入口,也就是基地址放在哪里,Intel的设计者门提供了一个寄存器GDTR用来存放 ...
[安洵杯 2019]game
[安洵杯 2019]game知识点
OLLVM
反编译对源文件反编译
int __cdecl main(int argc, const char **argv, const char **envp){ int v3; // eax int *v4; // rsi int i; // [rsp+2Ch] [rbp-54h] int v7; // [rsp+38h] [rbp-48h] char v8[56]; // [rsp+40h] [rbp-40h] BYREF int v9; // [rsp+78h] [rbp-8h] int v10; // [rsp+7Ch] [rbp-4h] v9 = 0; printf("input your flag:"); gets(v8, argv); v10 = general_inspection((int (*)[9])sudoku); for ( i = -1804515313; ; i = -303742386 ) { while ( 1 ) { ...