# reversing

Basic RCE L16
Name이 CodeEngn일때 Serial을 구하시오C++ 프로그램이다.정리입력한 이름의 길이를 사용한 일려의 연산과정을 통해 v13이 구해짐passwd = v13이니 v13만 찾으면 된다.v13 = 0xE4C60D97 = 3838184855

Basic RCE L15
Name이 CodeEngn일때 Serial을 구하시오ida로 보이는게 이상해서 PEiD로 무슨 파일인지 확인했는데 Borland Delphi 4.0 - 5.0 라는 델파이 바이너리라고 한다. 이상하게 보이는 게 당연했다. 이것도 별도의 plugin?이 필요하기도 한 것

Basic RCE L14
문제 Name이 CodeEngn 일때 Serial을 구하시오 (이 문제는 정답이 여러개 나올 수 있는 문제이며 5개의 숫자로 되어있는 정답을 찾아야함, bruteforce 필요) Ex) 11111 실행화면 Name이 CodeEngn일 때 Serial이 일정한 패턴에

Basic RCE L13
문제 정답은 무엇인가 실행 화면 IDA 분석 입력한 문자열과 복호화한 암호문을 비교해서 성공 메시지를 보여주는 동작을 하는 것 같다. RijndaelSimple 은 AES 암호화 알고리즘이라고 한다. https://www.techtarget.com/searchse

Basic RCE L12
Key를 구한 후 입력하게 되면 성공메시지를 볼 수 있다이때 성공메시지 대신 Key 값이 MessageBox에 출력 되도록 하려면 파일을 HexEdit로 오픈 한 다음 0x???? ~ 0x???? 영역에 Key 값을 overwrite 하면 된다.문제 : Key값과 +

Basic RCE L11
OEP를 찾으시오. Ex) 00401000 / Stolenbyte 를 찾으시오.Ex) FF35CA204000E84D000000 정답인증은 OEP+ StolenbyteEx ) 00401000FF35CA204000E84D000000upx 섹션이 보이니 upx 패킹이 된 파

Basic RCE L10
OEP를 구한 후 '등록성공' 으로 가는 분기점의 OPCODE를 구하시오.정답인증은 OEP + OPCODE EX) 00400000EB03upx 섹션을 찾을 순 없어서 upx packing이 아님을 확인했다. 하지만 pushad, popad는 그대로 인것으로 확인했다.그

Basic RCE L09
StolenByte를 구하시오 Ex) 75156A0068352040키파일을 찾고 해당 파일없어 종료되는 모습이다.UPX 섹션이 확인되어 unpacking 후 분석을 진행하겠다.unpacking을 한 dump 파일을 만드니 처음 문자열이 깨져서 나온다. 아마 해당 문자열

Basic RCE L08
OEP를 구하시오 Ex) 00400000문제를 보고 또 UPX 패킹이 되어있는지 확인해보았다. 섹션 이름을 보아하니 역시나 UPX 패킹이 되어있음을 확인가능했다.https://velog.io/@hackerhoon/Unpacking 를 참고하면 자세한 방법을 알

Execve shell code
syscallasembly codeC coderun.sh에 bp 걸고 실행run_sh+11까지 실행 후 스택 => 0x7fffffffe0c0 = 0x68732f6e69622f(/bin/sh)run_sh+27에 bp 설정 후 확인해보면 rsp, 0, 0 인자로 execv

Basic RCE L07
컴퓨터 C 드라이브의 이름이 CodeEngn 일경우 시리얼이 생성될때 CodeEngn은 'ß어떤것'으로 변경되는가실패 메시지GetVolumeInformationA를 통해 가져온 VolumeNameBuffer 뒤에 string2(4562-ABEX)를 붙이고 VolumeN

Basic RCE L06
Unpack을 한 후 Serial을 찾으시오.정답인증은 OEP + SerialEx) 00400000PASSWORD다음과같이 Serial을 입력하라는 창이 나온다.UPX 섹션이 있는 것을 보아 UPX 패킹이 되어있음을 확인할 수 있다.pushad 찾고 레지스터값 넣는 곳

Basic RCE L05
문제 이 프로그램의 등록키는 무엇인가? 실행 화면 IDA 분석 제대로 decompile이 되지 않아 보았더니 UPX로 패킹되어 있음을 확인할 수 있었다. UPX 언패킹을 하거나 직접 언패킹된 파일로 만들어 보자. Unpacking x86dbg를 통해 unpackin

Unpacking?
Packer? Packer로 프로그램을 실행 압축하게 되면 disassembler로 분석하기 어려워진다. 그렇다면 실행 압축을 하면 왜 분석하기 어려울까? 프로그램을 실행하면 EntryPoint부터 해당 프로그램의 Code를 실행하고 그 위치는 PE 구조에서 .te

Basic RCE L04
이 프로그램은 디버거 프로그램을 탐지하는 기능을 갖고 있다. 디버거를 탐지하는 함수의 이름은 무엇인가?프로그램을 실행하면 다음과 같이 정상이라는 문자열이 일정 초마다 나온다.WinDbg를 사용해서 해당 프로그램을 디버깅을 하면 다음과 같은 화면이 나온다.IsDebugg
[LINE CTF 2023] Fishing
당시에는 풀지 못한 문제를 https://www.ctfiot.com/107081.html 에 올라온 writeup을 보면서 풀어보았다. 문제 > 해당 파일에는 fishing.exe라는 파일이 존재하고 실행 시 flag 입력받는다. 또한 이 파일은 디버거를 탐지하는
Basic RCE L03
비주얼베이직에서 스트링 비교함수 이름은?우선 해당 프로그램을 실행할려면 MSVBVM50.DLL이 필요하니 구글에서 찾아서 다운로드 받아 프로그램과 같은 경로에 두도록 하자. 프로그램을 실행시키면 다음과 같이 나오는 것을 확인할 수 있다.시작 메시지확인 클릭 시 창tes
Basic RCE L02
패스워드로 인증하는 실행파일이 손상되어 실행이 안되는 문제가 생겼다. 패스워드가 무엇인지 분석하시오해당 파일을 실행할려고 하면 실행할 수 없는 파일이라 나오며 debugger나 PE viewer도 해당 파일을 정확히 분석을 못해주어서 처음에 이 파일이 패커나 프로텍터

Basic RCE L01
문제 HDD를 CD-Rom으로 인식시키기 위해서는 GetDriveTypeA의 리턴값이 무엇이 되어야 하는가?파일을 실행해보면 HD를 CD-Rom으로 생각하게 만들라고 하고 에러 메시지를 띄어준다.우선 해당 파일이 32bit 파일인지 64bit 파일인지 확인32bit 파