Saturday, December 7, 2013




















 Android :-


- In Whatsapp go to settings - more - Backup Chats
- Copy the folder "Whatsapp" on the SD card to your backup location (e.g., PC)
- (ideally also) use the app Titanium Backup to backup the full whatsapp application together with its data, copy the backup from the folder "TitaniumBackup" on the SD card to your backup location (e.g., PC)
- Use this tool Whatsapp Backup Extractor (download in this thread) to show the chats in a friendly readable format. The necessary files "wa.db" and "msgstore.db" you will find inside the Titanium Backup archive "com.whatsapp-[Date]-[some digits].tar.gz", alternatively (without Titanium Backup) you can use the msgstore.db.crypt file from the folder Whatsapp/Databases on the SD card.

iPhone :-

- use Itunes to create an unencrypted Backup
- use an Iphone Backup Tool to get the file net.whatsapp.WhatsApp/Documents/ChatStorage.sqlite, e.g. I-Twin or Iphone Backup Extractor. Make sure to create an unencrypted backup with Itunes, as these tools can't handle encrypted backups. Another possibility are forensic tools like UFED Physical Analyzer.)

Blackberry :- 
- sync your blackberry with desktop manager and then copy the messagestore.db file from SD
- however, it seems that this file is encrypted? Currently we don't know how to get the unencrypted messagestore.db file
- Blackberry not supported yet!
 
Nokia- not known yet
- Nokia not supported yet!!! 

So before giving your phone to anyone think twicely and also keep all your backup safe so that no one can hack your personal stuff and messages. :-) 
==================================================================

3. Using Spywares :-

Another method we are going to see is that by using 3rd party application and software anyone can easily not only hack your whatsapp but it can track GPS, view your lock screen password, view your messages, call records etc.

There are many software available in the market to do such thinks but the truth is that they all are paid app but i have come across a 3rd party software which is absolutely free of cost and that is call BOSSPY. It is available only for android and Iphone till now.
I have use it in my S3 and it works like a charm to see whether its really working or not and i was shocked to see that it can actually track all my call records, in/out text messages, it can track me via GPS and the great and very dangerous think about this app is that it is totally invisible means you cannot find this app in app drawer but it can be found under setting => accessibility => Service tab. There you will find this app. To start this app we need to dial the default code which is 123456 in android dialer. For further detail visit the official page of BOSSPY.
 
==================================================================
So guys that all for today.
In next post i will be sharing some other dangerous method through which anyone can hack your whatsapp
Till then stay tune to my blog.
if i have help you in any way please do comment and share it as much as you want to protect your dear one from being hacked by someone.

Friday, November 29, 2013

herin's boot cd

http://www.softexia.com/system-tools/hard-disk-utilities/hirens-bootcd/

paint

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;


public class paint{
	public static void main(String[] args){
		Icon iconB = new ImageIcon("blue.gif");
		//the blue image icon
		Icon iconM = new ImageIcon("magenta.gif");
		//magenta image icon
		Icon iconR = new ImageIcon("red.gif");
		//red image icon
		Icon iconBl = new ImageIcon("black.gif");
		//black image icon
		Icon iconG = new ImageIcon("green.gif");
		//finally the green image icon
		//These will be the images for our colors.
		
		JFrame frame = new JFrame("Paint It");
		//Creates a frame with a title of "Paint it"
		
		Container content = frame.getContentPane();
		//Creates a new container
		content.setLayout(new BorderLayout());
		//sets the layout
		
		final PadDraw drawPad = new PadDraw();
		//creates a new padDraw, which is pretty much the paint program
		
		content.add(drawPad, BorderLayout.CENTER);
		//sets the padDraw in the center
		
		JPanel panel = new JPanel();
		//creates a JPanel
		panel.setPreferredSize(new Dimension(32, 68));
		panel.setMinimumSize(new Dimension(32, 68));
		panel.setMaximumSize(new Dimension(32, 68));
		//This sets the size of the panel
		
		JButton clearButton = new JButton("Clear");
		//creates the clear button and sets the text as "Clear"
		clearButton.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent e){
				drawPad.clear();
			}
		});
		//this is the clear button, which clears the screen.  This pretty
		//much attaches an action listener to the button and when the
		//button is pressed it calls the clear() method
		
		JButton redButton = new JButton(iconR);
		//creates the red button and sets the icon we created for red
		redButton.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent e){
				drawPad.red();
			}

		});
		//when pressed it will call the red() method.  So on and so on =]
		
		JButton blackButton = new JButton(iconBl);
		//same thing except this is the black button
		blackButton.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent e){
				drawPad.black();
			}
		});
		
		JButton magentaButton = new JButton(iconM);
		//magenta button
		magentaButton.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent e){
				drawPad.magenta();
			}
		});
		
		JButton blueButton = new JButton(iconB);
		//blue button
		blueButton.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent e){
				drawPad.blue();
			}
		});
		
		JButton greenButton = new JButton(iconG);
		//green button
		greenButton.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent e){
				drawPad.green();
			}
		});
		blackButton.setPreferredSize(new Dimension(16, 16));
		magentaButton.setPreferredSize(new Dimension(16, 16));
		redButton.setPreferredSize(new Dimension(16, 16));
		blueButton.setPreferredSize(new Dimension(16, 16));
		greenButton.setPreferredSize(new Dimension(16,16));
		//sets the sizes of the buttons
		
		panel.add(greenButton);
		panel.add(blueButton);
		panel.add(magentaButton);
		panel.add(blackButton);
		panel.add(redButton);
		panel.add(clearButton);
		//adds the buttons to the panel
		
		content.add(panel, BorderLayout.WEST);
		//sets the panel to the left
		
		frame.setSize(300, 300);
		//sets the size of the frame
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		//makes it so you can close
		frame.setVisible(true);
		//makes it so you can see it
	}
}


