일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- write-up
- 리버싱
- 시탭
- 히공
- web
- 뭉뭉
- 라업
- 파이썬
- reversing.kr
- reversing
- 드림핵
- ctf
- hackingcamp
- 강의
- 풀이
- 2021
- 코드엔진
- Basic
- 라이트 업
- vsCode
- probgame
- c언어
- PYTHON
- 해킹캠프
- 리버스 엔지니어링
- 라이트업
- ShaktiCTF
- 변수
- write up
- 워 게임
목록히공 (61)
히공
문제 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}
문제 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..
문제 사이트 form태그를 보니깐 cuser, cpass로 id, 비번을 주는 걸 볼 수 있다. $(document).ready(function(){ $("form").submit(function(){ var usr = $("#cuser").val(); var pswd = $("#cpass").val(); var magic = ""; var _0x3150=["","\x6C\x65\x6E\x67\x74\x68","\x6D\x61\x78","\x63\x68\x61\x72\x41\x74","\x63\x68\x61\x72\x43\x6F\x64\x65\x41\x74","\x66\x72\x6F\x6D\x43\x68\x61\x72\x43\x6F\x64\x65","\x73\x68\x61\x6B\x74\x69"];fun..
problem 3000개의 파일이 있어서 files라는 폴더에 넣었다. from PIL import Image x_size = 10 y_size = 10 def imageMerge(file_list): new_image = Image.new("RGB" , (600, 500), "white") index = 0 for i in range(60): for j in range(50): area = (i*x_size, j*y_size) new_image.paste(file_list[index], area) index+=1 print(index) new_image.save('save_file.jpg') path = 'files/' file_ls = [] for i in range(1,3001): im = Imag..
problem 파일이 이상하다. Signatures가 이상하고, IDAT가 아니라 IADT로 되어있는 것을 발견했다. with open('file.png', 'rb') as f: read_png = f.read() write_png = bytearray(read_png) write_png.insert(0,0x89) # Signatures for i in range(len(write_png)): if write_png[i:i+4]==b'IADT': write_png[i:i+4] = b'IDAT' with open('re_file.png', 'wb') as f: f.write(write_png) 시그니처 수정과, IADT 수정을 해줬다. FLAG : shaktictf{Y4YyyyY_y0u_g0t_1T}
문제 플래그 형식이 shaktiCTF라고 알려준다. int __cdecl main(int argc, const char **argv, const char **envp) { __int64 v4; // rax __int64 v5; // rax int i; // [rsp+4h] [rbp-12Ch] int j; // [rsp+8h] [rbp-128h] int k; // [rsp+Ch] [rbp-124h] char v10[32]; // [rsp+20h] [rbp-110h] BYREF int v11[47]; // [rsp+40h] [rbp-F0h] char s[10]; // [rsp+FFh] [rbp-31h] BYREF __int64 v13; // [rsp+109h] [rbp-27h] BYREF int v14; /..
문제 __int64 __fastcall main(int a1, char **a2, char **a3) { unsigned int v3; // eax int v5; // [rsp+8h] [rbp-C8h] int i; // [rsp+Ch] [rbp-C4h] int v7[32]; // [rsp+10h] [rbp-C0h] BYREF char s[40]; // [rsp+90h] [rbp-40h] BYREF unsigned __int64 v9; // [rsp+B8h] [rbp-18h] v9 = __readfsqword(0x28u); v5 = 3; fgets(s, 32, stdin); for ( i = 0; i < strlen(s); ++i ) { v3 = v5++; v7[i] = ((__int64 (__fastca..
문제 int __cdecl main(int argc, const char **argv, const char **envp) { FILE *v3; // eax unsigned int v4; // eax int result; // eax char *argv_1; // [esp+4h] [ebp-14h] char *Str; // [esp+8h] [ebp-10h] _BYTE *Block; // [esp+Ch] [ebp-Ch] int Size; // [esp+10h] [ebp-8h] char *base64_encode_str; // [esp+14h] [ebp-4h] maybe_printf(aEnterTheString); v3 = __acrt_iob_func(0); maybe_read((int)Str, 256, v3)..