0x02 Reverse Engineer(126)
-
HTB Mobile - Cat
ab 파일 android backup 파일을 abe.jar을 통해 unpack 시키면 아래와 같은 파일이 나오게 된다. 이미지에 고양이가 있다. 사진을 잘 보면… 플래그가 있다..
2020.07.10 -
HTB DebugMe
문제 설명 A develper is experiementing with different ways to protect their software. They have sent in a windows binary that is suposed to super secureand really hard to debug. Debug and see if you can find the flag. 컨셉. 메인 암호화 처음 부분은 여기이다. rdtsc는 안티디버깅에서 자주 쓰이는 기법 중에 하나이다. 이 부분에서 조건 분기가 몇개 보이는데 과감하게 다 없는 셈 치고 분석에 임하면 된다. 여기가 핵심이다. 디버깅 없이 프로그램을 실행했더라면 시간에 구애받지 않기 때문에 멀쩡하게 이 루틴에 접근할 수 있었을 것이다. _main..
2020.07.10 -
CRACKME constant ver 01 write up
보호되어 있는 글입니다.
2020.07.04 -
CRACKME constant ver 01
어느새 누적 방문수가 50000이 넘었다. 블로그에 방문해주시는 분들은 익명이지만, 내가 작성하는 글들을 꾸준히 읽어주시는데에 있어 감사함을 느끼고 있다. 과거에 초심자를 위한 문제를 만들어 두었는데 이를 공유한다. 플래그는 영어 문장 입니다. https://drive.google.com/file/d/1ZdWvIxAm3J8_ULhgMmYjKgiNT0hp_8ZO/view?usp=sharing write up pw : FLAG{$FLAG$}
2020.07.04 -
lyl -3부
1부에서는 큰 틀을 잡았으며 2부에서는 큰 틀을 잡으면서 놓칠만한 것들을 꼼꼼히 살펴봤다. 이번 3부에서는 1부 2부를 총 정리하면서, 암호화 로직을 그대로 코딩해보자. Enumeration Dummy Value Case 0 ~ A : Default Hardcode Data [Unicode] Case 음절 닐 Case 어절 늴 Logic 2바이트 (한글)을 입력받는다 프로그램 속 로직을 거친다. 라운드는 3라운드로 구성되어 있다. 암호화 로직은 이해하려고 노력하지 않았다. 개발자 마음이다. 1라운드 : 입력되어진 2바이트를 이용하여 암호화를 진행 한다. 종종 하드 코딩된 값을 연산에 사용하기도 한다. 모든 음절을 처리할 때까지 반복 수행한다. 2라운드 : 3라운드로 진입하기 위한 임시 변수를 만든다. 해..
2020.04.30 -
lyl -2부
1부에서는 코드를 작성하기 위해 세분화하는 작업을 했다면, 2부에서는 1부에서 다루지 못한 세부적인 사항들을 들여다보는 작업을 진행한다. 어셈블리어를 이해하고 있다면 보기에 편하다. 어셈블리어 하나하나 설명하기엔 너무 noisy라 배제한다. 1부에서 언급한 'ㄹ'이 출력되는 이유에 대해 알아보고 넘어가자. 여러 가지를 입력하면서 규칙성이 있는지 파악해보자. 양, 수의 경우 릘로 나와서 오 첫 번째는 무조건 릘인가? 할 수 있었지만 휴를 테스트해보니 릘릴이 나왔다. 그렇다면, 1부에서 놓친 부분 즉, 상세한 분석을 좀 더 진행해야 한다. 한글을 세분화해서 프로그래밍을 해두지 않았을까? 하는 고민을 잠시 해볼 만 하지만, 1부의 연산과정을 보면 단독 초성으로 작업하지 않는 것은 확인해둔 상태이다. 연 : ㅇ..
2020.04.30