OllyDbg 는 사용이 편리하고 가볍고 빠른 무료 Debugger 입니다. 도저히 무료라고 보기 힘든 다양한 기능과 많은 Plugin 을 통한 확장성으로 인하여 수 많은 리버서들의 열광적인 지지를 얻고 있습니다.
Hex-rays 사의 IDA Pro 는 현재 최고의 Disassembler & Debugger 라고 말할 수 있습니다. 과거에는 Disassembler 성격이 강했으나, 수많은 업데이트를 통해 Debugger 기능 또한 막강해 졌습니다.
WinDbg 는 DOS 시절 16 bit 디버거인 debug.exe 의 Windows 버전입니다.
'tool' 카테고리의 다른 글
PEView.exe (21) | 2013.01.27 |
---|---|
HxD.exe 기능 추가! (12) | 2012.06.14 |
리버싱 현업에서 사용되는 디버거(Debugger)들 (33) | 2010.09.29 |
InjDll.exe – DLL Injection/Ejection 전용 도구 (43) | 2010.03.15 |
Process Explorer - 최고의 작업 관리자 (1) | 2009.05.03 |
www.virustotal.com (3) | 2009.03.20 |
www.google.com (2) | 2009.03.06 |
-
reversecore 2010.09.30 19:25 신고
- 봉이님 댓글
ㅁㅁ님!
제가 리버싱 공부하면서, 안티리버싱, 악성코드 분석에 관심이 생겨서 인터넷 곳곳 돌아 봤는데요..
안랩 연구원들 분께서 고려대, 서울여대 악성코드 분석 강의를 하시는 것 같더라구요..
관련 강의자료를 구할수 있을까요?
꼭 부탁드립니다.-
reversecore 2010.09.30 19:26 신고
안녕하세요~
^^ 제 실명을 거론 하셔서 제가 약간 가렸습니다. 양해바랍니다.
강의에 대해서 잘 알고 계시군요?
해당 자료는 수강생 이외에는 비공개 입니다.
참고로 저도 한 섹션을 맡았습니다. ^^
-
-
reversecore 2010.09.30 19:25 신고
- 봉이님 댓글
core님이 ㅁㅁ님 맞죠?
혹시 core님 이름이 틀렸을수도 있으니, 제가 위에 표현한 ㅁㅁ님은 core님입니다.-
reversecore 2010.09.30 18:45 신고
^^ 네 제가 그님(?) 맞습니다.
봉이님께서는 혹시 저를 아시는 분인가요?
너무 친숙하게 물어보셔서요~ ^^
(비밀 댓글로 답해주시면 됩니다.)
-
-
-
reversecore 2010.10.03 23:07 신고
안녕하세요.~
네, 그러셨군요. ^^
리버싱을 공부하고 싶으시다는 열의가 느껴집니다.
죄송하지만 강의 자료를 제공해 드릴 수는 없습니다. (제가 작성한 거라도 불가능합니다.)
그 대신 공부하시다가 막히시는 부분이 있을때 질문 올려 주시면 제 능력껏 답변 달아 드리겠습니다.
감사합니다.
-
-
김종현 2010.10.02 23:40
안녕하세요.
처음 인사드리는 김종현입니다.
테스트중 이상한 현상이 있어 문의 드립니다.
아래와 같이 정말 간단한 DLL을 만들어 Injection하였는데
이상하게 iexplore의 자식 프로세스들에서는 ::CreateFile()로
파일이 생성되지 않는데
그 이유가 심히 궁금하고
해결방법에 대하여 고수님들께 조언을 구합니다.
#include "stdafx.h"
#include <stdio.h>
#include <tchar.h>
/////////////////////////////////////////////////////////////////////////////
// _Inject
class _Inject
{
public:
static BOOL IsValidModule(LPCTSTR module_name)
{
static LPCTSTR valid_module_name_list[] =
{
//_T("notepad.exe"),
_T("iexplore.exe"),
NULL
};
for (int i=0; valid_module_name_list[i]; i++)
{
if (!_tcsicmp(module_name, valid_module_name_list[i])) return TRUE;
}
return FALSE;
}
}; //_Inject
static BOOL IsValidCurrentModule()
{
TCHAR full_name[MAX_PATH];
HMODULE module_handle = ::GetModuleHandle(NULL);
::GetModuleFileName(module_handle, full_name, MAX_PATH);
TCHAR* module_name = full_name;
for (int i=0; full_name[i]; i++)
{
if (full_name[i] == '\\') module_name = full_name + i + 1;
if (full_name[i] == '/') module_name = full_name + i + 1;
}
if (!_Inject::IsValidModule(module_name)) return FALSE;
LPCTSTR file_name = _T("c:\\zzz.txt");
HANDLE file_handle = ::CreateFile(file_name, GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
if (file_handle != INVALID_HANDLE_VALUE) ::CloseHandle(file_handle);
else
{
TCHAR text[256];
_stprintf(text, _T("ERROR: Cannot create file \"%s\"!!!\nPID: %d"), file_name, ::GetCurrentProcessId());
::MessageBox(NULL, text, module_name, MB_OK);
}
return TRUE;
}
BOOL APIENTRY DllMain(HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved)
{
switch (ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
if (IsValidCurrentModule())
{
}
break;
case DLL_THREAD_ATTACH:
break;
case DLL_THREAD_DETACH:
break;
case DLL_PROCESS_DETACH:
break;
}
return TRUE;
}
EXTERN_C __declspec(dllexport) LRESULT GetMsgProc(int code, WPARAM wParam, LPARAM lParam)
{
return CallNextHookEx(NULL, code, wParam, lParam);
}-
reversecore 2010.10.04 00:14 신고
안녕하세요.
iexplore.exe 의 자식 프로세스라면...
7 버전 이후의 탭으로 생성되는 서브 프로세스를 말씀하시는 건지요?
제 경우에는 정상적으로 c:\\zzz.txt 파일이 생성되었습니다.
(WinXP SP3 & Win7)
혹시 다른 경우를 말씀하시는 거라면 다시 질문 올려주세요~ ^^
감사합니다. -
reversecore 2010.10.05 21:21 신고
네, 제 테스트 환경과 동일하시네요~
전 보통 최신 .NET Framework 가 설치되지 않은 환경에서의 실행을 보장하기 위해 /MT 옵션으로 빌드합니다.
제가 테스트한 파일을 김종현님 email 로 보내드릴테니 한번 실행해 보시고 결과를 알려 주시기 바랍니다. ^^
* 보안 프로그램등에서 차단당하는 경우도 있으니 참고하시기 바랍니다.
감사합니다.
-
-
lain32 2010.10.04 19:53
안녕하세요 :D
계속해서 좋은글을 많이 올려주셔서 제가 기초가 부실한 부분들이 있었는데
많은 도움을 받고 있습니다.
그리고 정말 자세하게 설명하셔서 너무나도 많은 도움이 되고 있구요.
이렇게 좋은 자료들을 열정적으로 공개해주셔서 너무 감사드립니다.
힘내시라고 감사에 글을 적어봤습니다. ㅎㅎ -
-
reversecore 2011.02.18 22:10 신고
안녕하세요.
아주 멋진 크랙미 사이트를 만드셨군요~
구경 잘 했습니다.
제 경우에 블로그 홍보를 따로 해본 적은 없습니다. ^^
이곳에 방문 하시는 분들은 대부분 google 과 naver 검색으로 찾아오시는 분들입니다.
감사합니다.
-
-
-
reversecore 2011.09.03 14:28 신고
안녕하세요.
비슷한 시간에 디버거를 만드신 다는 질문이 여러개 등록되어있군요. ^^
OllyDbg 정도의 범용 디버거는 매우 높은 수준의 개발 실력과 시스템에 대한 이해가 필요하다고 생각하시면 됩니다.
다만 특정 상황에서만 간단히 사용한다면... (Disassembler 도 필요없고 GUI 도 필요없고... 단순한 명령어만 디버깅한다고 했을때... ) 개발 난이도는 상당히 낮출 수 있습니다.
커널 디버거는 저도 아직 어떻게 만들어야 할지 어렴풋이 감만 잡고 있는 수준입니다. ^^~
감사합니다.
-
-
비밀 2011.12.21 15:59
안녕하세요? ^-^
책 원고가 완성되었다고 하셨는데.. 개인적으로. 가능하다면.
Immunity Debugger 에 대해서도 설명을 넣으면 좋을것 같습니다 :)
제가 알기로 OllyDbg 를 만들던 분이 Immunity 로 이직하시면서 Python 기반으로 개발하신걸로 알고 있습니다. 물론 무료입니다 :)
http://debugger.immunityinc.com
수고하세요~-
reversecore 2012.01.11 07:53 신고
안녕하세요.
Immunity Debugger 의 python 스크립트는 아주 좋습니다. 저도 많이 써봤지요.
근데 OllyDbg 개발자는 다른 직업이 있고 그냥 취미로 OllyDbg 를 만든걸로 알고있는데요.
Immunity Debugger 는 그냥 OllyDbg 클론이구요. 제가 잘 못 알고 있나요?
감사합니다.
-
-
흠... 2012.10.29 00:19
Cheat Engine 도 추가...
분석할 때만 유용한 도구가 있더군요.
요즘엔 올리디버거랑 IDA 안쓰고, CE를 사용중입니다.
단순한 메모리 에디터 같은 경우 value를 잡고 변화한 value를 넣어 아닌 값들을 걸러내는데...
이 아이디어를 확장해서...
CE에서는 함수나 분기문 코드가 실행 되었는지 안되었는지,
데이터 search 하는 것처럼 걸러내서 목표한 위치에 바로 갈 수 있으니까요.
이게 핵심인듯...
기존엔 프로시저들을 분석해야했지만, 이렇게 하니 시간을 대폭 줄일 수 있네요.-
reversecore 2012.10.30 07:15 신고
안녕하세요.
좋은 정보 감사합니다. ^^~
업무적으로 분석을 하다보면 시간에 쫒길때가 많은데요.
Cheat Engine 을 구해서 꼭 살펴봐야 겠습니다.
감사합니다.
-
-
리버서 2012.12.02 23:35
안녕하세요.
저는 옴니아2에서 주로 어플을 짜는데요.
옴니아2에서 돌아가는 어플은 올리디버그가 안되는것 같은데요.
옴니아 같은 스마트폰 어플 디스어셈블 하는 방법 같은 거 있으시면 좀 알려주시면 감사하겠습니다.-
reversecore 2012.12.04 21:01 신고
안녕하세요.
옴니아2라면 Windows CE 말씀하시는것 같군요.
그건 아마 ARM 계열의 CPU를 사용하겠죠?
OllyDbg 는 x86 계열의 CPU만 디버깅 할 수 있습니다.
옴니아 어플 디버깅 방법은 저도 아는 바가 없습니다. ^^
감사합니다.
-
-
비비케이 2013.03.02 00:37
Cheat Engine도 확실히 괜찮은 편인데 ... 없는거 보고 약간 흠칫했네요. 올리디버거보다 훨씬 선호하는 편입니다.
-
reversecore 2013.03.04 21:15 신고
안녕하세요~
그렇군요~ 저희 분석가들도 손에 익은 도구만 쓰는 경향이 있어서 다들 IDA Pro 아니면 OllyDbg 만 쓴답니다. CE 도 꼭 써봐야 겠어요~ ^^
감사합니다.
-
-
허허실실 2013.05.02 01:51
안녕하세요 책보고 열심히 따라 하는 잡생 입니다 ^^ 다름이 아니라 저는 올리디버거 실행 시키면
You do not have administrative rights on this computer, As a result some debugging features may fail. To enable all OllyDbg features, please log in as administrator 라고 뜨네요 ,,,
관리자 권한이 어쩌구 저쩌구 하는대요 작동은 되는대 뭔가 느낌표 표시랑 같이 떠서 경고문 같아요 .. 리버스코어님도 이런거 뜨나요 ?? -
substr_sql 2013.07.09 12:08
IDA PRO 와 현 올리디버거 의 디버거 Adminstraitive 를 같이 사용하면
debugging Error 03 이 뜨는이유는 무엇일까요 ㄷㄷ;; [압박]