Bypassing Corporate firewalls using SSH

Posted in General, Linux by Karthik Murugesan on January 14, 2008

Using your Home proxy server to access various blocked sites from your office

Accessing Office PC from Home using SSH Forward

Warning : Information Security is very strict in most of the Corporates. So do it at your own risk.


Modifying the cramfs image

Posted in Linux, Programming by Karthik Murugesan on December 31, 2007

1. Mount the cramfs file system image as a loop device. This will be read-only image.

2. Create a new directory (e.g $HOME/initrd-new) which will be used for modifying the image (RW mode)

3. Go to the mounted cramfs image directory and get the list of files using the following command

    find / > /tmp/filelist.txt

4. Use cpio to copy the contents from the mounted directory to the new directory

    cat /tmp/filelist.txt | cpio -pdm /$HOME/initrd-new

5. modify the contents in the new directory as required.

6. Once the changes are done, use mkcramfs to create the cramfs image again.

    mkcramfs /tmp/new-initrd new-initrd

Useful References – Android Internals

Posted in Linux, Mobile Frameworks, Programming by Karthik Murugesan on December 31, 2007

Useful References – Linux ELF format

Posted in Linux, Programming by Karthik Murugesan on December 31, 2007

How Google Maps works

Posted in navigation, PND by Karthik Murugesan on November 29, 2007

How to access internet from Linux via Microsoft’s NTLM Proxy Server

Posted in Uncategorized by Karthik Murugesan on February 7, 2007

Most corporates allow access to internet through Microsoft’s Proxy Server which uses the properitory NTLM authentication. Even though most of the linux communication software provides some basic proxy support, none support NTLM authentication and hence accessing internet from linux is not possible.

In order to do the same from the Linux PC, you can install the NTLM Application Proxy Server (ntlmaps) from http://ntlmaps.sourceforge.net/ on your windows machine, configure it as specified in the README and run the same on your windows machine. Then configure your ntmaps hostname and port as the proxy server’s hostname and port in your linux machine. For example, you can configure the environment variable “http_proxy” to ntlmaps hostname:port, if you want wget to access the internet via NTLM proxy. Similarly most clients will have their own of defining the proxy. Check the corresponding manual on how to do the same.

Generate BREW .mif file from Command line

Posted in Mobile Frameworks by Karthik Murugesan on January 4, 2007

Most of the BREW developers know how to create BREW .mif files using a BREW mif editor. But with the latest BREW SDK Tools 1.0.1, we can create the .mif file using the the BREW resource compiler (similar to creating .bar resource files).
For this, we have to create a .mfx file which is a XML representation of .mif binary file similar to .bar file’s XML equivalent .bfx file. Then we can use the brew resource compiler (brewrc) to generate the .mif file from .mfx file as shown below.
“C:\Program Files\BREW SDK Tools 1.0.1\ResourceEditor\brewrc” -o ./mif/testing.mif

Continue reading @ http://www.devx.com/wireless/Article/33417/1954?pf=true

Switch Case Vs If else performance

Posted in Programming by Karthik Murugesan on December 19, 2006

Most people know that performance of switch/case is better than an if/else statement, if the case values are narrowed. But many doesnt know the reason why switch/case statement performance is better. I came across this tutorial which discusses on the assembly view of switch/case for different scenarios like narrowed case values, wides case values etc and how it differs from the if/else statement. From this, its clear that the Switch/case performance is better for narrowed case values.

Even though the discussion is specific to 68000, the concept remains the same across processors/compilers.

check it out @ http://www.eventhelix.com/RealtimeMantra/Basics/CToAssemblyTranslation3.htm

Function Invocation: Assembly view & Stack Manipulation

Posted in Programming by Karthik Murugesan on December 18, 2006

Came across the article on how the C function invocation happens and how the stack is manipulated in intel 30386 architectures. Even though the description is specific to win32 __cdecl APIs on Intel architecture, the concept almost remains the same in most architectures.

check it out @ http://www.unixwiz.net/techtips/win32-callconv-asm.html

Win32: Function Calling Conventions __cdecl & __stdcall

Posted in Programming by Karthik Murugesan on December 17, 2006

I was wondering why VC6 linker prepends an underscore to the function names while displaying errors during linking. I found this article on the win32 function calling conventions and details on why VC6 compiler rewrites the function names in the symbol table.

Check it out @ http://www.unixwiz.net/techtips/win32-callconv.htm