hacking

코드엔진 베이직 7번 문제 : c드라이브의 이름이 CodeEngn일 경우 생성되는 시리얼에서 CodeEngn이 변한 것 알아오기. 우선 다운받은 파일을 그냥 실행시켜봅시다. 건들지말고 그냥 Check를 눌러보니 짠! 틀렸을 때와 아무 것도 입력하지 않았을 때 나타나는 문자열을 알게됐으니 올리디버거로 열어봅시다. 문자열을 찾아봐야겠죠?[Search for]->[마우스 우클릭]->[All referenced text strings] 바로 찾았네요! 더블클릭해서 들어가봅시다. 에러문과 성공문이 뜨는 부분의 위 쪽을 보니 CMP명령어가 있네요. CMP명령어로 EAX의 값과 0을 비교하는 것 같아요.CMP부분에 BP를 걸고 실행시켜봅시다. EAX가 1 이네요. 0으로 바꿔서 실행시켜보면, 이렇게 시리얼이 맞다고 ..
코드엔진 베이직 5번 문제 : 프로그램의 등록 키 찾기일단 다운받은 5번 문제를 실행시킵시다. ??-?? 아무것도 모르니 일단 " Register now ! "를 눌러봅시다. 틀렸다는 문자가 뜨네요.ㅜㅡㅜ 등록키를 찾으려면 이 프로그램을 디버거로 열어서 맞았을때 문자열을 출력해주는 함수를 찾으면되겠네요. 올리 디버거로 열어봅시다. 띠용..?? 올리디버거로 열자마자 보이는 명령어가 PUSHAD .. 그러므로 실행파일이 압축되어있나 확인해봅시다. UPX로 압축되어있었네요.먼저 압축을 풀어줍시다. CFF Explorer 를 열고 파일을 불러온 후 UPX Utility 를 눌러준 후, Unpack 을 눌러줍니다. 누른 후 이름을 지정하고 저장하기만 누르면 짠 요롷게 원래 실행파일 밑에 언패킹한파일이 나타납니다...
코드엔진 베이직 4번 : 디버거를 탐지하는 함수의 이름은?문제에서 프로그램이 디버거를 탐지한다 했으니 디버거를 사용하지 않고 문제를 실행시켜봅시다. 정상이라 뜹니다. 그럼 디버거를 사용해 실행시켜봅시다. 디버깅 당함이라 뜨네요! 베이직 문제 3번 풀이에서 썼던 올리디버거의 기능을 씁시다. [마우스 우클릭]->[search for]->[All intermodular calls] 들어가면 이 프로그램에서 사용한 함수만 나열됩니다. 제일 처음 쓰인 함수부터 보니 IsDebuggerPresent 라는 함수가 있네요. 이름부터 수상하니 더블클릭해서 들어가봅니다. 우선 이 함수의 역할을 알기 위해 bp를 걸고 실행시켜봅시다. 이 함수를 지나기 전 EAX의 값은 0 이지만 지난 후 EAX의 값은 1이 됩니다. 계속 ..
베이직 2 번 문제 : 패스워드 찾기우선, 문제를 다운 받은 후 실행시켜보면 실행할 수 없다고 뜹니다. PE파일에 문제가 있는 것 같은데 혹시나 하는 마음에 올리 디버거로 열어보면 역시나 열 수 없다고 뜹니다. 그럼 PE파일을 확인하기 위해 HxD (헥사에디터) 로 열어봅시다.(PEViewer 등 다른 툴도 상관없음!) 윗 부분에 MZ라는 값이 있는데 PE포멧 중 가장 첫 번째에 위치하는 필드입니다. 조금 더 코드를 살펴보다보면, 000000D8 부분에 보여야 할 ' P E \0 \0 ' 값이 보이지 않는다는 것을 알 수 있습니다. PE값은 PE포멧 중 실행파일이 시작하는 부분으로 없으면 안되는 필드입니다.실행파일이 손상된 이유를 알게 되었지만 PE파일을 복구시킬 능력이 없기 때문에 아래로 더 내려서 d..
lim.dev
'hacking' 태그의 글 목록 (2 Page)