목록INTERLUDE/Reversing (10)
Information Security

https://ch.codeengn.com/ CodeEngn.com [코드엔진] 코드엔진은 국내 리버스엔지니어링 정보공유를 위해 2007년 부터 리버스엔지니어링 컨퍼런스 및 세미나, 워크숍을 현업 실무자들과 함께 운영하고 있는 비영리 커뮤니티입니다. ch.codeengn.com 파일 유형을 알아보자 실행 결과 11초에 가깝게 실행되고 종료됨 언패킹해줌 timeGetTime 함수를 쓰는 것을 보아 밀리초 단위로 반환할 것을 예측 timeGetTime 함수에 다 BP를 걸어줌 실행시키면 이렇게 나오면서 실행이 안 되는 것을 확인할 수 있음 CALL EDI만 다른 값을 갖는 것을 확인함. 안으로 들어가서 살펴보자 F8로 하나씩 실행하다 보면 이 부분을 반복하는 것을 볼 수 있 내려가다보면 cmp를 볼 수 있다..

https://ch.codeengn.com/ CodeEngn.com [코드엔진] 코드엔진은 국내 리버스엔지니어링 정보공유를 위해 2007년 부터 리버스엔지니어링 컨퍼런스 및 세미나, 워크숍을 현업 실무자들과 함께 운영하고 있는 비영리 커뮤니티입니다. ch.codeengn.com 실행 TEST string 부분 확인 시 Try Again이 보임 여기로 이동해보자 분기점 확인 BP 걸어주고 다시 확인해보자 EAX에 시리얼넘버로 넣어주었던 12345가 hex 값으로 들어있음 비교값으로 6160이 들어있음 16진수 6160을 10진수로 바꾸면 24928이 나옴 성공 실행 TEST string 확인 Wrong password!로 가보자 분기점 찾고 BP 걸어줌 15번 문제와 비슷한 구조 3838184855

https://ch.codeengn.com/ CodeEngn.com [코드엔진] 코드엔진은 국내 리버스엔지니어링 정보공유를 위해 2007년 부터 리버스엔지니어링 컨퍼런스 및 세미나, 워크숍을 현업 실무자들과 함께 운영하고 있는 비영리 커뮤니티입니다. ch.codeengn.com 파일 유형을 살펴보자 올리디버거로 확인해보자 string 부분을 확인해 보았다 test 빨간 박스 부분 String1이 시리얼 값으로 예측할 수 있음 따라서 CodeEngn의 시리얼 값은 06162370056B6AC0 파일 유형을 먼저 살펴보자 Key 값: BEDA-2F56-BC4F4368-8A71-870B Name이 한 자리라고 해서 한 자리 입력했는데 더 입력하라고 나옴 이 부분을 수정해야 함 함수로 들어가보자 분기점이 나옴 ..

https://ch.codeengn.com/CodeEngn.com [코드엔진]코드엔진은 국내 리버스엔지니어링 정보공유를 위해 2007년 부터 리버스엔지니어링 컨퍼런스 및 세미나, 워크숍을 현업 실무자들과 함께 운영하고 있는 비영리 커뮤니티입니다.ch.codeengn.com 파일 유형을 확인해보자 .text이고 C#으로 만들어졌다고 한다실행시켜보자Visual Studio, 올리디버거 둘 다 열리지 않음 C# 으로 작성된 프로그램은 .Net reflector 를 이용해서 쉽게 소스코드를 복원 가능하다고 함 (http://www.red-gate.com/dynamic/products/dotnet-development/reflector/download) 생성된 프로젝트 파일을 확인해보자무언가가 암, 복호화 되고 ..

https://ch.codeengn.com/ CodeEngn.com [코드엔진] 코드엔진은 국내 리버스엔지니어링 정보공유를 위해 2007년 부터 리버스엔지니어링 컨퍼런스 및 세미나, 워크숍을 현업 실무자들과 함께 운영하고 있는 비영리 커뮤니티입니다. ch.codeengn.com POPAD 서치 OEP: 00401000 Stolenbyte: 6A0068002040006812204000 004010006A0068002040006812204000 CMP EAX,7A2896BF 비교하는 것을 알 수 있음 10진수로 바꿔주면 2049480383 메시지박스가 뜨는 것을 확인할 수 있음 Hex Edit으로 확인해보자 이 부분을 바꾸면 될 것으로 생각됨 null까지 포함해야 하기 때문에 +1 2049480383 D3B..

https://ch.codeengn.com/ CodeEngn.com [코드엔진] 코드엔진은 국내 리버스엔지니어링 정보공유를 위해 2007년 부터 리버스엔지니어링 컨퍼런스 및 세미나, 워크숍을 현업 실무자들과 함께 운영하고 있는 비영리 커뮤니티입니다. ch.codeengn.com OEP란? Original Entry Point: 패킹된 파일의 실제 프로그램 시작 부분(원본 코드의 Entry Point) UPX 패킹의 특징 [ PUSHAD ~ POPAD ] 명령어 내부에서 압축해제 코드가 실행 되고 [ POPAD ] 명령어 실행 후 [ JMP ] 명령어를 통해 OEP로 이동 파일의 형태를 알아보자 UPX1으로 패킹되어 있음을 알 수 있다. PUSHAD를 F8로 실행 후 바뀐 ESP에 대한 dump를 확인해주..

https://ch.codeengn.com/ CodeEngn.com [코드엔진] 코드엔진은 국내 리버스엔지니어링 정보공유를 위해 2007년 부터 리버스엔지니어링 컨퍼런스 및 세미나, 워크숍을 현업 실무자들과 함께 운영하고 있는 비영리 커뮤니티입니다. ch.codeengn.com PEID를 이용해 파일의 정보를 알아보자 EP Section을 보니 UPX1으로 패킹이 되어 있는 것을 확인할 수 있다 언패킹 후 다시 확인해보자 Original Entry Point: 00401360 언패킹한 파일을 올리비더거로 실행해보자 Serial을 맞춰보라는 의도인 것 같다 1111로 잘못된 정답을 써 보았다 AD46DFS547 맞는 경우 You got it 틀린 경우 Wrong Serial 성공 serial로 보이는 값을..

https://ch.codeengn.com/ CodeEngn.com [코드엔진] 코드엔진은 국내 리버스엔지니어링 정보공유를 위해 2007년 부터 리버스엔지니어링 컨퍼런스 및 세미나, 워크숍을 현업 실무자들과 함께 운영하고 있는 비영리 커뮤니티입니다. ch.codeengn.com 처음 실행시킨 경우 아래와 같이 cmd 창이 뜸 F8키를 누르면서 실행시키면 CALL 0040100F 부분에서 디버깅 당함이라는 문자열이 연속으로 나오는 것을 볼 수 있음 F7키를 눌러 해당 함수에 들어가면 IsDebuggerPresent 함수를 찾을 수 있다 exe 파일 그림이 달라 PEID를 이용해 암호화되었는지 살펴보았다 EP Section을 보면 UPX1로 암호화된 것을 예측할 수 있다 언패킹 해준다 다시 PEID로 확인해..