class PadDraw extends JComponent{
	Image image;
	//this is gonna be your image that you draw on
	Graphics2D graphics2D;
	//this is what we'll be using to draw on
	int currentX, currentY, oldX, oldY;
	//these are gonna hold our mouse coordinates

	//Now for the constructors
	public PadDraw(){
		setDoubleBuffered(false);
		addMouseListener(new MouseAdapter(){
			public void mousePressed(MouseEvent e){
				oldX = e.getX();
				oldY = e.getY();
			}
		});
		//if the mouse is pressed it sets the oldX & oldY
		//coordinates as the mouses x & y coordinates
		addMouseMotionListener(new MouseMotionAdapter(){
			public void mouseDragged(MouseEvent e){
				currentX = e.getX();
				currentY = e.getY();
				if(graphics2D != null)
				graphics2D.drawLine(oldX, oldY, currentX, currentY);
				repaint();
				oldX = currentX;
				oldY = currentY;
			}

		});
		//while the mouse is dragged it sets currentX & currentY as the mouses x and y
		//then it draws a line at the coordinates
		//it repaints it and sets oldX and oldY as currentX and currentY
	}

	public void paintComponent(Graphics g){
		if(image == null){
			image = createImage(getSize().width, getSize().height);
			graphics2D = (Graphics2D)image.getGraphics();
			graphics2D.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
			clear();

		}
		g.drawImage(image, 0, 0, null);
	}
	//this is the painting bit
	//if it has nothing on it then
	//it creates an image the size of the window
	//sets the value of Graphics as the image
	//sets the rendering
	//runs the clear() method
	//then it draws the image


	public void clear(){
		graphics2D.setPaint(Color.white);
		graphics2D.fillRect(0, 0, getSize().width, getSize().height);
		graphics2D.setPaint(Color.black);
		repaint();
	}
	//this is the clear
	//it sets the colors as white
	//then it fills the window with white
	//thin it sets the color back to black
	public void red(){
		graphics2D.setPaint(Color.red);
		repaint();
	}
	//this is the red paint
	public void black(){
		graphics2D.setPaint(Color.black);
		repaint();
	}
	//black paint
	public void magenta(){
		graphics2D.setPaint(Color.magenta);
		repaint();
	}
	//magenta paint
	public void blue(){
		graphics2D.setPaint(Color.blue);
		repaint();
	}
	//blue paint
	public void green(){
		graphics2D.setPaint(Color.green);
		repaint();
	}
	//green paint

}


//good job, you've made your paint program =]

paint

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;


