반응형

리버싱 46

Lena Reversing - tutorial 25_1

Lena Reversing tutorial 25_1 이번 단계는 24단계와 비슷하다 두번에 나누어 진행하는데 한번은 언패킹을 진행하고 한번은 로더를 이용해준다. 먼저 언패킹 먼저 진행하도록 한다. 이번 프로그램은 Spyware Doctor 프로그램이다. 이번 프로그램도 역시 Armadillo 프로텍터가 적용되어 있다. Ollydbg로 열어준다. 역시 OutputDebugStringA 함수를 통해 안티 디버깅 기법을 적용하고 있다. 24단계와 마찬가지로 진행해준다. Command bar에 bp OutputDebugStringA 를 해주어 bp를 걸어준다. PUSH 234로 되어있는 부분을 RETN 4로 바꾸어 주면 제대로 실행이 된다. 이제 OEP를 찾아주어야 한다. Exception을 이용한 방법을 이전..

Lena Reversing - tutorial 24_2

Lena Reversing tutorial 24_2 이번에는 같은 프로그램을 loader를 통해 패치하는 과정을 진행하도록 한다. 24_1 에서 봤듯이 이번 프로그램은 Armadillo 프로텍터를 사용하고 있다. OutputDebugStringA 함수를 통해 디버거를 탐지하고 종료시킨다. 그럼 프로그램을 살펴본다. Ollydbg로 열어 실행해준다. OutputDebugStringA 는 이전 24_1을 참고해 우회해준다. 프로그램 실행 화면이다. 좌측 버튼중에 가장 아래 Regist 하는 버튼이 있다. 아무값이나 넣고 regist 해본다. 다음과 같이 올바르지 않다고 나온다. 이제 이 부분을 crack 해보도록 한다. 그대로 두고 Ollydbg로 넘어간다. Call stack을 이용해주도록 한다. 상단의 ..

Lena Reversing - tutorial 24_1

Lena Reversing tutorial 24_1 이번 단계에서 볼 프로그램은 RegMech 프로그램이다. 같은 프로그램을 두 번에 나누어서 그냥 언패킹을 하는 방법과 loader를 이용해서 패치하는 과정을 진행한다. 해당 글에서는 먼저 언패킹을 진행해보도록 한다. 먼저 프로그램을 Exeinfo PE 프로그램에 올려주었다. Armadillo 프로텍터가 적용되었다는 것을 확인 할 수 있다. Ollydbg로 열어서 확인해준다. Ollydbg로 열어서 진행하면 어느순간 꺼져버린다. Armadillo 프로텍터의 특징이다. 디버거를 탐지해서 실행중이던 프로그램을 꺼버린다. 그냥 프로그램을 열어서 프로그램을 확인해주려고 했으나.. 멈춰서 실행이 안된다. 현재 32bit 환경인데 64bit 환경으로 진행하니 프로그..

Lena Reversing - tutorial 23

Lena Reversing tutorial 23 이번 단계에서는 'stolen byte' 라는 것에 대해 배우게 된다. stolen byte는 프로그램의 코드 중에서 패커가 위치를 이동시킨 코드를 말한다. 할당된 메모리 공간으로 이동되어 실행되고 때문에 이를 복구하지 못하고 덤프하게 되면 정상적으로 작동하지 못한다. 일종의 안티 디버깅 기법 중 하나라 할 수 있다. 주어진 프로그램을 분석하도록 한다. 이번 단계도 역시 프로그램 하나만 존재한다. 압축을 풀어 나온 NfoViewer 프로그램을 Ollydbg로 열어준다. 바로 분기해서 PUSHFD, PUSHAD로 가고 있다. ESP를 이용해 OEP를 찾아준다. PUSHFD를 지나자 ESP 값이 변경되었다. hw bp를 걸어주고 실행한다. break가 걸린다...

Lena Reversing - tutorial 22

Lena Reversing tutorial 22 이번 단계에서는 API Redirect 라는 기능에 대해서 배우는 것이 목적이다. 20, 21 단계에서 많은 수의 프로그램을 진행했는데 이번엔 다행히 프로그램이 하나다. ㅎ Ollydbg로 프로그램을 열어준다. 패킹되었을 때 자주 보였던 PUSHAD 가 가장 먼저 보인다. ESP 를 이용해서 OEP를 구해준다. PUSHAD를 지나자 ESP 값이 변한다. 12FFA4에 hw bp를 걸어준다. F9를 눌러 진행해준다. break가 걸린다. POP을 두번한 후 CALL을 하고 있다. F8을 진행해서 CALL 하는 EAX 값을 확인하면 4331B8이다. 이 값을 OEP로 추정할 수 있다. Import REC를 통해 dump해준다. Import REC를 열고 프로그..

