0x02 Reverse Engineer/0x01. CodeEngn(18)
-
[CodeEngn Basic Final]
2N이라는 동생이 코드 피드백을 해달라고 해서 문제가 기억이 안나서 다시 풀어보았다.. 문제 설명 이 프로그램은 Key파일을 필요로 하는 프로그램이다. 문구가 출력되도록 하려면 crackme3.key 파일안의 데이터는 무엇이 되어야 하는가 “문구 : Cracked by : CodeEngn!" 문제 컨셉 : KEY 값을 통해 바이너리에서 메시지박스를 출력시킬 수 있는가? CRACKME3.KEY를 생성해두어야 한다 이유 : OPEN_EXISTING(3) CRACKME3.KEY 내부 바이트는 18바이트가 되어야 한다. 18바이트가 아닐 경우, 프로그램은 종료된다. 초기화 작업을 거치고, .KEY에 있는 값[ESP+4]을 4바이트씩 ESI로 복사한다. 그 후 0x41값을 BL에 복사하게 되면 402041주소가 ..
2019.01.31 -
[CodeEngn basic 18]
보호되어 있는 글입니다.
2018.02.09 -
[CodeEngn Basic 17]
1) 출제 의도는 이름이 한 자리인데 지금 0X3을 비교하고 있어서 0X1로 패치를 하였다. 2) A일 때 FFE3-2C73-0502A34C-8A48A32-E1CBC640 면 FFE3을 찾는 부분을 잘 보도록 하자. 3) 0045B9D0 |. E8 3793FAFF call patch_st.00404D0C
2018.02.09 -
[CodeEngn Basic 16]
보호되어 있는 글입니다.
2018.02.09 -
Basic 15번.
보호되어 있는 글입니다.
2018.02.09 -
[CodeEngn Basic 15] obj. KNOW BOLRAND & Routine
문제 : Find the Serial when the name is CodeEngn 바이너리 실행 : [그림 1] 바이너리 실행 [그림 2] Borland Delphi 바이너리 컴파일 한 언어는 볼랜드였다. 볼랜드도 C기반이라고 들었던 것 같은데.. 검색을 해보고, 링크를 걸어두었다. https://en.wikipedia.org/wiki/Borland_C%2B%2B 올리디버거로 까보자. 볼랜드도 엔트리포인트는 4번대 주소였다. 그럼 c언어를 모토로 삼는 언어는 다들 유저 메모리 영역이 4번대인가보다.(exe) [그림 3] 처음 보는 Borland 구조 구경중~ win32api와 다른건 없다. 똑같이 모듈을 얻어오는 GetModuleHandle, 윈도우 창을 세팅해주는 SetWindow, GetDC, Re..
2017.08.23