Install more command line utils for Terminal app in IOS

In case you wonder how to use command line utils like ifconfig or netstat in you IOS devices (iPhone), install this package via Cydia:

adv-cmds – finger, fingerd, last, lsvfs, md, ps
diskdev-cmds – mount, quota, fsck, fstyp, fdisk, tunefs
network-cmds – arp, ifconfig, netstat, route, traceroute
shell-cmds – killall, mktemp, renice, time, which
file-cmds – chflags, compress, ipcrm, ipcs, pax
system-cmds – iostat, login, passwd, sync, sysctl
basic-cmds – msg, uudecode, uuencode, write

Credit :

Shell script fails: Syntax error: “(” unexpected

The error when executing the bash code:

The script does not begin with a shebang line, so the kernel executes it with /bin/sh. On Ubuntu, /bin/sh is dash, a shell designed for fast startup and execution with only standard features. When dash reaches the line, it sees a syntax error: that parenthesis doesn’t mean anything to it in context.

Since dash (like all other shells) is an interpreter, it won’t complain until the execution reaches the problematic line. So even if the script successfully started at some point in your testing, it would have aborted once the problematic line was reached.

The shebang line must be the very first thing in the file. Since you use bash features, the first line of the file must be #!/bin/bash or #!/usr/bin/env bash.


Python Error – InsecurePlatformWarning

There is one time I see this kind of error:

If you’re on ubuntu, you may run into trouble installing pyopenssl, you’ll need these dependencies:

You only need to install the security package extras:

or, install them directly:

Requests will then automatically inject pyopenssl into urllib3


Python Error – ImportError: No module named pkg_resources

There is one time I tried to install some python package via pip install requirement. But I encountered some error like this:

To fix the issue, run the setup script for setuptools:

Yeah. it solve my problem. Probably. XD


Fix Locale problem on Ubuntu

Recently, I saw this kind or error quite frequent. At first I thought that it was nothing.
But eventually, it’s kinda bothering me when I see the error message. :p

So, here is the solution to solve this problem.
First, run this command:

It updates /etc/default/locale with provided values.

If you see the /etc/default/locale file, it shows something like this:

If the problem still occur, maybe you can try this first before running the command above again:

Credit to

Installing bulk_extractor on Mac OS X

All reference is taken at here:

bulk_extractor is a computer forensics tool that scans a disk image, a file, or a directory of files and extracts useful information without parsing the file system or file system structures. The results can be easily inspected, parsed, or processed with automated tools.

To install bulk_extractor, first install required library via Macports:

All install dev library:

Download libewf source code:

Then install libewf from source (because libewf via ports too old):

SNMP Cannot Find Module on Ubuntu 14.04

If you encounter error something like this:

Then, where are in the same path. Path where we searching for the answers. XD
So, here is the solution to solve this error.

First, edit this sources.list file:

add this line to the end of file:

:w to save and :q to exit vi editor

Then, install this packages:

And then run this:

Voila! Done. Hope it helps. 🙂

Recover bricked TL-MR3020 via serial console

Recently, I’ve flashed my MR3020 in attempt to make my own Wifi Pineapple. But.. You know. Shit happen. :p

In other word, i screwed up my MR3020 and bricked it. All the LED is keep on blinking, some is on and not blinking, and the network is getting connected and disconnected randomly. Guess that’s a sign you’ve mess up with the device. XD

But I’m lucky because you still can recover the device via serial console and tftpd32 method. (yeay!)

Bear in mind that this method will VOID your warranty. So, don’t do this unless you willing to sacrifice for the sake of knowledge. 🙂

Things that you need:

  • Tftpd32: A free tftp and dhcp server for windows, freeware tftp server. Very efficient for booting over LAN.
  • PuTTY: SSH and telnet client, free and open-source terminal emulator, serial console and network file transfer application.
  • USB to UART converter (3.3V). I’m using this converter that I bought at Cytron Technologies.
  • A 10K resistor
  • Female to Female OR Female to Male Jumper Wires

UC00B USB-UART Converter

UC00B USB-UART Converter

So, as you can see, my USB-UART converter come with 6 ways header pin for interfacing. The voltage selector must set to 3.3V since the TL-MR3020 router have its I/O pins working at 3.3V.

Connection Diagram
* Do not connect the router VCC to USB-UART VCC, it may break your adapter or your router

For the picture of the connection diagram, refer to first picture above.

No Serial Port
So, in my case, my MR3020 is version 1.9. As you can see picture above, mine doesn’t have any serial port to connect to using female jump wire. So I use female (attach to USB-UART) to male (attach to MR3020) as picture below:
Male Jump Wire to MR3020

Male Jump Wire to MR3020

Male Jump Wire to MR3020
Take note that I only put the resistor and jumper wire without soldering. You can do a soldering to your jump wire and resistor to the port with in this tutorial, I skip with that. :p

After you have all things in place, you can start installing the UC00B (USB-UART) driver to your computer. After finished, restart your computer, and check your Device Manager. You should see something like this:

UC00B USB-UART on Device Manager

UC00B USB-UART on Device Manager

which indicated that the driver and the converter is detected by computer and the driver is properly installed.

Setting up network IP address
Assign a static IP address to the computer, using IP address since the router IP address is No need for Internet connection in this process.

REMEMBER! Ensure that you have disable you windows firewall. Or else, the next step will might not work.

Install OpenWRT from the U-Boot console
Download the latest OpenWRT firmware and save it to C:\Program Files\Tftpd32 (Tftpd32 default installation folder) as shown in figure below:



You also can click the “Show Dir” button and check if the file is there or not.

Run Putty, select Serial option, on Serial Line, I’m using COM3 since my USB-UART driver detected as COM3, for Speed option, I use 115200. Then click Open. Example like picture below:

Putty example for Serial COM3

Putty example for Serial COM3

After that, power up your MR3020. On Putty console, you should see something like this:

The moment after you see “Autobooting in 1 seconds“, type in word “tpl” immediately.

If everything is correct, you should see “hornet>” in your console. if you missed it, close and open back your Putty, follow the instruction above until you see the word “hornet>

Now you are in U-Boot-console, as it shows “hornet>” on your console. Now enter the following commands:
setenv ipaddr is the MR3020 IP address,
setenv serverip is the computer IP address,

Then enter this command to download openwrt .bin file:

you should see something like this:

Then enter this command to erase old firmware:

The output must be like this:

Then enter this command to start flashing:

And the output is:

After that, lets try to boot to the new firmware:

And the result is:

And.. Thats it. You’ve recover you almost-dead MR3020 to life! 🙂
The device new IP is at Happy hacking!

  • Credit to this blog for this tutorial.

Wifi Pineapple Mark V MR3020 – Bypass verify_pineapple LED pattern

wrong pattern entered during verify pineapple.

wrong pattern entered during verify pineapple.

Recently, I have a cool weekend project to do at home. Kinda spending a good time with my gadgets. 😀 I decided to install Wifi Pineapple Mark 5 version 2.2.0 on TP-Link MR3020 version 1.9. Its a straight forward step and you can follow that tutorial on my personal wiki at

After the installation finished, you need to go through the pineapple security measure as a part of setting up pineapple for the first time.

You need to select the correct pattern on that page to match with the blinking LED on your device. But… You know. Shit happen. Maybe because you installing the firmware on different hardware. 🙁

So, if you also have and facing the same problem, its okay. With a help from Mr. Fikri Fadzil, lets bypass the pattern verification. >_<

First, power off you device, which in my case, I’m using TP-Link MR3020.

After that, unplug the USB pendrive that contain pineapple firmware and plug in it to your computer. I use Ubuntu Desktop to make this step easier.

Go to this directory:

* /media/a7ac8712-5a08-49da-b9e1-2ede31828bda/ may be different as yours. take note what your USB drive mounted on your OS

And edit this file:

Go to line 199. Or search for keyword “array_search” in this “” file.

Edit the code from this:

to this:

Save this code. Unmount/eject your USB pendrive and plug in on your MR3020 back.

After that, just power on your device, and try to go through the verify pattern step back again. At this time, it will accept any pattern you like.

Then proceed to the next step. Happy hacking! 🙂

Ubuntu – Authentication token manipulation error

Authentication token manipulation error on Ubuntu

Authentication token manipulation error on Ubuntu

Recently, I forgot my “root” password for my Ubuntu (duh!). So I try attempting to change my “root” password by selecting recovery mode on the grub menu and dropped into a root shell prompt.

Everything works perfect until I try to change the password. The picture above is what I get when i try to change the password. 🙁

So, to solve this, just run this on the prompt:

Anddddd… Walla! Try to reset the password again and it works! 🙂