CodeEngn Challenge

Checkin List

최근 인증 기록을 확인할 수 있습니다. 공개 별칭과 코멘트만 표시됩니다.

Public record

최근 인증 페이지당 50건

24,553건의 공개 인증 기록 · 340 / 492 페이지

Checkin timeNameLevelCommentPoint
2015-03-15 11:04:520xBADC0DEBasic L12-23
2015-03-15 05:08:290xBADC0DEBasic L11-21
2015-03-14 21:48:10ethobisBasic L12-23
2015-03-14 18:41:51ethobisBasic L11-21
2015-03-14 18:32:39ethobisBasic L10-19
2015-03-14 18:27:52ethobisBasic L09-17
2015-03-14 18:12:22ethobisBasic L08-15
2015-03-14 18:08:09ethobisBasic L07-13
2015-03-14 18:00:34ethobisBasic L06-11
2015-03-14 17:55:53ethobisBasic L05-9
2015-03-14 17:41:56ethobisBasic L04-7
2015-03-14 17:38:01ethobisBasic L03-5
2015-03-14 17:35:47ethobisBasic L02-3
2015-03-14 17:28:15ethobisBasic L01-1
2015-03-14 15:16:34symnoisyBasic L09Challenges : Basic 09 Author : abex Korean : StolenByte를 구하시오 Ex) 75156A0068352040 English : Find the StolenByte Ex) 75156A0068352040 stolen byte: 패커가 위치를 이동시킨 코드. 보호된 프로그램의 코드 윗부분(보통EP의 몇개의 명령어임) 즉 stolen byte란 EP 진입점에서 빼내온 opcode를 찾으라는 문제같다. 패킹 자체는 upx로 되어있어서 OEP 진입점은 굉장히 쉽게 찾을수 있엇다. 그런데 stolen byte로 인해서 OEP지점에서 바로덤프를 떠버리면 실행이 제대로 되지않는다(왜냐하면, OEP부분에서 처리해줘야할 일부를 패킹부분에다가 집어 넣어 주엇기때이다) 즉, 덤프를 뜨기 이전에 stolen byte를 OEP 부분에 추가해주고, 마지막 jmp 부분(UPX는 이부분이 OEP로 점프하는 부분이므로)을 stolen byte를 추가해준 시작부분으로 수정해주고 덤프를떠주면된다. 코드엔진 자체에서 묻는것은 stolen byte 부분이므로 이에 대한 opcode를 이어서 써주면된다. 17
2015-03-14 14:08:06TempaBasic L03-5
2015-03-14 13:24:17tempaBasic L02-3
2015-03-14 11:58:08tempaBasic L01aa1
2015-03-14 11:34:3212Basic L01-1
2015-03-13 14:54:53symnoisyBasic L08Challenges : Basic 08 Author : Rekenmachine Korean : OEP를 구하시오 Ex) 00400000 English : Find the OEP Ex) 00400000 OEP 구하는 문제인데 UPX로 패킹되어 있어서 엄청나게 간단하게 구해버렷다 UPX 특징이 맨마지막 JMP부분에서 압축을 해제한 실제 데이터 부분으로 jmp를 하기때문에 맨 마지막 점프부분을 따라가면 OEP 부분이 나오게된다 어떻게 UPX 패킹인지 알앗냐면 , PE View 로 먼저 열어보고 들어갓는데 섹션부분에서 upx패킹되어잇는 프로그램들의 특징을 발견햇다(뭐 원래는 peid를 써서 패킹을 확인하지만) 15
2015-03-13 14:41:26symnoisyBasic L07Challenges : Basic 07 Author : abex Korean : 컴퓨터 C 드라이브의 이름이 CodeEngn 일경우 시리얼이 생성될때 CodeEngn은 !어떤것!으로 변경되는가 English : Assuming the drive name of C is CodeEngn, what does CodeEngn transform into in the process of the serial construction 문제에서 어떤 api 함수를 건드려야 할지는 module에 나열된 api 함수들을 보고 감이왔는데,, 어떤식으로 바꿔야 할지 몰라서 헤매다가 불러오는 주소에 대한값을 바꿔줘야 한다는 것을 꺠닫고 바로실행. . 근데 이부분(40225C)는 뒤에 흐름을 살펴보니 원래 이프로그램의 문제인 serial 키를 뽑아내는 부분의 일부이다. 계속해서 뒤를 보면 이부분(40225C)부분 부터 네자리를 Dl(현재 2가 들어있다)을 카운터로 삼아서 암호화를 수행한다. 즉 CodeEngn에서의 Code 부분에대한 암호화(?라기보다는 문자를 두칸씩 이동한다)를 수행한다 따라서 이문제에서 원하는 답을 추측할 수 있엇고, 원래 이문제 자체의 키값은 아래와 같다 13
2015-03-12 19:43:45zeee1Basic L08-15
2015-03-11 17:24:30bblackeyeBasic L06-11
2015-03-11 16:41:21e32592Basic L11인증 21
2015-03-11 16:18:10e32592Basic L10이문제는 OEP코드와 성공메세지를 출력하는 분기점을 찾아 OPCODE 를 구하면 된다. 이제 성공메세지를 출력하는 분기점을 찾아서 OPCODE를 구해보자. 찾았다. 끝 19
2015-03-11 15:56:50zeee1Basic L07-13
2015-03-10 21:38:29bblackeyeBasic L05-9
2015-03-10 20:50:21zeee1Basic L06-11
2015-03-10 20:36:25bblackeyeBasic L04-7
2015-03-10 19:39:18bblackeyeBasic L03-5
2015-03-10 19:24:05bblackeyeBasic L02-3
2015-03-10 19:09:42bblackeyeBasic L01-1
2015-03-10 10:02:24inhackAdvance L05b13
2015-03-10 09:55:35inhackAdvance L04b11
2015-03-09 01:59:27soohyun0504Advance L09-21
2015-03-06 18:06:28revers3rAdvance L101023
2015-03-05 22:36:29revers3rAdvance L09짱짱21
2015-03-05 21:08:43kang010330Advance L05-13
2015-03-05 14:53:05677345Advance L0567734513
2015-03-05 14:44:163265754874Advance L0332657548749
2015-03-05 14:16:30shortcodeCrypto L02-7
2015-03-05 13:49:39godkadCrypto L01-5
2015-03-04 22:59:51asdasdasdasdBasic L11asdasdas21
2015-03-04 20:03:46symnoisyBasic L06Challenges : Basic 06 Author : Raz0r Korean : Unpack을 한 후 Serial을 찾으시오. 정답인증은 OEP + Serial Ex) 00400000PASSWORD English : Unpack, and find the serial. The solution should be in this format : OEP + Serial Ex) 00400000PASSWORD OEP 를 구해주고 serial 또한 구해줘야 하는 문제다. 문제에서 따로 특별한 점은 찾지 못햇지만, UPX로 패킹이 되어있고, 언패킹한후 들어가보면 키값을 비교하는 API 부분이 뭉개져있다 . 따라서 접근할때 실패했을때 나타나는 string인 wrong serial! 이라는 string 을 흰트로 하여 거슬로 올라가 해당 API 를 찾을 수 있었다 . (며칠전에 자다가 풀다가 break 걸어논 부분 부터 다시 이어서한거라 중간에 접근했던 방법이 자세히 기억이 나지를 않는다 ㅡㅡ ;; ) 이 API자체는 compare하는 api 로 param 1,2를 비교하게되는데, 스택의 원본 serial키 값과 내가 넣은 input 값을 비교하게 된다 해당 api 안으로 들어가보면 , 암호화 루틴이 나오게된다. input으로 넣어주면 성공. flag 값은 OEP + Serial 값이다 11
2015-03-04 15:49:26asdfBasic L20-39
2015-03-04 04:30:13soohyun0504Advance L05-13
2015-03-04 04:09:19soohyun0504Advance L04-11
2015-03-03 23:34:30ojsung7Basic L01-1
2015-03-03 06:21:11soohyun0504Advance L03-9
2015-03-03 05:55:56soohyun0504Advance L02-7