LibHideIP
LibHideIP (LIBrary for Hiding the IP) is a library which partially
(read below for limitations) ensures that no program can obtain the local IP
address. LibHideIP does this by intercepting calls to some C library functions and
replacing them by its own substitutes.
The IP address that would be obtained is first changed to a neutral address, like 0.0.0.0 or
127.0.0.1 and returned to the caller.
Requirements for compiling:
- a non-root account. Please, NEVER compile or
make anything as root.
- a working C compiler
- development package for the C library (like glibc-devel and glibc-headers).
The sys/stat.h contains functions needed to check an executable's type.
If it is a symbolic link, LibHideIP will follow it.
The dlfcn.h header contains functions needed to call the original functions.
It has to have RTLD_NEXT defined. LibHideIP wouldn't work without this, so it
won't compile without this.
- libdl, the dynamic loading library, with its development package
(unless the required functions are in the C library)
- the
make program
Type ./configure to configure the library for your system.
If you want to enable the public interface of LibHideIP, configure the
library with ./configure --enable-public-interface
Type make to compile the library.
Documentation comes complied (and can be copied right away), but can be changed
and recompiled, if you have the makeinfo program (texinfo package).
Type make install to install the library. Read the docs on how to make the library running.
Type info libhideip (after installation) or info doc/libhideip.info
(before installation) to get help.
RPM dependencies:
- libc.so.6 (GLIBC_2.4)
- rtld(GNU_HASH)
THE LIBRARY HAS BEEN TESTED, BUT IT MAY NOW OR LATER CONTAIN ERRORS, WHICH MAY LEAD TO
INCORRECT PROGRAM BEHAVIOUR. READ THE LICENSE FOR A WARRANTY (THERE IS NONE).
Limitations
LibHideIP can do nothing if:
- A program is using direct kernel calls or non-standard calls,
thus bypassing even the C library
- LibHideIP is not loaded (read the "Installing" chapter in the "info" docs).
- A program is linked statically (so it doesn't use shared libraries and has all
the functions compiled in it).
- The operating system doesn't support shared libraries (like DOS)
- The operating system doesn't support preloading shared libraries before system libraries.
- LibHideIP is enabled by setting environment variables and a program is launched by another
program, which clears the environment
variables used by the dynamic linker, so the dynamic linker doesn't preload
LibHideIP. Some Java Runtime Environments seem to do this.
Screenshots of LibHideIP
Available at SourceForge.
System compatibility
LibHideIP compiles on the following systems:
- Fedora Core 4 GNU/Linux (i686 CPU) - versions up to 0.3 (later not checked)
- Fedora 12 GNU/Linux (i686 CPU) - versions from 0.3 (earlier not checked)
- Mandriva 2008.1 GNU/Linux (i686 CPU)
- Mandriva 2011 GNU/Linux (i686 CPU) - version 0.5 (earlier and later not checked)
- OpenBSD 3.8 (x86 CPU) - versions up to 0.3 (later not checked)
- Debian 5.0 GNU/Linux (x86 CPU) - versions from 0.4 (earlier not checked)
Download LibHideIP
Current version is 0.6.
Download this at SourceForge.
My other software
Check out Wipe Free Space, LibSecRm, IMYplay and JYMAG on SourceForge.
See my other free software:
- Wipe Free Space - a program for cleaning of free space on filesystems
- LibSecRm - a security wrapper library for C library functions which insecurely delete data
- KonqSec - a set of Konqueror security-related context menu entries
- JYMAG - a program for Sagem mobile phones
- IMYplay - a program for playing iMelody ringtones (IMY files) and an IMY-to-MIDI converter
- SOAP Service Tester - a program for testing SOAP services
See also my assembly-related free software:
- AsmDoc - a HTML documentation generator for assembly language
- source converters between NASM, FASM and GAS
- C header to assembly header converters
- Kate/KWrite syntax highlighting for NASM/FASM
- some FASM macros
- Makefile generator for FASM
- Linux 2.6 kernel module helper for FASM
- A set of Autoconf macros
- Assembly converter for Doxygen
- Asm::X86 Perl module
My GPG/PGP key
GnuPG/PGP key used to sign the packages:
asc format
Number: 1C56DA1E, SHA1 fingerprint: E91E 699F 1026 D0EF 745E EC3B 353A D368 1C56 DA1E
Contact info
Contact me: bogdro AT users . sourceforge . net (English accepted, just say '[SOFT]' in the title).
GnuPG/PGP key the same as above.
Page info
This page is hosted at SourceForge.net.
This page is written using valid
HTML 4.01
,
, for all browsers:
This page uses a valid
CSS
This page doesn't use GIF images
and doesn't use JPG images.
This page is JavaScript-free, Java-free and Flash-free.