Lena Reversing - tutorial 21_4

Lena Reversing tutorial 21_4 마지막 네번째 프로그램은 UnPackMe_WinUpack0.39 이다. Ollydbg로 열어준다. 오류창과 함께 시작된다. 특이하게 7C로 시작하는 주소에서 시작이 된다 . Memory map을 열어 확인해본다. 프로그램의 memory 영역이 PE header밖에 없고 크기가 매우 크다. PE header 안에 모든 내용을 집어 넣은 것으로 보인다. 더블클릭하여 좀 더 살펴본다. Entry point가 1018로 되어있다. 401018에 breakpoint를 걸고 실행한 뒤 한 줄씩 진행해본다. 프로그램 영역 내부이지만 다른곳으로 분기하는 부분이 있다. 계속 진행해준다. F8을 눌러 진행하는데 끝이 보이지 않게 계속 진행된다. 아래쪽에 RETN이 보인다..

Lena Reversing - tutorial 21_3

Lena Reversing tutorial 21_3 세번째 프로그램은 PCGuard4.06C_UnpackmeAll 이다. Ollydbg로 열어준다. 이번에도 ESP를 이용해서 OEP를 찾아주도록 한다. PUSH EBP가 실행되자 ESP값이 변한다. 12FFC0 메모리에 hw bp를 걸어준다. F9를 누르면 break가 걸리는데 의미 없는 곳에 걸린다. 계속해서 눌러주다보면 break가 계속해서 걸리고 마지막엔 멈추게 된다. 강의에서는 F9를 누르다보면 OEP로 가게 되는데 뭔가 이상하다. 바로 401000에 hw bp를 걸고 실행을 시켜도 break가 걸리지 않는다. 해당 파일이 이유는 아직 부족한 실력으로 잘 모르겠다... 강의를 기반으로 계속해서 설명을 하면 OEP를 401000으로 구했기 때문에 d..

Lena Reversing - tutorial 21_2

Lena Reversing tutorial 21_2 이번엔 두번째 프로그램 UnPackMe_UPX 를 가지고 진행을 한다. 파일이름에서 볼 수 있는 UPX는 상당히 유명한 패커의 일종이다. Ollydbg로 열어준다. PUSHAD로 시작하는 것이 눈에 띈다. 이번에도 ESP를 이용해서 OEP를 찾아주도록 한다. F8을 눌러 한 줄 진행하자마자 ESP값이 변한다. 0012FFA4 에 hw bp를 걸어준다. 그 다음 F9를 눌러 진행해준다. 다음과 같이 break가 걸린다. 00401000으로 분기하고 있고 이 주소가 OEP로 보인다. ollydump를 통해 dump를 떠준다. Rebuild Import는 체크 해제하고 진행한다. LoadPE 프로그램을 통해서 dump 한 파일을 Rebuild PE를 해준다...

Lena Reversing - tutorial 21_1

Lena Reversing tutorial 21_1 이번 단계의 프로그램은 총 4개이다. 하나씩 진행하도록 한다. 가장 먼저 볼 프로그램은 UnPackMe_FSG2.0 이다. 먼저 Exeinfo PE로 프로그램을 열어준다. FSG 패커로 패킹이 되어있는 것을 확인할 수 있다. Ollydbg로 프로그램을 실행해준다. ESP 값을 통해 OEP를 찾아준다. F8을 눌러 한 줄 넘어가면 ESP 값이 다음과 같이 변한다. 오른쪽 마우스를 눌러 Follow in dump를 눌러 메모리영역을 확인하고 해당 메모리에 hw bp를 걸어준다. F9를 눌러 실행하면 다음과 같이 break가 걸린다. 404000 번지로 분기하고 있다. 이 주소가 OEP로 보인다. Ollydump로 dump를 해준다. Rebuild Impor..

Lena Reversing - tutorial 20_8

Lena Reversing tutorial 20_8 마지막 8번째 파일은 UnPackMe_Fusion4.0.00.c 이다. Ollydbg로 열어준다. 이번에도 ESP를 이용하여 언패킹을 해본다. F8을 눌러 ESP가 처음으로 바뀌는 부분을 찾는다. PUSH EBP 수행후 ESP 값이 0012FFC0로 바뀐다. 이 값에 hw bp를 걸어준다. F9를 눌러주면 다음과 같이 break가 걸린다. 이 주소가 OEP로 추정된다. Ollydump를 통해 dump 해준다. Rebuild Import는 해제하고 dump 해준다. 끝.

반응형