전체 글
-
lena 12강> Information Security/Reverse Engineering 2012. 4. 28. 16:28
lena 12강 @zrungee 이번에 열어볼 파일은 실행시켜보니 다음과 같은 창이 뜬다. 비정식버전이고, 시리얼을 등록하는 형태일 것이다. 이와같이 어떤 프로그램인지는 모르나, 시리얼을 등록하는 형태는 다음과 같은 방식으로 패치할 수 있다. Search for > All referenced text strings > Search for text 에서 'registration' (혹은 regist)로 검색. registration에 관한 성공/실패문을 찾았다. 첫번째. 해당 분기문으로 가서 JNZ를 NOP으로 바꾸어주는 방법과 두번째. 델파이로 제작된 파일을 분석하는 방법이 있다. 델파이로 제작된 파일은 점프문이 윗방향으로 역행하는 것이 특징이다. 점프문 아래의 MOV를 통해 알아보도록 한다. Find ..
-
안티디버깅 - IsDebuggerPresent> Information Security/Windows 2012. 4. 11. 08:53
안티디버깅 - IsDebuggerPresent IsDebuggerPresent()는 해당 프로세스가 디버깅을 당하고있는지의 여부를 PEB구조체의 디버깅 상태값을 확인한다. (디버깅 당할때 리턴 값 = 1, 아닐경우 리턴 겂 = 0) 이 함수로는 커널모드의 디버거는 탐지하지 못하고, 유저모드의 디버거만 탐지가 가능하다. kernel32.dll에서 export되는 함수이며, 보통 프로그램의 보호차원에서 쓰이지만 우회방법이 많다. 1. 환경구축 Visual studio로 Win32 Console응용프로그램으로 프로젝트를 생성하고, C++형식의 파일을 추가한다. 2. IsDebuggerPresent 샘플코드 작성 이 프로그램은 1초마다 IsDebuggerPresent()함수를 계속 호출하면서 디버깅당하고 있는지..
-
안티디버깅(Anti Debugging)> Information Security/Windows 2012. 4. 11. 00:56
안티디버깅(Anti Debugging) - Binary 파일을 보호하는 어떤 프로그램들의 내부 알고리즘과 중요 데이터들을 분석하지 못하도록 파일에 packing을 하거나 안티디버깅을 적용함으로써 디버깅을 방지하고 분석하지 못하도록 하는 기술. 안티디버깅의 종류 대표적으로는 흔히 IsDebuggerPresent 와 NtGlobalFlags 등이 있다. 자세한 정보는 http://www.openrce.org/reference_library/anti_reversing 에서 얻을 수 있다. 출처 : 리버스 엔지니어링 역분석 구조와 원리
-
NuMega SmartCheck> Information Security/Reverse Engineering 2012. 4. 8. 12:46
NuMega SmartCheck http://tanosi.tistory.com/trackback/148 VB 으로 작성된 프로그램을 들여다 보기 좋은 Numega 입니다. 다운로드 링크 http://rs746.rapidshare.com/files/220706703/NuMega.SmartCheck.v6.2.RC2.rar Serial 5102 3133f7 7d Setting Lena`s Tutorial 9번 후반부에 나오는 내용이긴합니다만 동영상 들여다보기보다는 빠를듯 해서 스샷 첨부합니다. 출처 : http://tanosi.tistory.com/148
-
lena 9강> Information Security/Reverse Engineering 2012. 4. 8. 12:41
lena 강의 09 이번에 열어볼 파일은 Ollydbg로 열어 실행시키고 설치 해준다. 최종적으로 리버싱 해줄 파일은 pc2am2p_PRO가 되겠다. 마찬가지로 레지스터창이 뜨는데, 시리얼 키값을 찾아보도록 하겠다. 이 파일을 PEID로 열어보니 비주얼베이직으로 제작된 파일이며, 엔트리포인트= 019E8, Offset= 109E8. 시리얼 키를 찾는 방법은 두가지로 나뉠 수 있다. 첫번째. Ollydbg를 이용, Ctrl +N으로 API함수를 찾아준다. Visual Basic에서 제작된 파일에서는 다음과 같은 6가지 Import로 해결이 가능하다. vbaVarTstEq vbaVarTstNe vbaVarCmpEq vbaStrCmp vbaStrComp vbaStrCompVar 과 같은 6가지로 시리얼을 찾을..
-
lena 8강> Information Security/Reverse Engineering 2012. 4. 8. 00:07
lena 강의 08 이번에 분석해볼 파일은 이다. 분석할 도구는 W32dasm(디스어셈블러) , LordPE 이 tool의 소개와 사용법은 http://zrungee.tistory.com/48 , http://zrungee.tistory.com/49 에서 확인할 수 있다. 먼저 Artgem 파일을 W32dasm을 이용하여 열어본다. Disassembler > Open file to Disassemble 에서 열어주면 되겠다. 쭉 밑으로 내리다 보면, Ollydbg와 비슷하게 어셈블리코드가 나타나는 것을 볼 수 있다. 프로세스를 시작하기 전에, Debug> Debugger Options는 다음과 같이 설정해준 후 Debug > Load Process로 프로세스를 시작한다. 왼쪽 창에서 'Run'을 눌러 진..
-
W32dasm> Information Security/Reverse Engineering 2012. 4. 7. 21:52
W32dasm (디스어셈블러) Ollydbg와 같은 기능을 하는 디스어셈블러. Disassembler > Open file to Disassemble 에서 파일을 열 수 있다. 가장 많이 쓰이는 아이콘을 살펴보자. 여기서 손전등 표시가 있는 세 번째 아이콘이 Search 기능이다. 주로 원하는 문자열을 찾을 때 사용한다. PEP라고 적힌 아이콘은 EP(프로그램의 첫실행주소)로 이동시켜 주는 것이다. cdLoc라고 적힌 것은 원하는 주소로 이동할 때 쓰인다. ImpFn은 임포트된 함수를 보는 기능이다. ExpFn은 익스포트된 함수를 보여준다. MenuHex는 메뉴를 보여준다. DlgRef는 다이얼로그 문자열을 보여준다. StrnRef는 프로그램에 사용된 스트링을 보여준다. 그리고 실제로 디스어셈블 된 화면..