Tweak concept : Safari Multi Pages

So I have got some tweaks ideas, but I don’t have any knowledge in Objective-c, so I hope a Cydia developer will see this and develop it 🙂 .

So what is the concept? When you use a web browser, you can open some tabs. It’s cool, but when you search separate things, on the computer you can open 2 or more pages with some tabs in each of them. I wish you can do this with Safari, so I had this tweak idea. I named it Safari Multi Pages.

Here is a screenshot of how it can look like :



If someone wants to develop this, just send me a tweet (@DevSk0re) to say or send me an email ( so I just know 🙂 .


Flex, an upcoming tweak

Flex is a tweak which allows you to do your own tweaks. It’s not availible on Cydia for the moment, but it will be soon.

What can you do with flex? You can create your own tweaks “without knowing anything about Objective-c”. This idea is from John Coates, who made MissionBoard pro, and it will allow you to make and share your runtime patches, not just on iOs but also on any apps you have installed.

The developer thinks that it can be for developer and for others users :

You basically search for a keyword that’s related to what you want to change.

Say you want to increase the amount of tabs Safari can have. So you make a new patch, and search for “maximum”. You’ll find two results, one which says “maxiumumTabDocumentCount” You click it, change the return value to 30 and suddenly you can have 30 Safari tabs.

What do you think about this idea?

Original Reddit post :

For the past few weeks I’ve been working on a rather large project. It’s a new jailbreak app called Flex. What it does it let you create small tweaks, share what you create, and download others’ shared tweaks. I expect to release it pretty soon, just need to have it go through a beta phase.

To give you a better idea here’s a screenshot of the patches view. Each of those patches consists of one or more “units”. A unit looks like this, and it’s what does the work.

You can instantly download patches from within the app, and activate them straight away.

Patches are very easy to make, and give you quite a lot of power. You can make them for any application you have installed, even SpringBoard. They don’t contain any real code, the tweak portion of Flex is actually what does all the heavy lifting… so basically these patches can’t be installed outside of Flex.

You can also follow my twitter @punksomething for updates

I got a great response about the beta testing, and I no longer need any more beta testers. Watch for Flex’s release soon, and if you want to get e-mailed about it you can subscribe to TweakTuesday

Source :

2G Lab, the company of pod2g

The well known hacker pod2g has created his own company. It’s called 2G Lab and they are working on application development and security research.

Here is the original post :

You reader certainly know that I have not been really present in the security field since a few months now.
The reason of this was the creation of my company, 2G Lab, focusing on 2 different areas : development and security research.
Now that our first application, named podDJ is out to the AppStore, we will focus on both subjects.
If you have a project that you would like 2G Lab to work on, contact us: contact at 2g-lab dot com.
Best wishes to you all,
Cyril (@pod2g)

Source :

Some tips in Java

You are programming in Java and you want to know some simple but new things? So read this post and maybe you’ll know some new things 🙂 .

The first tip is about the focus. What is a focus? If you have a JTextField and you want to have the cursor automatically activated in it when you open the window, you put a focus. Here is the code :


SwingUtilities.invokeLater(new Runnable()
public void run()




Here the JTextField name is jtf and you have to do this like this if you want to put the pan.setVisible(true); after the focus (for example if you want to put the “visibility” at the end of the code).

Now you have a grid of buttons and you want to know which one is clicked. It’s very simple, you just have to set a name to your buttons :

JButton[][] myGrid = new JButton [10][10];

for(int i = 0; i < myGrid.length; i++ ) {
for(int j = 0; j < myGrid[0].length; j++ ) {
myGrid[i][j] = new JButton();
myGrid[i][j].setName("" + i + j);


Here I put the name with myGrid[i][j].setName("" + i + j); and the name will be 00 for the first button and so on. And now if you want to have the name, you must do this in a listener :

String name = ((JButton) ev.getSource()).getName();

int a = name.charAt(0)-48;
int b = name.charAt(1)-48;

And here you have the name and you can use it as you want.

A last very little tip (it’s pretty sure you already know it), how to unactivate a button. It’s very simple, when you’ve created your button, just put this :


You have to change button with the name of your button.

It’s the end of this post. If you have any question, feel free to ask. Hope it will help you and I’ll try to make an other post about tips in Java.

How to run little java programs in MobileTerminal

Here is a new little tutorial that shows you how to run littles Java programs in MobileTerminal.

Needed for this tutorial :

  • A jailbroken iDevice
  • MobileTerminal installed on it

First, go in Cydia. Be sure to have the developer “profile” turned on (Manage –>; Settings –>; Developer). Now, you have to search this :

  • iPhone/Java (it will install others needed packages).
  • Jikes.



Just install these packages. Now, you have to do a Java file. For example, you can just type this in the file (name it in this case) :

public class test{
public static void main (String args[]){
System.out.println("Hello World!");

You can do it on your iDevice if you have iFile or any other file manager or you can do it on your computer and then transfer it with iFunBox (in this tutorial, I put the file in /var/mobile).

Now that you’ve made all what is written, open MobileTerminal. Type jikes -cp /usr/lib/rt.jar (or the


Type on the “return” button. You have now to type java test (or the_name_of_your_file), just type one more time on the “return” button, wait a bit and it will show the message 🙂 .


If you have any tip or problem, you can post a comment 😉 .

MobileTerminal, some commands

You have a jailbroken iDevice and you have MobileTerminal installed on it? So read this post to learn (if you don’t already know what I’ll explain) some things that are important when you use MobileTerminal.




If you want to download it, you can download here.

Once you’ve downloaded it, you can put it in the autoinstall folder of Cydia or put it in a random folder and install it via iFile (if you have it).

Now you’re ready to use MobileTerminal. The first thing to do is to change the root password. So type :

su  or  su root

Then, type the default password : alpine (you won’t see what you type, it’s normal).

To change this password, type passwd . Now type your new password and you have to retype it. Now you’ve changed it.

We will see some commands.

killall Terminal : it closes the Terminal app.
killall SpringBoard or respring : it does a respring.
reboot : it does a reboot.
help : it shows you some help.
dir : it lists the directory files.
cd or cd ~ : it goes to the home directory.
cd /directory name : it goes to the directory name you type.
apt-get update : it updates the Cydia packages (like in Cydia).
apt-get upgrade cydia : it installs any upgrade that is availible for you packages on Cydia.
apt-get install cydia : it installs the latest version of Cydia if it isn’t installed.
apt-get autoclean : it cleans up files if it’s needed.
apt-get autoremove : it removes unused or broken files.
apt-get -fix-missing : it checks if there’s some files missing and it fixes it.
dpkg -list>packages.txt : it creates a list of the installed packages in Cydia.
dpkg -i packageID : it installs .deb files (you have to change packageID with the name of the package you have).
dpkg -r pacakgeID : it uninstalls a .deb file installed (you have to change packageID with the name of the package you want to uninstall).

I will make at least one other post about MobileTerminal as soon as possible 🙂 .