일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 라이트업
- 파이썬
- reversing
- PYTHON
- write-up
- 드림핵
- ShaktiCTF
- 워 게임
- 해킹캠프
- web
- probgame
- ctf
- 리버싱
- 2021
- 라이트 업
- 리버스 엔지니어링
- hackingcamp
- 시탭
- 풀이
- 강의
- 히공
- write up
- c언어
- 뭉뭉
- Basic
- vsCode
- reversing.kr
- 라업
- 코드엔진
- 변수
목록write up (31)
히공

Rev Baby Crack 문제 메인 함수는 헥스레이가 작동되지 않도록 함수 프롤로그를 빼버렸다. 어려운 코드도 아니고 해서 그냥 어셈으로 분석했다. 키 값이 khngEe 일 때 name 값을 알아내야 하므로 보이는 루틴에서 보이는 연산을 분석해 역연산 루틴을 만들었다. chr(ord('k')-3) + chr(ord('h')-7) + chr(ord('n')-0xb) + chr(ord('g')+4) + chr(ord('E')+0x20) + chr(ord('e')-1) FLAG : HCAMP{hacked} CompReverse 문제 __int64 __fastcall sub_100003D70(const char *buf) { __int64 result; // rax int j; // [rsp+8h] [rbp-..

문제 output.txt의 내용 with open("output.txt", 'r') as f: read = f.readlines() flag = '' j = 0 qu = '' for i in read: if j==8: flag+=chr(int(qu,2)) qu = '' j=0 if i=='PONG\n': qu += '0' else: qu += '1' j+=1 print(flag+'}') 2진수를 의미하는 것 같아서 코드를 작성했다. 플래그 : Hero{p1n6_p0n6_15_fun}

문제 #!/usr/bin/env python3 from os import urandom from random import randint from pwn import xor input_img = open("flag.png", "rb").read() outpout_img = open("flag.png.enc", "wb") key = urandom(8) + bytes([randint(0, 9)]) outpout_img.write(xor(input_img, key)) xor.py의 내용이다. from pwn import xor with open('flag.png.enc', 'rb') as f: read = f.read() png_signature = bytes.fromhex("89 50 4E 47 0D 0A 1..

문제 .text .globl value .data .align 4 .type value, @object .size value, 4 value: .long 24564753 .globl isGood .align 4 .type isGood, @object .size isGood, 4 isGood: .long 12345 .section .rodata .align 8 .LC0: .string "Hey ! Have you got a password for me ? " .text .globl getInput .type getInput, @function getInput: .LFB6: .cfi_startproc endbr64 pushq %rbp # .cfi_def_cfa_offset 16 .cfi_offset 6, -..

문제 package fr.heroctf.jni; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; import androidx.appcompat.app.AppCompatActivity; public class MainActivity extends AppCompatActivity { private Button checkButton; private EditText flagEditText; public native boolean checkFlag(String str); static { System.loadL..

문제 이런 페이지가 나온다. 저 value를 1로 바꿔보았다. Login 버튼 클릭 이런 영어가 뜬다. /maybehereimportantstuff 이 곳을 들어가봤다. 플래그 : flag{ng1nx_m1sconf1g_c4n_b3_h4rmful}

문제 브레인퍽 문제다. 디코딩 했다. 플래그 : flag{brain-blast}

문제 int __cdecl main(int argc, const char **argv, const char **envp) { int result; // eax bool changed; // [rsp+13h] [rbp-1Dh] int i; // [rsp+14h] [rbp-1Ch] int (*fp)(void); // [rsp+18h] [rbp-18h] char seed[5]; // [rsp+23h] [rbp-Dh] BYREF unsigned __int64 v8; // [rsp+28h] [rbp-8h] v8 = __readfsqword(0x28u); setvbuf(_bss_start, 0LL, 2, 0LL); *(_DWORD *)seed = 0; seed[4] = 0; printf("Hello, Mr. Eus..