Spy++은 3가지 용도로 쓰일 수 있습니다.. 윈도클래스의 정보, 창에 들어오는 메시지들, 프로세스와 스레드 등을 볼 수 있습니다. 1. 윈도클래스의 정보를 보는 방법 목록들은 무엇을 의미할까요? 가장 상위인 Desktop라 쓰여져 있는 목록은 최상위 창을 뜻합니다. 즉 모니터의 전체 화면에 해당하며, 한편 배경 창이라고도 할 수 있습니다. 목록들은 창에 관한 내용을 표시하고 있으며, 목록들의 개수만큼 창들이 떠 있는 것입니다. 실제로는 보이지 않는 창도 많기 때문에 실제로 보이는 창의 개수보다 목록의 개수가 훨씬 많을 것입니다. 위 그림은 spy++의 윈도 클래스 정보에 대해 나타내고 있습니다. 아래 설명을 보시면, 각 메뉴가 무슨 기능을 하는지 알 수 있습니다. Messages 그 윈도클래스가 나타..
1.cff crackme #2 Serial Crack 이번에는 acid의 CrackMe들을 풀어 보자. 이글을 쓰기전 acid가 만든 CrackMe를 풀면서 느꼈던 것은 acid라는 사람은 C보다는 Delphi 를 잘하기 떄문에 Delphi로 CrackMe만든게 아닌지 짐작하여 본다. 어쨰든 Delphi로 만들어진 CrackMe들인 만큼 DeDe를 이용하여 크랙을 한번 하여보자. 시작하기전 한마디 하자면 무지 쉽다. 자! abex 솔루션에서 말했던 것처럼 CrackMe를 풀기전에 이 Crack Me가 원하는것이 무엇인지 확실이 알고 해야 할것이다. 이 Crack Me는 단지 Crack Me에 맞는 시리얼만 맞추면 된다. 정말 간단하지 않은가? 먼저 대상을 실행해 보도록 하자. 정말 간단한 인터페이스를 가..
1.abex1 CD-Protection Crack Learn2Crack에 있는 Windows Crack Me를 한개씩 풀어 봅시다. 첫번쨰 Crack Me는 abex의 abex1입니다. 이 Crack Me가 원하는 것은 C 드라이브가 CD Rom Drive 라는 결과 입니다. 과연 드라이브의 타입을 체크 하는 API는 무엇일까요? 바로 GetDriveTypeA 입니다. GetDriveTypeA 함수의 리턴값이 0x5라면 바로 CD rom Drive 인것입니다. 밑은 GetDriveTypeA의 리턴값들입니다. 리턴값들: 0 Drive Cannot Be determined 1 Root Dir Does not exist 2 DriveRemoveable 3 A Fixed Disk (HardDrive) 4 Rem..
이번 글 에서는 델파이 디컴파일러인.. DeDe를 이용하여 델파이로 만들어진 프로그램을 크렉하는 방법에 대하여 알아 보겠습니다. 먼저 대상 프로그램을 키시면 등록 하라는 메시지가 나오는데 그건 뒷부분에서 크렉하도록 하고 우선 "Continue Unregistered" 버튼을 눌러 넘어 가도록 합시다. Icon Grabber는 정식등록을 하지 않았을떄 몇가지 문제가 있는데...[정확히 몇개인지는 모름~:p] 첫번쨰는 사용할수 있는 횟수에 제한이 있다는 것이고... 두번쨰는 Icon을 Scan할떄 100개 까지만 보여준다는 것이며... 세번쨰는 Scan 할때마다 메시지 박스를 보고 OK버튼을 눌러줘야 한다는 점이며 네번쨰는 Save All을 할떄 한개 저장할떄마다 OK버튼을 눌러줘야 한다는 겁니다. 정말 사..
이번 글 에서는 MFC기반의 프로그램인.. 내다이어리를 크렉하는 방법을 알아 보겠습니다. 먼저 대상 프로그램인 내다이어리를 실행하여 봅시다. 내다이어리를 실행하면 정식 사용자 등록창 부터 나오는군요. 돈이 많이 궁한 모양입니다. 자 우리는 "등록 번호 입력" 버튼을 눌러 봅시다. 등록 번호 입력 창이 뜨는데 등록번호 창에는 아무키나 입력 하고 "등록" 버튼을 눌러 봅시다. 우리들이 사랑하는 에러 메시지가 역시 나와주는군요 이 메시지를 잘 기억해 두시고, 이제 분석을 시작하죠 먼저 W32Dasm으로 내다이러리 파일을 역어셈블 해옵시다. 역어셈블이 완료 됬으면 이제 String Ref에서 아까 보았던 에러 메시지[등록 번호가 올바르지 않습니다.]를 찾아 봅시다. 찾았으면 이제 더블클릭해서 이 스트링을 참조하..
이번 글에서는 크랙을 하나도 모르는 초보자를 위해서 가장 기초적인 방법인 String Ref를 이용해서 010Editor를 크랙하는 방법에 대해 알아 보도록 하겠습니다. 먼저 제어판에 들어가서 시스템의 시간을 한달후로 바꾸어 놉시다. 그런다음 010Editor를 가동 시키면... Evaluation Version 버전이라고 나오는군요? 기억해 두시기 바랍니다. 이제 W32Dasm을 키고 010Editor를 역어셈블 해옵니다. 역어셈블 과정은 짧으면 10초에서 ~ 길면 5분 정도 걸리는데 느긋하게 음악이나 한 곡 듣다 보면 금방 흘러갑니다. 역어셈블 과정이 완료되면 역어셈블 된 코드가 표시 됩니다. 이제 String Ref 버튼을 클릭해서 String 창을 띄웁니다. 그다음 Search 란에 아까 우리가 ..
W32Dasm 살펴보기 먼저 W32Dasm을 키신후 메뉴에서 "Disassember"를 누릅니다. 그러면 팝업메뉴가 뜨는데 "Open File to Disassemble.." 버튼을 누릅니다. 열기 대화창이 뜨는데 여기서 역어셈블 해올 파일을 선택해주시면 됩니다. 역어셈블 과정은 짧으면 10초에서 ~ 길면 5분 정도 걸리는데 역어셈블 과정이 완료되면 역어셈블 된 코드가 표시 됩니다. 위의 그림은 W32Dasm에서의 메뉴들인데 왼쪽 부터 차례대로 ------------------------------------------ OPEN - 파일을 역어셈블 해올떄 쓰는 버튼 입니다. SAVE - 역어셈블된 결과를 파일로 저장할떄 쓰는 버튼 입니다. FIND - 문자열을 검색할떄 쓰는 버튼 입니다. CopyClip..
The Base knowledge of Reverse Engineering. 이번 글에서는 RE를 하는 데에 있어서의 기초 지식인 어셈블리어, 논리연산, 레지스터에 대해 간단하게 다룹니다. 1.어셈블리어 Push : sp 레지스터를 조작하는 명령어중의 하나이다. 스택에 데이터를 저장하는데 쓰인다. ex:) Push eax : 스택에 Eax의 값을 스택에 저장한다. ex:) Push 20 :즉석값인 20을 스택에 저장한다. ex:) Push 401F47 : 메모리 오프셋 401F47의 값을 스택에 저장한다. Pop : 이 또한 sp 레지스터를 조작하는 명령 어중 하나이다. 스택에서 데이터를 꺼내는데 쓰인다. ex:) Pop eax :스택에 가장 상위에 있는 값을 꺼내애서 eax에 저장한다. 주의점 : Pu..
- Total
- Today
- Yesterday
- 엘키
- SQLite Spy
- Ruby on Rails
- EasyExec
- 게임개발포에버
- 루비 온 레일즈
- 게임데브포에버
- 디자인 패턴
- perfmon
- EzShortcut
- c언어
- ruby
- 좋은 프로그래머
- 바로가기 프로그램
- NDC2013
- TraceRoute
- SDL
- 조엘 온 소프트웨어
- CppSQLite
- 루비
- 리버스 엔지니어링
- RoR
- MS-SQL
- svn
- 멀티스레드
- 디버깅
- Rails
- TDD
- ftp
- 임백준
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |