2/12/2008

[PI] Net.Transport.v2.54.0.390.UNICODE.

** NetTransport

- NetTransport is a faster, exciting and the most powerful downloading tool, now supports HTTP/HTTPS, FTP/FTPS/SFTP(SSH File Transfer Protocol), MMS(Microsoft Media Services), RTSP/PNM(Real-Time Streaming Protocol), BitTorrent, eMule. NetTransport also have flexible 'File Manager' to manage your downloaded files, powerful 'Site Explorer' to browse site directory structure and config site settings, 'URL Sniffer' to catch real streaming URL. An accessorial tool called 'FTP Transport' is a FTP client, allows you upload files to your FTP/SSH server.

- URL : http://www.net-xfer.com/

[PI] Indraworks v7.04

** Indraworks

- IndraWorks - One tool for all Solutions Rexroth IndraWorks Integrated framework engineering Rexroth IndraWorks allows you to solve all tasks in a uniform and intuitive software environment ?from project planning and programming to visualization and diagnostics. The uniform engineering framework IndraWorks is consistently available for all systems from the Rexroth Automation House. You, as user, profit from the fast and transparent access to all functions and system data of the automation components. The standardized tools and interfaces help you to solve all engineering tasks centrally with a single software.

2/10/2008

[PI] Error Repair Professional v3.7.6

** Error Repair Professional

- Keep your PC operating smoothly by using Error Repair Professional to scan, identify, clean and repair errors in your PC with a single click, With a few easy steps, it will scan your entire registry for any invalid entries and provides a list of the registry errors found. You can then choose to selectively clean each item or automatically repair them all.

- URL : http://www.error-repair-pro.com/

[PI] CyberScrub Privacy Suite v4.7.2.100

** CyberScrub Privacy Suite

- Protect Your Internet Privacy Few realize every picture, video clip, chat room conversation and website address is written to your hard drive.

- Privacy Suite protects you by removing all evidence of your online activity. "Deleted" Files Remain on Your Computer Deleted files are easily recovered using simple software tools. Sensitive data, such as passwords, financials or health records are at risk. Don't allow discovery by a snoop, computer technician or unauthorized persons.

- Privacy Suite allows you to erase and destroy data with methods that exceed the US Department of Defense standards for file secure erasure (DoD 5220.22).

- URL : http://www.cyberscrub.com/

[PI] Agnitum Outpost Firewall Pro v4.0.1025.7828

** Agnitum Outpost Firewall Pro

- Outpost Firewall Pro - world's foremost protection application, providing a superior arsenal of defense against PC infiltration. The firewall provides Security, Control, Privacy and Ease of Use. Outpost Firewall starts protecting as soon as it is installed.

- The program detects and blocks hacker attacks, guards the privacy of data stored on your computer, monitors network activity of your system and applications, provides secure web surfing, and prevents Internet worms from activating from your inbox.

- Outpost can place your computer into stealth mode, making it invisible to hackers. In addition, the program can remove annoying pop-ups and ads and increase connection times. To ensure your protection against new threats, Outpost updates information frequently through a custom utility.

[PI] Fix-It Utilities v8.0 Professional

** Fix-It Utilities v8.0 Professional

- Is your PC slowing down, crashing or simply not booting? Fix-It Utilties will restoreyour PC back to its former health. Get speed, power & performance from your computerwith over 40 maintenance and optimization tools. Defend your PC with integrated anti-virus and anti-spyware tools. Fix-It Utilities findsand prevents problems before they happen and provides easy, schedule maintenance tokeep your PC running like new!

- URL : http://www.v-com.com/

[PI] MonitorIT v8.0.34 (c) Breakout Technologies

** MonitorIT v8.0.34 (c) Breakout Technologies

- MonitorIT from Breakout Software is a cost-effective, easy to use Web-based solution that monitors the availability, health and performance of your Windows & Linux/Unix Servers, Workstations and Syslog & SNMP monitoring of your Network Infrastructure Devices, such as Firewalls, Routers and Switches, on IP-based networks.

- MonitorIT provides a rich set of monitoring features. Monitor all your Windows Event Logs in real-time, as well as Windows Services, Processes, Files, Performance Counters, including Processor, Memory, and Network. Monitor Logical Drive and Page File free space, and define and schedule your own custom monitoring checks. Monitor changes to hardware configuration and changes to selected Registry Keys/Values; and monitor for server reboots & restarts. And MonitorIT provides flexible Alert notification options, dynamic Graphing, and powerful Reporting.

[PI] Advanced Administrative Tools v5.92 1610

** Advanced Administrative Tools

- Have you been port scanned lately? Completely ignoring network security is not smart and ignorance isn't exactly bliss. If you access the Internet via a cable modem, DSL, or even a dial-up connection, someone is always knocking on your virtual front door, giving your system the once-over. Protect your data, privacy and valuable computer system with Advanced Administrative Tools.

- AATools is an essential security diagnostic tool for everyone who wishes to protect his computer and the data it contains.

- URL : http://www.glocksoft.com/

[PI] Advanced Net Monitor for Classroom Professional v2.6.7 (c) EduiQ.com

** Advanced Net Monitor for Classroom Professional

- Advanced Net Monitor for Classroom is a program that allows a 'view' of a computer monitor of a remote computer, which is connected to the network. This way you can observe what your kids are doing! To be able to view a computer monitor of the remote computer, the program Net Objective, which you receive with the program Advanced Net Monitor for Classroom, must be installed and running on this particular remote computer.

- The program can be used on networks that use the TCP/IP network protocol.

- Immediately after the program Advanced Net Monitor for Classroom is started, it checks if the program Net Objective connected to a teacher's computer, is running on any of the remote computers. After that, the program displays the windows of all remote computers, where with time (depending on the adjustments) the picture appears, which is displayed on the monitor of the remote computer. You can switch off or restart all remote computers from your computer. This saves you the precious time!

- URL : http://www.eduiq.com/

12/23/2007

[BOOK] Binary Hacks 용어 정리

** Binary Hack 용어

- ABI(Application Binary Interface) : 애플리케이션이 지켜야 할 바이너리 레벨의 규약. 함수 호출시 스택 또는 레지스터 사용법, 심볼 name mangling 규칙 등이 정해져 있다. OS, 프로세서별로 규정되어 있다.

- API(Application Programming Interface) : 애플리케이션 프로그램에서 OS나 라이브러리의 기능을 이용하기 위한 함수, 데이터 구조 규약. API를 이용한 프로그래밍은 동일한 API를 지원하는 플랫폼 간 소스코드 호환성을 갖는다는 이점이 있다.

- BSS 세그먼트(Block Started by Symbol Segment) : 초기화되지 않은 데이터가 위치하는 세그멘트, C의 전역 변수로 int global; 과 같이 초기값이 지정되지 않은 데이터가 들어간다. 오브젝트 파일 내에서는 크기를 갖지 않고 프로그램 시작 시에 커널에 의해 0으로 초기화된다. ELF에서의 명칭은 .bss이다.

- DSO(Dynamic Shared Object) : GNU/리눅스에서는 동적 링크하는 공유 라이브러리를 DSO라고 한다. .so라는 확장자를 갖는다.

- DWARF(Debug With Arbitrary Record Format) : 디버그 정보를 저장하기 위한 데이터 형식. GNU/리눅스 + GCC 환경에서는 표준으로 사용되고 있다.

- ELF(Executable and Linking Format) : 실행 파일, 오브젝트 파일, 공유 라이브러리, 코어 파일에 사용되는 파일 형식 중 하나. GNU/리눅스, FreeBSD 등에서 사용되고 있다.

- GCC(GNU Compiler Collection) : GNU의 각종 컴파일러 모음. 원래는 GNU C Compiler를 의미했다. GNU C Compiler 를 나타낼 때는 gcc라고 표기한다.

- glibc(GNU C Library) : GNU의 C 라이브러리. GNU/리눅스나 Hurd 등의 OS에서 사용되고 있다.

- GNU(GNU's Not Unix) : 본래는 GNU 프로젝트가 개발되고 있는 OS를 일컬었으나, GNU 프로젝트 자체를 GNU로 부르는 경우가 많다.

- GNU/리눅스 : 리눅스 커널 기반의 시스템. GNU를 앞에 붙이는 이유는 커널 외의 컴포넌트를 개발하고 있는 GNU 프로젝트에 경의를 표하기 위함이다.

- GOT(Global Offset Table) : PIC를 실현하기 위해 필요한 데이터. PIC에서는 전역 데이터로의 접근을 GOT를 이용해 간접적으로 참조한다.

- LLP64 : long long과 포인터가 64비트인 환경. int와 long은 32비트. 64비트 윈도우에서는 LLP64.

- LP64 : long과 포인터가 64비트인 환경. int는 32비트. 64비트 리눅스에서는 LP64. 대부분의 유닉스 계열 OS에서는 LP64를 사용한다.

- PIC(Position Independent Code) : 임의의 주소에 로드 가능한 코드. 데이터 액세스나 점프는 상대 주소로 수행한다. 위치 독립 코드.

- PIE(Position Independent Executable) : 위치독립인 실행 파일. 최근의 GNU/리눅스에서 작성할 수 있다. 보안 향상 등의 장점이 있다.

- PLT(Procedure Linkage Table) : 동적 링크를 실현하기 위해 필요한 데이터. GOT와 함께 사용해서 동적 링크한 공유 라이브러리 함수를 간접적으로 호출할 수 있다.

- POSIX(Portable Operating System Interface for UNIX) : 시스템콜, 시그널과 같은 OS의 API를 규정하는 규약. 대부분의 유닉스 계열 OS는 POSIX를 기반으로 하고 있다(또는 POSIX 표준을 따르려 한다).

- SUS(Single UNIX Specification) : 유닉스로 불리는 OS를 위한 규격. 최신 버전인 SUSv3는 웹상에서 볼 수 있다. SUSv3는 POSIX를 포함하고 있다.

- TLS(Thread Local Storage) : 여러 스레드에서 동일한 이름의 변수를 사용하더라도 실제로는 각 스레드의 독립된 영역에 저장되는데, 이를 TLS라 한다. GCC에서는 __thread라는 키워드를 사용해서 TLS를 다룬다.

- prelink : 동적 링크를 빠르게 하기 위한 방법 중 하나. 실행 파일과 공유 라이브러리를 수정함으로써 동적 링크 시 발생하는 비용을 대부분 삭감한다. 많은 리눅스 배포판에 사용되고 있다.

- x86 : 인텔(Intel)사의 8086 계열의 프로세서를 약칭함. 80486 이후 펜티엄, Xeon 등의 제품명을 갖는다. IA-32라고도 한다.

- x86_32 : x86_64와 구별하기 위해 32비트의 x86 아키텍처를 x86_32로 표기하는 경우도 있다.

- x86_64 : AMD에서 설계한 x86 상위호환의 64비트 프로세서 아키텍처. AMD64라고도 함. 인텔도 동일한 아키텍처를 채택하고 있다. EM64T는 인텔에서 사용하는 제품명.

- inline assembly code : C와 같은 고급언어 프로그램에 삽입된 어셈블리 코드를 일컬음. 아키텍처 의존적인 처리, 최적화 등에 사용된다.

- endian : 여러 바이트로 된 데이터를 어떤 순서로 저장할지를 정하는 규칙. 바이트 순서라고도함. 엔디안이라는 명칭은 걸리버 여행기에서 유래함.

- object file : 컴파일러가 생성한 중간 단계 파일. 실행 파일이나 라이브러리는 오브젝트 파일을 링크해서 만든다. GNU/리눅스에서는 .o라는 확장자를 갖는다. 넓은 의미로는 실행 파일이나 라이브러리도 오브젝트 파일에 포함하기도 한다.

- disassemble : 기계어를 어셈블리어로 변환하는 것.

- shared library : 프로그램 실행 중 메모리상에서 여러 프로그램에 의해 공유되는 라이브러리. 통상 공유 라이브러리는 동적 링크된다. 정적 링크되는 공유 라이브러리도 있으나 드물다. 공유 오브젝트라고도 한다.

- relocation : 기계어 코드에 포함된 주소를 링크 시에 또는 로드 시에 수정하는 것.

- signal : 프로세스에 보내지는 동기적인 또는 비동기적인 이벤트. POSIX에서는 SIGKILL과 SIGSTOP외의 시그널은 시그널 핸들러로 처리할 수 있다.

- signal handler : 시그널을 처리하는 함수. sigaction() 또는 signal()함수로 설정할 수 있다.

- signature : 이름, 인수, 반환 값의 형태에 따라 결정되는 함수의 형식. 보통 C나 C++ 등의 컴파일 언어에서는 이름이 같아도 시그니처가 다른 함수를 호출하려 하면 경고 또는 에러가 발생한다.

- system call : 유저 레벨의 애플리케이션에서 OS 커널의 기능을 호출하기 위한 방법. ex) read(), fork()

- symbol : 일반적으로는 기호를 의미하지만, Binary Hacks의 문맥에서는 링커가 함수나 변수를 식별할 때 사용하는 이름을 말한다.

- symbol table : 오브젝트 파일 등에 포함된 심볼의 표. 명시적으로 삭제하지 않는 한 실행 파일이나 라이브러리에 남아 있다.

- stack : 스택 프레임을 단계적으로 쌓아가는 메모리 영역. Binary Hacks의 문맥상 스택은 '데이터 구조의 스택'이 아니라 '메모리 영역의 스택'을 가리키는 경우가 많다.

- stack frame : 인수나 지역 변수, 보존된 레지스터, 반환 값 주소 등 함수호출에 필요한 정보를 정리한 것. 간단히 프레임이라고도 한다.

- stack pointer : 스택 프레임을 조작하기 위해 사용하는 포인터. x86 등은 스택 포인터를 위한 전용 레지스터를 갖고 있다. RISC 프로세서에서는 범용 레지스터 중에 하나를 스택 포인터로 정해서 사용하는 경우가 많다.

