본문 바로가기

reversing/리버싱

(11)
작업관리자 응용프로그램 목록 열거 #define WIN32_LEAN_AND_MEAN#include #include BOOL CALLBACK EnumWindowsProc(HWND hwnd, LPARAM lParam){TCHAR windowName[MAX_PATH] = {0,};TCHAR className[MAX_PATH] = {0,}; if(!GetWindowText(hwnd, windowName, sizeof(windowName)) && GetLastError() != ERROR_SUCCESS)return FALSE; if(!GetClassName(hwnd, className, sizeof(className)) && GetLastError() != ERROR_SUCCESS)return FALSE; DWORD exStyle = GetWin..
wget .wgetrc 적용 및 robots.txt 대하여. 영화 "소셜네트워크" 에서 주인공이 페이스매칭 프로그램을 만들기 위해서 사진을 구할려고 쓴 프로그램.신기하다 싶어서 이것저것 해보다가 재미있는것을 발견해서 적는다. 먼저 .wgetrc 파일 적용 방법.wgetrc 파일이 폴더 c:\wget_1.10b 안에 있다는 가정하에 입니다. (폴더 이름/경로는 사용자 설정에 따라 다를수 있습니다.) 콘솔 화면에서 명령어는 다음과 같습니다.>set wgetrc=wgetrc 파일 위치 에러메시지가 나오지 않았다면 정상적으로 적용된것입니다. 두번째. robots.txt (검색 로봇 배제 표준 설정 파일) 에 대해서 여러 블로그등에서 robots.txt에서 User-agent: *Disallow: /설정해주면 wget이 않먹는다고 했는데.. 사실 이것때문에 몇일을 고생했는..
OllyDbg 다운로드 및 설정 해당 싸이트에서 파일을 다운 받습니다. OllyDbg : http://www.ollydbg.de/ 1. 다운 받은 파일의 압축을 풉니다. 폴더가 생성이 않되어있기 때문에 폴더 두개를 생성합니다.(UDD , plugin) 2. OllyDbg를 실행합니다. Options ->Appearnce 를 클립니다. (플러그인과 UDD에 대한 경로 설정입니다.) 3. 생성한 폴더에 맞게 경로를 변경하고 OK버튼을 눌러줍니다. 4. OllyDbg를 종료 후 같은 폴더에 있던 *.dll파일을 plugin 폴더로 옮겨주고 OllyDbg를 다시 실행시켜 줍니다.(그러지 않으면 설정값이 적용이 안됩니다.) 5. ollydbf를 재실행을 하면 메뉴창에 plugin 메뉴가 새롭게 생긴것을 볼수 있습니다. 가장 중요한 옵션인 ent..
abex CrackMe 5 머냐;; 왜케 쉬운겨;; 약간의 함정을 파놓았지만 트레이서 한번만 해봐도 답이 보인다;;
abex CreackMe 4 어렵네;; 완전 노가다였다;; 사실 해법들 보면 너무나 쉽게 하는데 아직 그정도 실력은 안되서 차근차근 알아 갈려고 했는데;; 어렵다;;ㅎㅎ 이번 문제도 시리얼 문제! 하지만 버튼이 활성화가 안되어있다. 즉 문자열이 들어올때마다 체크하여 시리얼이 맞다면 버튼이 활성화 된다는거. 스트링으로 찾아보려 했지만 뚜렷한 스트링이 없다. 결국 하나한 돌려서 하는 수밖에;; 첨에 브레이크 포인트를 어디에 걸지를 몰라서 위에서 부터 하나하나 걸어버렸다;;(엄청난 노가다의 향연~) 대충 하루동안 노가다로 겨우겨우 찾아갔따; EDIT창에 무엇인가를 쓰면 위에 보면은 00402280에 걸리게 된다. EDIT창의 확인 부분인거 같다. 브포가 결렸으니 트레이서를 해보았다. (F7로 하면 재앙을 볼것이다.) 계속 내려가다 보면은 00402..
abex CrackMe3 아놔...답 앞에 두고 헤맸네;;쿠쿠;; 이게 소스 전부다! 아주 간단하게 필요한곳만 JMP로 간단하게 끝낼수도 있다. 하지만! 그러면 재미가 없잔아?! 리버싱을 통해서 어떻게 돌아가는가를 보고 해보는 재미도 있다.ㅋ 처음에 나오는 메시지박스. 소스상에서도 가장 위에 있다. 두번째 메시지박스에서 파일을 못찾는다고 나온다. 소스상에서 두번째 박스가 나오기 전을 보면 CreateFileA 파일이 있는지 확인하는 함수이다.(만들수도 있다) FileName를 보면 abex.l2c 로 되어있다. 만들어보자. 그리고 실행해보자. 흠...이젠 키파일을 찾는다. 머지?? 소스상에서 다음을 보면 파일함수 다음에 GetFileSize이다. 요건 파일의 용량을 보는 함수. 그다음에 어셈이 CMP EAX, 12 이다. EAX..
abex CrackME2 흠햐.... cff CrackMe4번과 비슷한 문제다. 4번을 푸셧다면 이것도 쉽게 풀수 있다. 사실 푸는덴 3분정도 걸렸지만 name 에 따른 시리얼이 어떻게 바뀌는지가 궁금해서 몇시간을 했다. 딱히 패킹도 걸려있찌 않은데 VB의 구조를 파악하기엔 좋은가 보다;(아직거기까진 모르겠따) -힌트 1. 메시지가 뜨는 곳을 찾는다 - Search for -> All referenced text strings 로 찾는다. 2. 뜨기전의 어셈블러에 브포(브레이크포인트)를 건다. - 점프와 call 부분을 유심히 보면 된다. 3. 스택과 레지스터를 잘 본다. -답 쫌이상하다고 생각했는데 4글자 이하의 이유는 답이 4글자를 표현한 값이기 떄문이다. 실제로 모든 답은 8글자일것이다. 앞 4글자만 변환해서 시리얼키로 사..
CFF CrackMe 3 4 번 -0- 쉽네. 왜케 쉽지; 3번은 1분, 4번은 5분정도 걸렸네;; 패킹되어있으며 UPX도 동봉했다. 3번은 시리얼찾는 문제이고(정말 쉽다.) 4번은 name에 따른 시리얼이 달라지는 문제이다.(답은 간단하며 공식은 조금만 생각하면된다.)