public class paint{
	public static void main(String[] args){
		Icon iconB = new ImageIcon("blue.gif");
		//the blue image icon
		Icon iconM = new ImageIcon("magenta.gif");
		//magenta image icon
		Icon iconR = new ImageIcon("red.gif");
		//red image icon
		Icon iconBl = new ImageIcon("black.gif");
		//black image icon
		Icon iconG = new ImageIcon("green.gif");
		//finally the green image icon
		//These will be the images for our colors.
		
		JFrame frame = new JFrame("Paint It");
		//Creates a frame with a title of "Paint it"
		
		Container content = frame.getContentPane();
		//Creates a new container
		content.setLayout(new BorderLayout());
		//sets the layout
		
		final PadDraw drawPad = new PadDraw();
		//creates a new padDraw, which is pretty much the paint program
		
		content.add(drawPad, BorderLayout.CENTER);
		//sets the padDraw in the center
		
		JPanel panel = new JPanel();
		//creates a JPanel
		panel.setPreferredSize(new Dimension(32, 68));
		panel.setMinimumSize(new Dimension(32, 68));
		panel.setMaximumSize(new Dimension(32, 68));
		//This sets the size of the panel
		
		JButton clearButton = new JButton("Clear");
		//creates the clear button and sets the text as "Clear"
		clearButton.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent e){
				drawPad.clear();
			}
		});
		//this is the clear button, which clears the screen.  This pretty
		//much attaches an action listener to the button and when the
		//button is pressed it calls the clear() method
		
		JButton redButton = new JButton(iconR);
		//creates the red button and sets the icon we created for red
		redButton.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent e){
				drawPad.red();
			}

		});
		//when pressed it will call the red() method.  So on and so on =]
		
		JButton blackButton = new JButton(iconBl);
		//same thing except this is the black button
		blackButton.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent e){
				drawPad.black();
			}
		});
		
		JButton magentaButton = new JButton(iconM);
		//magenta button
		magentaButton.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent e){
				drawPad.magenta();
			}
		});
		
		JButton blueButton = new JButton(iconB);
		//blue button
		blueButton.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent e){
				drawPad.blue();
			}
		});
		
		JButton greenButton = new JButton(iconG);
		//green button
		greenButton.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent e){
				drawPad.green();
			}
		});
		blackButton.setPreferredSize(new Dimension(16, 16));
		magentaButton.setPreferredSize(new Dimension(16, 16));
		redButton.setPreferredSize(new Dimension(16, 16));
		blueButton.setPreferredSize(new Dimension(16, 16));
		greenButton.setPreferredSize(new Dimension(16,16));
		//sets the sizes of the buttons
		
		panel.add(greenButton);
		panel.add(blueButton);
		panel.add(magentaButton);
		panel.add(blackButton);
		panel.add(redButton);
		panel.add(clearButton);
		//adds the buttons to the panel
		
		content.add(panel, BorderLayout.WEST);
		//sets the panel to the left
		
		frame.setSize(300, 300);
		//sets the size of the frame
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		//makes it so you can close
		frame.setVisible(true);
		//makes it so you can see it
	}
}


class PadDraw extends JComponent{
	Image image;
	//this is gonna be your image that you draw on
	Graphics2D graphics2D;
	//this is what we'll be using to draw on
	int currentX, currentY, oldX, oldY;
	//these are gonna hold our mouse coordinates

	//Now for the constructors
	public PadDraw(){
		setDoubleBuffered(false);
		addMouseListener(new MouseAdapter(){
			public void mousePressed(MouseEvent e){
				oldX = e.getX();
				oldY = e.getY();
			}
		});
		//if the mouse is pressed it sets the oldX & oldY
		//coordinates as the mouses x & y coordinates
		addMouseMotionListener(new MouseMotionAdapter(){
			public void mouseDragged(MouseEvent e){
				currentX = e.getX();
				currentY = e.getY();
				if(graphics2D != null)
				graphics2D.drawLine(oldX, oldY, currentX, currentY);
				repaint();
				oldX = currentX;
				oldY = currentY;
			}

		});
		//while the mouse is dragged it sets currentX & currentY as the mouses x and y
		//then it draws a line at the coordinates
		//it repaints it and sets oldX and oldY as currentX and currentY
	}

	public void paintComponent(Graphics g){
		if(image == null){
			image = createImage(getSize().width, getSize().height);
			graphics2D = (Graphics2D)image.getGraphics();
			graphics2D.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
			clear();

		}
		g.drawImage(image, 0, 0, null);
	}
	//this is the painting bit
	//if it has nothing on it then
	//it creates an image the size of the window
	//sets the value of Graphics as the image
	//sets the rendering
	//runs the clear() method
	//then it draws the image


