본문 바로가기

분류 전체보기722

[Perl] 정규표현식 (Grep 활용) By 용호 2010년 6월 18일 금요일 EAA부터 EZZ까지의 문자중 범용레지스터(EAX, EBX, ECX, EDX, ESI, EDI, EBP, ESP)추출 위의 foreach문에 해당하는 부분을 grep을 이용하면 한줄에 해결 할 수 있다. Tip) Perldoc 을 이용하면 알고 싶은 함수들에 대한 정보를 확인 할 수 있다. ex) perldoc -f 함수 ▶ 코드 파일 2010. 6. 18.
[Reversing] SEH by 용호 2010년 5월 18일 금요일 컴파일 아래의 프로그램은 Microsoft의 Windbg 이다. SEH는 다음 에러 핸들러의 위치를 가진 Next 포인터와 핸들러를 가진 linked list이다. Dg는 GDT를 참조하는 명령어 아래의 exception registration record 구조체에 Next와 Handler가 존재하는 것을 볼 수 있다. Dg fs를 하면 fs의 정보가 나오는데 fs:[0]을 찾기 위해 Base 주소를 참조한다. 주소를 대입해서 따라 들어가보면 Next와 Handler가 위치한 주소값을 확인할 수 있다. 다음 코드를 수행하면 SEC가 추가된 것을 확인할 수 있다. 다음 div 부분에서 0으로 나눴기 때문에 예외가 발생할 것이다 아래에 Integer divide-by-zero .. 2010. 5. 31.
[Reversing] Struct (구조체) by 용호 2010년 5월 27일 목요일 비쥬얼 스튜디오 6.0이후 2003버젼부터 Stackoverflow방지 하기 위해 Security Cookie가 추가되었다. 4byte 랜덤 값을 xor 시켜서 스택에 넣어둔다. 구조체는 함수의 인자로 여러 개의 변수를 한꺼번에 넘겨주므로 다음과 같이 sub를 이용해서 인자를 한번에 넘겨준다. Struct는 가장크기가 큰 자료형을 기본 자료형으로 삼고 공간을 할당한다. Ex ) char a, int b, char c -> 12byte char a, char b, int c -> 8byte Struct a{ Char name[18]; Int age; }; 로 선언을 해도 공간은 24byte가 할당된다. (1Ch = 28, 28에서 security_cookie 크기를 빼면 24.. 2010. 5. 31.
[Reversing] 반복문 문제 by 용호 2010년 5월 26일 수요일 문제1 답 Tip) 아래에서 test edx, edx 를 한 것은 나머지를 구하기 위한 것이다. 그러므로 % 연산을 사용한 것이다. 문제2 답 문제3 답 Tip) 반복문 안에 반복문이 또 들어가는 경우 코드가 복잡해 지므로 body를 먼저 찾으면 구조가 눈에 들어온다. 2010. 5. 26.