앞으로는 자료의 중요성이 더더욱 커질 것이다.
그런 면에서 지난 자료를 시스템 구축 비용으로만 보관하는 커다란 블로그 업체는
계속 행복하겠지.
----------------------------------------
[ 해킹툴에 대한 이해 ]
안녕하세요 미카엘입니다. 요즘 오프라인 세미나다 온라인 세미나다 해서 일반 회원님들의강좌를 소흘히 했네염 그럼 오늘 공부꺼리 드립니다. 공부해여 &&
============================
메모리멥을 보는 프로그램이나 인터럽트 벡터를 보여주거나 하는 기능을 하는 프로그램은
참 많다.
추적을 하는 프로그램도 그렇다.
그러나 램상주시켜놓고 필요할때마다 팝업해서 메모리상태를 보고,그걸 8086코드로 보여주고
원한다면 아스키로도 보여주고,어떤 인터럽트가 어떤 프로그램에 의해서 사용되고 있는지 그 프
로그램은 어떤 프로그램인지 이 유용한기능을 모두 넣어놓은 것이 바로 map.com 이다.
2-1-3 좋고 짧은 디스어셈블러 크래커
크래커라는 상당히 괜찮은 디스 어셈블러 이다.
2-1-4 소프트아이스 Win v1.1
소프트 아이스의 윈도우용 버전이다.
소프트 아이스 Win 보호모드에서 작동을 할수 있다.
기동법은 먼저 본 프로그램을 윈도우 디렉토리내의
임의의 디렉토리에 카피를 한후에 path를 추가한다.
추가를 하고 나서 다시 부팅을 하셔서 winice.exe를
실행 하시면 소아win이 win.com을 실행 시킨다.
그다음은 도스쉘로 빠져 나와서 추적하고픈 프로그램을
실행하고 난뒤에 CTRL+D를 누르면 된다.
소프트-아이스 Win을 무리없이 쓰실려면 윈도우의 system.ini의
내용을 에디트 하여 386Enh항목에 DMADRIVESIZE=044를 추가하여야 한다.
2-1-5 SOURCER
소서는 디버그(Debug)의 U(Unassemble) 명령처럼 역어셈블을 해 주는 프로그램이다.
소서는 단번에 실행 파일이나 디바이스 드라이버, 2진 파일들을 역어셈블 소스로 바꾸어 준다.
소서는 VGA를 포함한 거의 모든 디스플레이 모드를 지원한다.
소서를 실행시킬 때에 파일 이름을 지정해 주면 파일을 로드할 수 있다.
예) SR COMMAND.COM ; COMMAND.COM을 로드하여 실행한다.
1) 소서의 명령어
1. F1 (Help)
F1 키를 누르면 Help 화면이 나오는데 이것은 소서에서 사용 가능한
커맨드를 표시해 준다.
2. F (file format)
출력 형식을 LST 또는 ASM 중의 하나에서 선택할 수 있게 해 줍니다.
LST형식으로 지정한 경우 어셈블리 소스 옆에 해당 명령어의 기계어
코드와 함께 세그먼트의 값까지 자세하게 표시가 된다.
어셈블리소스를 연구할 때 이와 같은 파일을 분석하면 좋다.
ASM형식으로 지정한 경우 어셈블리의 소스 라인만 얻어진다.
3. H (Header file)
LST 형식으로 출력하는 경우에 각 페이지의 선두에 인쇄하는 색인을
32바이트까지 문자로 입력한다.
4. X (Cross referance on/off)
데이터의 참조, 로케이션 참조, 서브루틴 참조의 세 개의 크로스
레퍼런스 정보를 온라인코맨드로 출력하는지의 여부를 지정한다.
① 데이터의 참조란 데이터 영역의 변수나 정수가 참조되고 있는가를
옵셋의 주소 표기 방식으로 지정하는 것을 말한다.
② 로케이션 참조란 분기선 등을 지정하는 라인이 어느 장소에서 참조
되고 있는가를 나타내어 준다.
③ 서브루틴 참조란 서브루틴이 어디에서 호출되는가를 보여준다.
5. S (Segment display on/off)
LST 파일의 형태로 출력할 때에 세그먼트 값을 붙여서 출력할 것인지의
여부를 결정해 줍니다.
6. L (Lower or case)
파일 내용의 영문자들을 대문자, 또는 소문자로 바꾸어 준다.
7. I (Input file)
어셈블리하고자 하는 파일의 이름을 입력한다.
8. M (Math)
수치 연산 프로세서의 명령을 지원할 것인지를 결정하여 준다.
지원하는 수치 연산 프로세서는 8087/80287 이다.
9. U (up)
만일 여러분이 특정 프로세서의 명령어 세트로 역어셈블하기를 원한다면
이 명령으로 바꿀 수 있다. 소서는 8086~80486까지의 명령어 세트를
지원한다. 그러나 V20/V30이 탑재되어 있을 경우에는 자동적으로
8086모드로 된다.
10. G (Go)
역어셈블을 시작하는 명령어이다.
2) 소서 활용하기
위의 명령어가 전부인 것은 아니지만, 위의 명령어로도 충분히 역어셈블을 할 수 있다.
그러면 이제 역어셈블을 실제로 해 보자.
소서에서 파일을 부르는 방법은 아까 보았듯이 두가지 방법이 있다.
첫째는 소서 실행시에 'SR [filename]' 이라고 하는 것이고,
둘째는 소서의 화면에서 I를 눌러 파일을 부르는 방법이다.
'SR COMMAND.COM'이라고 쳐 보자.
이 때 물론 COMMAND.COM 이 소서가 실행되는 디렉토리내에 있어야겠다.
그럼 이제 F 를 눌러 보자.
LST 파일과 ASM 파일 둘 중에 하나를 선택해서 역어셈블을 하는 것이다.
그럼 Output filename이 COMMAND.ASM으로 바뀐 것을 볼 수 있을 것이다.
T를 눌러 보면 타겟 어셈블러라는 곳의 메시지가 바뀔 것이다.
어셈블리어는 각 회사의 컴파일 프로그램에 따라 조금씩 소스 프로그램의 형식이 바뀌어질 수 있
다.
소서는 이러한 각 회사의 컴파일러에 맞추어 역어셈블을 해줌으로 역어셈블된 소스 프로그램을
다시 컴파일할 때 에러가 없이 컴파일 될 수 있도록 해 준다.
소서가 지원하는 컴파일러의 종류는 다음과 같다.
① MASM (MicroSoft 사의 어셈블리 컴파일러)
Version 4.0
Version 5.0
Version 5.1
Version 6.0 * 6.0은 OS/2 2.x의 응용 프로그램 생성을
지원한다.
② TASM (Borland 사의 어셈블리 컴파일러)
Version 1.0
Version 2.x
Version 3.0
역어셈블한 파일을 다시 컴파일 할 때에 해당 어셈블러의 형태로 변환시키면 컴파일을 하는 데
조금이라도 보탬이 될 것이다.
문자 U 는 지원할 수 있는 CPU의 종류를 선택할 수 있게 해 준다.
PS/2 또는 그와 같은 기능을 하는 IBM 호환기종에는 기본적으로
Intel사의 8086/8088 CPU가 장착되어 있거나 또는 그와 상위 호환성을
지닌 CPU가 탑재되어 있다.
이러한 CPU의 각각 명령어 체계는 같으나, 위로 갈수록 지원되는
명령어의 갯수가 늘어난다. 이러한 CPU에 맞추어 역어셈블을 하면
해당 CPU의 독특한 특성을 살릴 수 있다. 소서가 지원하는 CPU의
형태는 다음과 같다.
① 8086/8088 또는 상위 호환성을 가지는 CPU
ⅰ 80186/80188
ⅱ 80286 Real 모드
ⅲ 80286 Protected 모드
ⅳ 80386 Real 모드
ⅴ 80386 Protected 모드
ⅵ 80486 Real모드
ⅶ 80486 Protected 모드
② 기타 CPU
ⅰ V20/30
여러분이 CPU의 형태에 대해서 특별히 정의를 하지 않는다면 소서는
실행시에 자동적으로 시스템에 장착되어 있는 CPU를 인식해서 세팅이
됩니다. 특별히 지정하지 않았을 때에는 8086/8088모드로 세팅되어
진다. 여기서 여러분이 원하는 형태의 어셈블리스트를 결정하였다면
G 를 눌러보면 역어셈블이 될 것이다.
그럼 역어셈블 결과를 살펴보자. 역어셈블이 끝나면 소서는 자동적
으로 실행을 종료한다. 종료 후에 DIR 명령으로 실제로 역어셈블이
되었는지를 확인해 보자. 파일 리스트에 COMMAND.ASM과 COMMAND.SDF
라는 파일이 생성되었음을 확인할 수 있을 것이다
2-1-6 Windows Sorucer
이 프로그램은 Sorucer의 윈도우즈용 프로그램을 분석용이다.
분석을 할 수 있는 것은 윈도우의 EXEs,DLLs,VxDs과 OS/2의 NE등을 분석을 할 수 있다.
출력은 역시 어셈블리어이다.
2-1-7 BIOS Pre-Processor
안녕하세요 미카엘입니다. 요즘 오프라인 세미나다 온라인 세미나다 해서 일반 회원님들의강좌를 소흘히 했네염 그럼 오늘 공부꺼리 드립니다. 공부해여 &&
============================
메모리멥을 보는 프로그램이나 인터럽트 벡터를 보여주거나 하는 기능을 하는 프로그램은
참 많다.
추적을 하는 프로그램도 그렇다.
그러나 램상주시켜놓고 필요할때마다 팝업해서 메모리상태를 보고,그걸 8086코드로 보여주고
원한다면 아스키로도 보여주고,어떤 인터럽트가 어떤 프로그램에 의해서 사용되고 있는지 그 프
로그램은 어떤 프로그램인지 이 유용한기능을 모두 넣어놓은 것이 바로 map.com 이다.
2-1-3 좋고 짧은 디스어셈블러 크래커
크래커라는 상당히 괜찮은 디스 어셈블러 이다.
2-1-4 소프트아이스 Win v1.1
소프트 아이스의 윈도우용 버전이다.
소프트 아이스 Win 보호모드에서 작동을 할수 있다.
기동법은 먼저 본 프로그램을 윈도우 디렉토리내의
임의의 디렉토리에 카피를 한후에 path를 추가한다.
추가를 하고 나서 다시 부팅을 하셔서 winice.exe를
실행 하시면 소아win이 win.com을 실행 시킨다.
그다음은 도스쉘로 빠져 나와서 추적하고픈 프로그램을
실행하고 난뒤에 CTRL+D를 누르면 된다.
소프트-아이스 Win을 무리없이 쓰실려면 윈도우의 system.ini의
내용을 에디트 하여 386Enh항목에 DMADRIVESIZE=044를 추가하여야 한다.
2-1-5 SOURCER
소서는 디버그(Debug)의 U(Unassemble) 명령처럼 역어셈블을 해 주는 프로그램이다.
소서는 단번에 실행 파일이나 디바이스 드라이버, 2진 파일들을 역어셈블 소스로 바꾸어 준다.
소서는 VGA를 포함한 거의 모든 디스플레이 모드를 지원한다.
소서를 실행시킬 때에 파일 이름을 지정해 주면 파일을 로드할 수 있다.
예) SR COMMAND.COM ; COMMAND.COM을 로드하여 실행한다.
1) 소서의 명령어
1. F1 (Help)
F1 키를 누르면 Help 화면이 나오는데 이것은 소서에서 사용 가능한
커맨드를 표시해 준다.
2. F (file format)
출력 형식을 LST 또는 ASM 중의 하나에서 선택할 수 있게 해 줍니다.
LST형식으로 지정한 경우 어셈블리 소스 옆에 해당 명령어의 기계어
코드와 함께 세그먼트의 값까지 자세하게 표시가 된다.
어셈블리소스를 연구할 때 이와 같은 파일을 분석하면 좋다.
ASM형식으로 지정한 경우 어셈블리의 소스 라인만 얻어진다.
3. H (Header file)
LST 형식으로 출력하는 경우에 각 페이지의 선두에 인쇄하는 색인을
32바이트까지 문자로 입력한다.
4. X (Cross referance on/off)
데이터의 참조, 로케이션 참조, 서브루틴 참조의 세 개의 크로스
레퍼런스 정보를 온라인코맨드로 출력하는지의 여부를 지정한다.
① 데이터의 참조란 데이터 영역의 변수나 정수가 참조되고 있는가를
옵셋의 주소 표기 방식으로 지정하는 것을 말한다.
② 로케이션 참조란 분기선 등을 지정하는 라인이 어느 장소에서 참조
되고 있는가를 나타내어 준다.
③ 서브루틴 참조란 서브루틴이 어디에서 호출되는가를 보여준다.
5. S (Segment display on/off)
LST 파일의 형태로 출력할 때에 세그먼트 값을 붙여서 출력할 것인지의
여부를 결정해 줍니다.
6. L (Lower or case)
파일 내용의 영문자들을 대문자, 또는 소문자로 바꾸어 준다.
7. I (Input file)
어셈블리하고자 하는 파일의 이름을 입력한다.
8. M (Math)
수치 연산 프로세서의 명령을 지원할 것인지를 결정하여 준다.
지원하는 수치 연산 프로세서는 8087/80287 이다.
9. U (up)
만일 여러분이 특정 프로세서의 명령어 세트로 역어셈블하기를 원한다면
이 명령으로 바꿀 수 있다. 소서는 8086~80486까지의 명령어 세트를
지원한다. 그러나 V20/V30이 탑재되어 있을 경우에는 자동적으로
8086모드로 된다.
10. G (Go)
역어셈블을 시작하는 명령어이다.
2) 소서 활용하기
위의 명령어가 전부인 것은 아니지만, 위의 명령어로도 충분히 역어셈블을 할 수 있다.
그러면 이제 역어셈블을 실제로 해 보자.
소서에서 파일을 부르는 방법은 아까 보았듯이 두가지 방법이 있다.
첫째는 소서 실행시에 'SR [filename]' 이라고 하는 것이고,
둘째는 소서의 화면에서 I를 눌러 파일을 부르는 방법이다.
'SR COMMAND.COM'이라고 쳐 보자.
이 때 물론 COMMAND.COM 이 소서가 실행되는 디렉토리내에 있어야겠다.
그럼 이제 F 를 눌러 보자.
LST 파일과 ASM 파일 둘 중에 하나를 선택해서 역어셈블을 하는 것이다.
그럼 Output filename이 COMMAND.ASM으로 바뀐 것을 볼 수 있을 것이다.
T를 눌러 보면 타겟 어셈블러라는 곳의 메시지가 바뀔 것이다.
어셈블리어는 각 회사의 컴파일 프로그램에 따라 조금씩 소스 프로그램의 형식이 바뀌어질 수 있
다.
소서는 이러한 각 회사의 컴파일러에 맞추어 역어셈블을 해줌으로 역어셈블된 소스 프로그램을
다시 컴파일할 때 에러가 없이 컴파일 될 수 있도록 해 준다.
소서가 지원하는 컴파일러의 종류는 다음과 같다.
① MASM (MicroSoft 사의 어셈블리 컴파일러)
Version 4.0
Version 5.0
Version 5.1
Version 6.0 * 6.0은 OS/2 2.x의 응용 프로그램 생성을
지원한다.
② TASM (Borland 사의 어셈블리 컴파일러)
Version 1.0
Version 2.x
Version 3.0
역어셈블한 파일을 다시 컴파일 할 때에 해당 어셈블러의 형태로 변환시키면 컴파일을 하는 데
조금이라도 보탬이 될 것이다.
문자 U 는 지원할 수 있는 CPU의 종류를 선택할 수 있게 해 준다.
PS/2 또는 그와 같은 기능을 하는 IBM 호환기종에는 기본적으로
Intel사의 8086/8088 CPU가 장착되어 있거나 또는 그와 상위 호환성을
지닌 CPU가 탑재되어 있다.
이러한 CPU의 각각 명령어 체계는 같으나, 위로 갈수록 지원되는
명령어의 갯수가 늘어난다. 이러한 CPU에 맞추어 역어셈블을 하면
해당 CPU의 독특한 특성을 살릴 수 있다. 소서가 지원하는 CPU의
형태는 다음과 같다.
① 8086/8088 또는 상위 호환성을 가지는 CPU
ⅰ 80186/80188
ⅱ 80286 Real 모드
ⅲ 80286 Protected 모드
ⅳ 80386 Real 모드
ⅴ 80386 Protected 모드
ⅵ 80486 Real모드
ⅶ 80486 Protected 모드
② 기타 CPU
ⅰ V20/30
여러분이 CPU의 형태에 대해서 특별히 정의를 하지 않는다면 소서는
실행시에 자동적으로 시스템에 장착되어 있는 CPU를 인식해서 세팅이
됩니다. 특별히 지정하지 않았을 때에는 8086/8088모드로 세팅되어
진다. 여기서 여러분이 원하는 형태의 어셈블리스트를 결정하였다면
G 를 눌러보면 역어셈블이 될 것이다.
그럼 역어셈블 결과를 살펴보자. 역어셈블이 끝나면 소서는 자동적
으로 실행을 종료한다. 종료 후에 DIR 명령으로 실제로 역어셈블이
되었는지를 확인해 보자. 파일 리스트에 COMMAND.ASM과 COMMAND.SDF
라는 파일이 생성되었음을 확인할 수 있을 것이다
2-1-6 Windows Sorucer
이 프로그램은 Sorucer의 윈도우즈용 프로그램을 분석용이다.
분석을 할 수 있는 것은 윈도우의 EXEs,DLLs,VxDs과 OS/2의 NE등을 분석을 할 수 있다.
출력은 역시 어셈블리어이다.
2-1-7 BIOS Pre-Processor
댓글 없음:
댓글 쓰기
국정원의 댓글 공작을 지탄합니다.