본문 바로가기

Hacked Brain/Reverse Engineering

PE, OEP, IAT in Wiki Portable Excutable The Portable Executable (PE) format is a file format for executables, object code, and DLLs, used in 32-bit and 64-bit versions of Windows operating systems. The term "portable" refers to the format's versatility in numerous environments of operating system software architecture. The PE format is basically a data structure that encapsulates the information necessary for the Wi.. 더보기
Useful API Break Points 유용한 API 중단점들 Useful API Break Points 저에게는 저작권이 없음을 밝힙니다. http://dual5651.hacktizen.com/new/82 파일 열기(Open) :파일 생성 & 여는데 쓰인다. 16-bit: CreateFile 32-bit: CreateFileA wide: CreateFileW 파일 입출력(Read&Write) :파일을 입출력하는데 쓰인다. ReadFile ;읽기 WriteFile ;쓰기 파일 접근(Access) SetFilePointer ;포인터 조정 시스템 디렉토리 얻어오는 함수 16-bit: GetSystemDirectory 32-bit: GetSystemDirectoryA wide: GetSystemDirectoryW .ini파일과 관련된 함수 :ini 구성설정에 관련된 함수.. 더보기
리버스엔지니어링샘플.abex crack me 시리즈.5. serial crack 이제 마지막 크랙이다. 이번것도 이제까지의 크랙과 그리 다르지 않다. 실행을 하면 나타나는 윈도우. 간단히 보면, 텍스트를 가져와서 비교해서 결과를 내놓는 프로그램일듯 보인다. 윈도우에서 텍스트를 가져오는 함수들은 몇가지가 있는데, 여기서는 GetDlgItemTextA 를 이용했다. 따라서, Ollydbg를 열어서, 해당함수를 추적해 들어가면 간단히 해결이 된다. 사용된 넘들을 찾아보면 쭈~~ 욱.~~ 나온다. 여기서 GetDlgItemTextA를 따라서 들어가 보자. 떡 하니 걸리는 곳에서 브레이크를 걸어주고 실행을 시켜보자. F8로 계속 실행을 시켜보면, 시리얼을 만들어내는데, 마지막 부분에 우리가 입력했던 시리얼과 만들어진 시리얼이 나란히 나타나느것을 볼수있다. 이넘을 다시 넣어주면 끝!! 더보기
리버스엔지니어링샘플.abex crack me 시리즈.4. VB serial crack 이번 예제도 VB로 만들어진 예제이다. PEiD로 확인을 해봐도 되고, OllyDbg로 열어봐도 함수들이 Vb로 되어있다는걸 쉽게 알수 있을듯하다. 간단하게 열어서 보자. text string을 검색해보면 아래와 같이 나오는데, 성공메세지 부분을 따라 들어가 보자. 00401F11 에 성공메세지가 보인다. 00402055 부분에 점프문이 보인다. 간단하게 브레이크를 걸어주고 실행을 눌러보면, 입력부분에서 브레이크된다. Serial을 입력하면, 00402280에서 브레이킹되서 멈추는데, 이를 자세히 따라가다 보면, 00402308에서 serial을 가져오는걸 볼수 있다. 여기선 2208800이 시리얼로 나타난다. 더보기
리버스엔지니어링샘플.abex crack me 시리즈.3. keyfile check 이번 예제는 너무 간단하고, 방법도 여러가지다. 간단하게 점프문을 바꿔도 상관이 없고, 소스에 나타난 파일을 생성해줘도 상관이 없다. 이번예제를 실행시키면, 특정파일을 찾고, 용량을 확인해서 같지 않으면 에러메세지를 뿌려준다. CreateFileA를 이용해서 찾거나, string 을 찾아서, 에러메세지를 찾아내서 따라 들어가도 된다. 기본적으로 보면, 00401060 부터 시작되는 소스가 에러메세지를 뿌려주는 부분이다. 우리가 그냥 실행시켜보면 나타나는 부분들... 바로 위에 보면, 점프되어서 오는 부분이 보인다. 00401037에서 점프되어서 오는 걸 확인할수 있는데, 바로 위에 비교문이 보인다. cmp eax,-1 즉, 파일을 비교해서 없으면 리턴값이 -1이 되는데, 결국 파일이 없으면, 아래 주소로.. 더보기
리버스엔지니어링샘플.abex crack me 시리즈.2. serial crack 이번 샘플은 아주 간단하다. 이름에 따라서 인코딩된 암호가 다른데, 이를 크랙한다. 주의 깊게 봐야할건 결국 어떻게 암호가 생성이 되던지, 결국에는 입력된 암호와 실제 인코딩된암호를 비교하는 부분을 파악을 해서 그 값을 찾아내면된다. 이 예제는 VB로 만들어 져 있었다... 먼저 파일의 압출을 풀어서 실행해본다. 아무 이름이나 넣어도 되나, 여기선 Name에는 test, Serial 에는 aaaaaa 를 넣어봤다. 역시 에러메세지가 뜬다. 이런 메세지창이 뜰때 그 문구들을 잘 보아두어야 한다. 결국 저 문구를 찾아내어서 해당 코드를 잡는게 빠르다... PEiD로 해당 파일을 본결과다. VB로 만들어져 있고, 압축등은 되어 있지 않다. OllyDbg를 실행시켜서 CPU부분을 본다. 일단 에러메세지를 찾아본.. 더보기
리버스엔지니어링 tools 혹시나 모를 것을 대비한 백업용. Achilles_0_16_b.zip AspackDie141.zip boomerang_ win32_gui_alpha_0.2.rev1.zip CodeFusion30.zip CodeSnippetCreater1.05.2.zip compiler cp1setup.zip crackerskit.v2.00-icu.zip debugger dede.zip DiE.rar disassembler DriverStudio3.2.zip dup2.rar etherchange.zip ethereal_0.9.3.tar.gz ettercap_0.6.5.tar.gz GameTrainerStudio162.zip hex_editor iceext-0.70-bin.zip iczdump.zip iidking.zip .. 더보기
리버스엔지니어링샘플.abex crack me 시리즈. 1. cdrom protection crack 하드웨어만지다가 리버스엔지니어링에 요즘 빠져들고 있다~~~ 꽤나 방대한 부분의 공부가 필요한 부분이라 조금씩 먹고 있는데... 끝이 안보이긴 하다 큭... 그래도 꽤나 재미있는 분야라... 옛날에 해킹에 빠졌던 느낌이 스믈스믈 올라오는게, 좋다 ㅋㅋㅋ 해킹마냥 밝은부분과 어두운부분이 공존하는 분야의 공부인지라 더욱더 관심이 간다. 사실상 해킹과 연관이 꽤 있는 부분이라 꽤나 복잡허다... --------------------------------------------------- 리버스 엔지니어링 샘플중 유명한 것중 하나인 abex crack me 시리즈. 첫번째 예제 cdrom protection. 준비물 ------------------------------------------------------.. 더보기
The Base knowledge of Reverse Engineering The Base knowledge of Reverse Engineering. 이번글에서는 RE를 하는데에 있어서의 기초 지식인 어셈블리어,논리연산,레지스터에 대해 간단하게 다룹니다. 1.어셈블리어 Push: sp 레지스터를 조작하는 명령어중의 하나이다. 스택에 데이터를 저장하는데 쓰인다. ex:) Push eax :스택에 Eax의 값을 스택에 저장한다. ex:) Push 20 :즉석값인 20을 스택에 저장한다. http://dual5651.hacktizen.com/tt/entry/The-Base-knowledge-of-Reverse-Engineering ex:) Push 401F47 :메모리 오프셋 401F47의 값을 스택에 저장한다. Pop: 이또한 sp 레지스터를 조작하는 명령어중 하나 이다. 스택에.. 더보기