	public void clear(){
		graphics2D.setPaint(Color.white);
		graphics2D.fillRect(0, 0, getSize().width, getSize().height);
		graphics2D.setPaint(Color.black);
		repaint();
	}
	//this is the clear
	//it sets the colors as white
	//then it fills the window with white
	//thin it sets the color back to black
	public void red(){
		graphics2D.setPaint(Color.red);
		repaint();
	}
	//this is the red paint
	public void black(){
		graphics2D.setPaint(Color.black);
		repaint();
	}
	//black paint
	public void magenta(){
		graphics2D.setPaint(Color.magenta);
		repaint();
	}
	//magenta paint
	public void blue(){
		graphics2D.setPaint(Color.blue);
		repaint();
	}
	//blue paint
	public void green(){
		graphics2D.setPaint(Color.green);
		repaint();
	}
	//green paint

}


//good job, you've made your paint program =]

calculator

  1. import java.awt.*;
  2. import java.awt.event.*;
  3. import javax.swing.*;
  4. import javax.swing.event.*;
  5.  
  6. class Calculator extends JFrame {
  7. private final Font BIGGER_FONT = new Font("monspaced",Font.PLAIN, 20);
  8. private JTextField textfield;
  9. private boolean number = true;
  10. private String equalOp = "=";
  11. private CalculatorOp op = new CalculatorOp();
  12. public Calculator() {
  13. textfield = new JTextField("", 12);
  14. textfield.setHorizontalAlignment(JTextField.RIGHT);
  15. textfield.setFont(BIGGER_FONT);
  16. ActionListener numberListener = new NumberListener();
  17. String buttonOrder = "1234567890 ";
  18. JPanel buttonPanel = new JPanel();
  19. buttonPanel.setLayout(new GridLayout(4, 4, 4, 4));
  20. for (int i = 0; i < buttonOrder.length(); i++) {
  21. String key = buttonOrder.substring(i, i+1);
  22. if (key.equals(" ")) {
  23. buttonPanel.add(new JLabel(""));
  24. } else {
  25. JButton button = new JButton(key);
  26. button.addActionListener(numberListener);
  27. button.setFont(BIGGER_FONT);
  28. buttonPanel.add(button);
  29. }
  30. }
  31. ActionListener operatorListener = new OperatorListener();
  32. JPanel panel = new JPanel();
  33. panel.setLayout(new GridLayout(4, 4, 4, 4));
  34. String[] opOrder = {"+", "-", "*", "/","=","C","sin","cos","log"};
  35. for (int i = 0; i < opOrder.length; i++) {
  36. JButton button = new JButton(opOrder[i]);
  37. button.addActionListener(operatorListener);
  38. button.setFont(BIGGER_FONT);
  39. panel.add(button);
  40. }
  41. JPanel pan = new JPanel();
  42. pan.setLayout(new BorderLayout(4, 4));
  43. pan.add(textfield, BorderLayout.NORTH );
  44. pan.add(buttonPanel , BorderLayout.CENTER);
  45. pan.add(panel , BorderLayout.EAST);
  46. this.setContentPane(pan);
  47. this.pack();
  48. this.setTitle("Calculator");
  49. this.setResizable(false);
  50. }
  51. private void action() {
  52. number = true;
  53. textfield.setText("");
  54. equalOp = "=";
  55. op.setTotal("");
  56. }
  57. class OperatorListener implements ActionListener {
  58. public void actionPerformed(ActionEvent e) {
  59. String displayText = textfield.getText();
  60. if (e.getActionCommand().equals("sin"))
  61. {
  62. textfield.setText("" + Math.sin(Double.valueOf(displayText).doubleValue()));
  63. }else
  64. if (e.getActionCommand().equals("cos"))
  65. {
  66. textfield.setText("" + Math.cos(Double.valueOf(displayText).doubleValue()));
  67. }
  68. else
  69. if (e.getActionCommand().equals("log"))
  70. {
  71. textfield.setText("" + Math.log(Double.valueOf(displayText).doubleValue()));
  72. }
  73. else if (e.getActionCommand().equals("C"))
  74. {
  75. textfield.setText("");
  76. }
  77.  
  78. else
  79. {
  80. if (number)
  81. {
  82. action();
  83. textfield.setText("");
  84. }
  85. else
  86. {
  87. number = true;
  88. if (equalOp.equals("="))
  89. {
  90. op.setTotal(displayText);
  91. }else
  92. if (equalOp.equals("+"))
  93. {
  94. op.add(displayText);
  95. }
  96. else if (equalOp.equals("-"))
  97. {
  98. op.subtract(displayText);
  99. }
  100. else if (equalOp.equals("*"))
  101. {
  102. op.multiply(displayText);
  103. }
  104. else if (equalOp.equals("/"))
  105. {
  106. op.divide(displayText);
  107. }
  108. textfield.setText("" + op.getTotalString());
  109. equalOp = e.getActionCommand();
  110. }
  111. }
  112. }
  113. }
  114. class NumberListener implements ActionListener {
  115. public void actionPerformed(ActionEvent event) {
  116. String digit = event.getActionCommand();
  117. if (number) {
  118. textfield.setText(digit);
  119. number = false;
  120. } else {
  121. textfield.setText(textfield.getText() + digit);
  122. }
  123. }
  124. }
  125. public class CalculatorOp {
  126. private int total;
  127. public CalculatorOp() {
  128. total = 0;
  129. }
  130. public String getTotalString() {
  131. return ""+total;
  132. }
  133. public void setTotal(String n) {
  134. total = convertToNumber(n);
  135. }
  136. public void add(String n) {
  137. total += convertToNumber(n);
  138. }
  139. public void subtract(String n) {
  140. total -= convertToNumber(n);
  141. }
  142. public void multiply(String n) {
  143. total *= convertToNumber(n);
  144. }
  145. public void divide(String n) {
  146. total /= convertToNumber(n);
  147. }
  148. private int convertToNumber(String n) {
  149. return Integer.parseInt(n);
  150. }
  151. }
  152. }
  153. class SwingCalculator {
  154. public static void main(String[] args) {
  155. JFrame frame = new Calculator();
  156. frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  157. frame.setVisible(true);
  158. }
  159. }

