upx 수동언패킹
·
리버싱
push ad 가 나오기떄문에 popad가 필요하므로 ctrl + s 로 popad를 찾고난 뒤에 ctrl + l 로 두번쨰를 찾는다. 더이상 찾을게없다한다. f9를 누르면 몽땅 실행하지만 popad에 걸린다. oep 로 점프 하는 내용이보인다. oep 는 00401340 이다. 점프하면 시작되기떄문 iat auto search를 하고 Getimports를 누른다 함수들을 불러와준다 fix dump를 눌러주고 messageboxupx 에 오픈해준다. 데이터를 한스탭한스텝 보여주면서 넘길수있다 esi 와 edi가 소스를 복사할때 많이 쓰인다 소스에서 데스티네이션으로 자주 복사할떄 쓰이는거 esi 는 소스 edi는 데스티네이션 edi 의004010C2는 메세지박스의 코드 쪽이다 esi의0040709E의 데이..
레나 듀토리얼 - 4
·
리버싱
with 보안 프로젝트 이번 레나의 시련은 체험판을 크랙을 진행하는 것입니다. 이렇게 인스톨을 그냥 진행을 해봅니다. 유저이름을 적어달라고 하는데 그냥 아무거나 적어 줍니다 전화번호부를 관리하는 프로그램인데 레나 4번은 이 프로그램을 크랙을 하는 겁니다. 이렇게 프로그램을 설치 했습니다. 이것은 2000년대에 나온 프로그램입니다. 다운로드를 진행한 파일의 위치를 열어줍니다. ㅁㄴㅇㅁㄴ체험판 크 이 파일위치로 왔습니다. C:\Program Files (x86)\PixtopianBook C:\Program Files\PixtopianBook(xp 에서는) 이파일을 올리디버거로 열어봅니다. 열은 뒤에 이곳의 options -> Exceptions 옵션에서 전부 체크가 해제되있는지 확인합니다.확인을 하고 F9로..
레나 듀토리얼 - 3
·
리버싱
With 보안프로젝트 내그 제거 PE 구조 분석 nag를 없애기 실습 첫번째 nag를 제거(EP 수정) 두번째 nag를 제거 (nop 패치) Oops의 Entry Point 쫓아가서 BP 잡는 방법 설명 Oops의 올리에서 제대로 실행되지 않는 이유를 분석 Pe 구조를 보기위해서는 peview를 많이 사용하게된다. 그래서 레나듀토리얼 3번 파일을 peview로 켜봅니다. 주요내용은 section 부터 들어가게됩니다. 앞에 헤더들은 어떤모양을하고있고 어떻게 올라가 있고 이정도라고 생각하면됩니다. 이 파일은 어떤거고 라고 설명하는 거라고 생각하면된다. dos 헤더는 옛날에 사용하던 그것이지만 현재는 그냥 호환성을 위해서 냄겨두는 거라고 생각하면됩니다. Offset to EXE Header에서 새로운 헤더에 ..
레나 듀토리얼 - 2
·
리버싱
이번 2레벨 에서는 이 키파일을 지워줍니다. 왜그러냐면 이번에는 라이센스 키를 만드는 목적 입니다. 키파일을 지우니 1번과 같이 똑같은 메세지 박스가 뜨게됩니다 이제 올리디버거로 열어봅시다. 1레벨 때했던 것처럼 CreateFileA 는 keyfile.dat가 있어야 열리는 것입니다. 그리고 우리는 key파일을 하나 만들어봅니다. 메모장에 저것을 엽니다. 그리고 abcd하고 저장을 하게되면 keyfile 이 있으므로 실행이될거라 판단이됩니다 그래서 f8을 누르면 잘실행이되고 점프도 잘해주고 잇습니다. 그런데 지금처럼 4글자 밖에 없다라고하면 pBytesRead 에 4byte만 적힙니다. 덤프창에 저위에있는 Buffer 0040211A에 abcd 즉 우리가 keyfile에 넣었던 값이 잘 전달이되는지를 확..
레나 듀토리얼 - 1
·
리버싱
with 보안프로젝트 참고 MSDN 프로세스 : 프로그램이 실행 되는 것 메모리: 가상메모리에 프로그램 파일이 올라감 가상메모리:컴퓨터가 물리메모리를 효율적으로 사용하기위해서 물리메모리:8기가램 레지스터: cpu가 사용하려고 가지고 있는 데이터 eax 계산에 대한 저장을 하는 데이터 ebx 베이스 레지스터라는 것 ecx 카운터 레지스터(숫자를 세거나) edx 데이터 레지스터 esi 소스 인덱스(출발지) edi 데스티네이션 인덱스(목적지) ebp 스택의 아랫부분 (베이스) 포인터 esp 스택의 윗부분을 가르킴(탑) 포인터 eip CPU가 다음에 실행할 명령어 주소 10진수 0-9 16진수 0-F 0123456789ABCDEF 4바이트 -> 32비트 eax -> 32bit ax -> 16bit ah/al -..