- thread : 프로그램 실행 단위의 하나. 프로세스와의 주된 차이점은 자원 공유 방법에 있다. 통상, 프로세스에 비해 스레드 간 자원 공유가 더 쉽다. 하나의 프로세스는 여러 스레드를 갖는다.

- thread safe : 멀티스레드 프로그램에서 안전하게 실행할 수 있음을 일컬음. 대개의 경우 static 변수를 내부에 지닌 함수는 스레드 안전하지 않다.

- segmentation fault : 접근 불가한 주소 영역에 접근하거나 쓰기 불가능한 주소 영역에 쓰기를 할 경우 발생 하는 에러. C, C++ 프로그래머는 자주 접하게 된다. 세그먼트 위반이라고도한다.

- executable file : 실행 가능한 파일. GNU/리눅스에서는 /bin, /usr/bin 등에 있다.

- static library : 정적 링크되는 라이브러리. GNU/리눅스에서는 .a라는 확장자를 갖는다.

- static link : 실행 파일을 생성할 때 라이브러리를 링크하는 것. 대개 라이브러리 내용을 실행 파일내에 포함시키기 때문에 실행 시에는 라이브러리 파일이 필요 없다.

- toolchain : 컴파일러, 랑커, 어셈블러 등 네이티브 프로그램을 생성하기 위해 필요한 일련의 툴을 총칭한다.

- data segment : 초기화된 데이터가 위치하는 세그먼트. ELF에서의 명칭은 .data이다.

- text segment : 기계어 코드가 위치하는 세그먼트. 통상, read-only로 설정된다. ELF에서의 명칭은 .text이다.

- debugger : 프로그램 버그의 원인을 찾는 데 유용한 툴. 디버거로 프로그램을 구동시킨 후 백트레이스나 변수 조사 등을 수행한다.

- debug information : 디버거가 필요로 하는 정보. 실행 파일이나 공유 라이브러리에 포함되어 있다. gcc에서는 -g옵션을 주면 생성된다.

- demangle : name mangling된 심볼을 원래의 읽기 쉬운 심볼로 복원시키는 것을 말한다. ex) _ZN3Foo3BarE => Foo::Bar

- dynamic link : 실행 시에 라이브러리를 링크하는 것. 실행 시에 라이브러리 파일이 필요함. 라이브러리가 존재하지 않으면 실행 시에 에러가 발생한다.

- dynamic link library : 동적 링크된 라이브러리. 윈도우에서는 DLL이라 불린다. GNU/리눅스에서는 DSO라고 불리는 경우가 많다.

- name mangling : 함수명과 시그니처로부터 유일한 심볼을 생성하는 것을 말한다. C++나 자바등의 언어에서 사용된다. ex) Foo::Bar => _ZN3Foo3BarE

- binarian : Binary Hack에 정통한 엔지니어.

- backtrace : 현재 함수에 도달할 때까지 지나온 함수를 추적하는 것. 스택 트레이스라고도 한다.

- heap : malloc()등에 의해 동적으로 확보된 메모리 영역. Binary Hack의 문맥상으로 힙은 '데이터 구조의 힙'이 아니라 '메모리 영역의 힙'을 가리킨다. 자유기억영역이라고도 한다.

- break point : 디버거로 프로그램 실행을 일시 중지시킬 지점. 함수명이나 소스코드의 행 번호로 지정한다.

- program counter : CPU 내의 레지스터 중 하나로, 현재 실행하고 있는 명령의 주소를 저장하고 있다. PC로 줄여서 일컫기도 한다. 인스트럭션 포인터라고도 한다.

- process : 프로그램 실행 단위의 하나. 실행 중인 프로그램의 인스턴스. 통상, 프로세스는 하나의 프로세스 ID를 갖는다.

- profiler : 프로그램의 성능을 분석하는 툴. ex) gprof, sysprof, oprofile

- calling convention : 함수를 호출할 때 데이터를 어떤 식으로 스택에 쌓을지를 정하는 규약. ABI의 일종. OS나 프로세서에 따라 다르다.

- runtime : 실행 시를 뜻함. 실행 시에 발생하는 에러를 런타임 에러라고 한다.

- link : 오브젝트 파일이나 라이브러리를 연결하는 것. 재배치 등의 처리를 수행한다.

- reflection : 실행 중인 프로그램 자신의 정보를 조사하거나 수정하는 것을 말함. C 언어에서는 리플렉션을 위한 기능은 없지만, Binary Hack를 이용하기에 따라 유사한 기능을 구현할 수 있다.

- load : 실행 파일이나 라이브러리를 메모리상에 배치하는 것.

[참조 : BINARY HACKS - by 다카바야시 사토루, 우카이 후미토, 시사토 유스케, 하마지 신이치로, 슈도 카즈유키]