Chest

  1. import java.awt.*;
  2. import java.awt.event.*;
  3. import java.util.*;
  4. import javax.swing.*;
  5. public class ChessGameDemo extends JFrame implements MouseListener, MouseMotionListener {
  6. JLayeredPane layeredPane;
  7. JPanel chessBoard;
  8. JLabel chessPiece;
  9. int xAdjustment;
  10. int yAdjustment;
  11. public ChessGameDemo(){
  12. Dimension boardSize = new Dimension(600, 600);
  13. // Use a Layered Pane for this this application
  14. layeredPane = new JLayeredPane();
  15. getContentPane().add(layeredPane);
  16. layeredPane.setPreferredSize(boardSize);
  17. layeredPane.addMouseListener(this);
  18. layeredPane.addMouseMotionListener(this);
  19.  
  20. //Add a chess board to the Layered Pane
  21. chessBoard = new JPanel();
  22. layeredPane.add(chessBoard, JLayeredPane.DEFAULT_LAYER);
  23. chessBoard.setLayout( new GridLayout(8, 8) );
  24. chessBoard.setPreferredSize( boardSize );
  25. chessBoard.setBounds(0, 0, boardSize.width, boardSize.height);
  26. for (int i = 0; i < 64; i++) {
  27. JPanel square = new JPanel( new BorderLayout() );
  28. chessBoard.add( square );
  29. int row = (i / 8) % 2;
  30. if (row == 0)
  31. square.setBackground( i % 2 == 0 ? Color.blue : Color.white );
  32. else
  33. square.setBackground( i % 2 == 0 ? Color.white : Color.blue );
  34. }
  35. //Add a few pieces to the board
  36. JLabel piece = new JLabel( new ImageIcon("/home/vinod/amarexamples/chess.jpg") );
  37. JPanel panel = (JPanel)chessBoard.getComponent(0);
  38. panel.add(piece);
  39. piece = new JLabel(new ImageIcon("/home/vinod/amarexamples/chess1.jpg"));
  40. panel = (JPanel)chessBoard.getComponent(15);
  41. panel.add(piece);
  42. piece = new JLabel(new ImageIcon("/home/vinod/amarexamples/king.jpg"));
  43. panel = (JPanel)chessBoard.getComponent(16);
  44. panel.add(piece);
  45. piece = new JLabel(new ImageIcon("/home/vinod/amarexamples/camel.jpg"));
  46. panel = (JPanel)chessBoard.getComponent(20);
  47. panel.add(piece);
  48.  
  49. }
  50. public void mousePressed(MouseEvent e){
  51. chessPiece = null;
  52. Component c = chessBoard.findComponentAt(e.getX(), e.getY());
  53. if (c instanceof JPanel)
  54. return;
  55. Point parentLocation = c.getParent().getLocation();
  56. xAdjustment = parentLocation.x - e.getX();
  57. yAdjustment = parentLocation.y - e.getY();
  58. chessPiece = (JLabel)c;
  59. chessPiece.setLocation(e.getX() + xAdjustment, e.getY() + yAdjustment);
  60. chessPiece.setSize(chessPiece.getWidth(), chessPiece.getHeight());
  61. layeredPane.add(chessPiece, JLayeredPane.DRAG_LAYER);
  62. }
  63. //Move the chess piece around
  64. public void mouseDragged(MouseEvent me) {
  65. if (chessPiece == null) return;
  66. chessPiece.setLocation(me.getX() + xAdjustment, me.getY() + yAdjustment);
  67. }
  68. //Drop the chess piece back onto the chess board
  69. public void mouseReleased(MouseEvent e) {
  70. if(chessPiece == null) return;
  71. chessPiece.setVisible(false);
  72. Component c = chessBoard.findComponentAt(e.getX(), e.getY());
  73. if (c instanceof JLabel){
  74. Container parent = c.getParent();
  75. parent.remove(0);
  76. parent.add( chessPiece );
  77. }
  78. else {
  79. Container parent = (Container)c;
  80. parent.add( chessPiece );
  81. }
  82. chessPiece.setVisible(true);
  83. }
  84. public void mouseClicked(MouseEvent e) {
  85. }
  86. public void mouseMoved(MouseEvent e) {
  87. }
  88. public void mouseEntered(MouseEvent e){
  89. }
  90. public void mouseExited(MouseEvent e) {
  91. }
  92. public static void main(String[] args) {
  93. JFrame frame = new ChessGameDemo();
  94. frame.setDefaultCloseOperation(DISPOSE_ON_CLOSE );
  95. frame.pack();
  96. frame.setResizable(true);
  97. frame.setLocationRelativeTo( null );
  98. frame.setVisible(true);
  99. }
  100. }
  101.  

