본문 바로가기

Programming424

perl underground 1-2 원문: http://www.milw0rm.com/papers/88 # Yet no strict? Use Strict 을 사용하자~ $masterurl = @ARGV[0]; ## my $masterurl = shift; Parens : parenthesis : 둥근 괄호 close(FILE); # mmm unneeded parens $masterurl = $masterurl . "/images/default.php"; ## $masterurl .= "/images/default.php"; $cmdline="echo 'ingreslock stream tcp nowait root /bin/sh sh -i' > /tmp/bob; /usr/sbin/inetd -s /tmp/bob"; $cmdline=$ARGV[0.. 2009. 5. 1.
perl underground 1-1 원문: http://www.milw0rm.com/papers/88 my $dotdot = "../../../../../../../../../../../../../../"; ## my $dotdot = '../' x 14; ## x 사용하기 if($ARGV[1]){ $user = $ARGV[1] } else { $user = "IEUser";} ## my $user = shift || 'IEUser'; ## shift 사용하기 my @systemroots = ("PUNIX","WINXP"); ## my @systemroots = qw(PUNIX WINXP); ## qw() 사용하기 foreach (@ARGV) { $host = $1 if ($_=~/-h((.*)\.(.*)\.(.*)\.(.*))/); $y.. 2009. 4. 30.
Win32 API 정리 1 폰트 실제로 문자를 출력하기 위해서 문자 코드에 올바르게 대응하는 문자를 그려주는 구조 GDI (Graphics Device Interface) 디스플레이와 프린터에 문자열과 그래픽을 출력하기 위해서 Windows에서 제공하는 기능 TIB (Thread Information Block) 스레드의 정보를 보관유지하기 위해서 Windows에서 관리하는 구조체 UTF-8로 문자를 표현할 때 규칙 첫번째 문자를 나타내는 바이트 수에 따라 선두 바이트의 상위 비트를 다르게 함 0 (1바이트 문자) 110 (2바이트 문자) 1110 (3바이트 문자) 두번째 바이트 이후의 상위 2비트를 10으로 한다. 나머지 비트에 문자의 데이터를 저장한다. BMP Basic Multilingual Plane - 기본 다언어명 파일.. 2009. 4. 26.
Package pp - PAR Packager Lexical Scoping Code Block { } 안에 있는 영역을 의미 각각의 서브루틴도 Lexical 영역에 해당된다. Package Package 는 변수의 영역을 나주지 않음 단순한 Namespace를 나눔. 변수의 종류 Lexical variable 변수의 범위 : 변수가 선언된 Lexical 영역의 내부 my 를 붙여서 기술한 변수 my $my_var; Global variable 변수의 범위 : 모든 Lexical 영역 기본적인 변수, our를 붙여서 기술한 변수 our $our_var; Local variable 변수의 범위 : 변수가 선언된 Lexical 영역의 내부와 호출된 Lexcial 영역 내부 local 을 붙여서 기술한 변수 local $lo.. 2009. 4. 23.
OOP&Libraray&Module Account.pm Account_out.pm bank.pl OOP 특징? 캡슐화(Encapsulation) - 묶는다. 데이터와 메쏘드(함수)를 하나의 단위로 묶은 것. (독립적으로 실행) 정보 은폐(Information Hiding) - 숨긴다. 외부에서 객체상태를 바꾸거나 허가되지 않은 동작으로부터 보호 추상화 or 개념화 (Abstraction) - 표현한다. 외부에서 사용해야 하는 기능은 공개, 제한해야 하는 기능은 은폐 다형성(Polymorphism) - 상황에 따라 달라진다. 같은 메써드에 대해 클래스에 따라 다른 행위를 하게 되는 특징. 인스턴스(Instance) - 객체가 실체화 되어 메모리에 구현됨 추상화 개념 또는 클래스 객체, 템플릿 들이 실제로 구현된 것. 메시지 전달(Massag.. 2009. 4. 23.
Perl 파일 다루기 rename("test.txt","old_test.txt");x binmode($fh); #바이너리 모드로 변경한다. 파일 테스트 연산자 파일의 상태를 조사하기 위한 연산자 $filesize = -s "test.txt"; Operator Return value -e 파일이 존재하면 참, 존재하지 않으면 거짓 -r 읽기 가능하면 참, 읽기 불가능이면 거짓 -w 쓰기 가능하면 참, 쓰기 불가능하면 거짓 -z 파일 크기가 0이면 참, 존재하지 않으면 거짓 -s 파일 크기 반환, 존재하지 않으면 거짓 -T 텍스트 파일이면 참, 바이너리 파일이면 거짓 -B 바이너리 파일이면 참, 텍스트 파일이면 거짓 파일 쓰기 Open 함수 사용 open my $fh, ">", "filename"; print $fh "data .. 2009. 4. 23.