Message - Up

import java.*;
 
import java.security.MessageDigest;
 
public class pw_test {
        public static void main(String[] args) {
                // Original: String imei = System.getProperty("com.nokia.mid.imei");
                String imei = "580179140553553"; // your IMEI
               
        StringBuffer buffer = new StringBuffer(imei);
        if(buffer.length() == 0)
        {
            System.exit(0);
        }
        buffer = buffer.reverse();
        S40MD5Digest digest = new S40MD5Digest();
        digest.reset();
        try
        {
            digest.update(buffer.toString().getBytes("UTF-8"));
        }
                catch(Exception e)
        {
            e.printStackTrace();
        }
        byte bytes[] = digest.digest();
        int bytesLength = bytes.length;
        buffer = new StringBuffer();
        for(int i = 0; i < bytesLength; i++)
        {
            int unsignedByte = bytes[i] + 128;
            buffer.append(Integer.toString(unsignedByte, 16));
        }
 
        System.out.println(buffer.toString());
    }
}
 
class S40MD5Digest
//    implements com.whatsapp.api.util.MessageDigest
{
 
    public S40MD5Digest()
    {
        try
        {
            _md5 = MessageDigest.getInstance("md5");
        }
        catch(Exception x) { }
    }
 
    public void reset()
    {
        _md5.reset();
    }
 
    public void update(byte bytes[])
    {
        _md5.update(bytes, 0, bytes.length);
    }
 
    public byte[] digest()
    {
        byte arr[] = new byte[128];
        int res;
        try
        {
            res = _md5.digest(arr, 0, 128);
        }
        catch(Exception x)
        {
            return null;
        }
        byte resArr[] = new byte[res];
        System.arraycopy(arr, 0, resArr, 0, res);
        return resArr;
    }
 
    MessageDigest _md5;
}