Showing posts with label data. Show all posts
Showing posts with label data. Show all posts

Wednesday, February 18, 2015

Hide Data Behind Images

Hide Data Behind Images



Steganography is the art and science of hiding messages, Images, Data etc. in such a way that no one, apart from the sender and intended recipient, suspects the existence of the Data- security through obscurity. By using this small and neat trick you can hide whatever data you want behind any image of your choice without reducing its quality, In the following tutorial I will show you how you can hide data behind images without using any exotic software.(Good old Winrar or Winzip is sufficient)

1. Create a folder in your C drive and name it as "hide"(Using Root Directory will make this a bit easier).

2.Now you can put anything and everything you want to hide in this folder. Text files,images,executables (ANYTHING).Also, put the image behind which you want to hide the files in the same directory, say "image.jpg".

3.After putting everything you want to hide in the "hide" folder, Right click on it, and click "Add to Hide.rar" or "Add to archive". Our goal is to create a .rar file of the "Hide" folder.
Now you should see the "hide.rar"created in the same directory along with the folder.

4. Now we need to open up command prompt and change the working root directory to your current directory and type the following commands.(First change directory then create the output file).(Remember "C" is capital in "C:\")

►cd C:\
►Copy /b image.jpg + hide.rar output.jpg

Here "image.jpg" is the image behind which you want to hide the rar file.
"hide.rar" is the file containing the files to be hidden.
"output.jpg" is the output file that we want. It contains the hidden files, but looks like an image

After executing the following comm
and, we will see an extra image called "output.jpg" created in the same directory.(Note that its size is size of image.jpg +size of hide.rar)

Now you can delete all the files except "output.jpg". If you double click the file, it opens a normal image. But you can see the hidden files by opening the file with winrar.(Right Click->Open With->Choose WinRar.)

Thats It! Now you can send this image to anyone, what others will see is just a regular image but if the recipient knows, s/he will be able to access any secret information privately.This tutorial can be used for any type of files like mp3,wmv,txt etc. since anything can be put into a Rar file.
Although you may want to keep the files to be hidden as small as possible since it wouldnt be very subtle if you try hiding a 15 Gb setup file for the game Crysis 3 behind a 5Kb smiley picture.

  
Read more »

Friday, February 13, 2015

Reading ERS ASAR Data and Creating Quicklooks

In this previous post it was described how gdal reads Radarsat SAR data. I want to read ERS /ASAR data and create quicklooks for each file.

ERS /ASAR data has different formats, files ending with *.001 , *.E1, *.E2 or *. N1  Gdal can read all these formats, also the *.001 files which not all software reads. For the latter, the "DAT_01.001" is the file to be passed to gdal.

As first step, I create a list containing all files with these endings. I use os.walk to recursively search through all folders:

filelist_CEOS = []
for root, dirnames, filenames in os.walk(Z:\ERS_Envisat_SAR\Arctic\2005):
for filename in fnmatch.filter(filenames, DAT_01.001):
filelist_CEOS.append(os.path.join(root, filename))

filelist_E1E2 = []
for root, dirnames, filenames in os.walk(Z:\ERS_Envisat_SAR\Arctic\2005):
for filename in fnmatch.filter(filenames, *.E1):
filelist_E1E2.append(os.path.join(root, filename))
for root, dirnames, filenames in os.walk(Z:\ERS_Envisat_SAR\Arctic\2005):
for filename in fnmatch.filter(filenames, *.E2):
filelist_E1E2.append(os.path.join(root, filename))
for root, dirnames, filenames in os.walk(Z:\ERS_Envisat_SAR\Arctic\2005):
for filename in fnmatch.filter(filenames, *.N1):
filelist_E1E2.append(os.path.join(root, filename))

gdalwarp is able to read all of this formats and I can proceed to process all the files from this filelist, calling gdalwarp from within a Python script. This map-projects the raw SAR file and creates a GeoTIFF:


os.system(gdalwarp -tps  -t_srs EPSG:32633  + file_from_filelist +   + outputfilename )  


For a small quicklook a convert it to jpeg and make it smaller:
os.system(gdal_translate -of JPEG -ot byte -outsize 20% 20% -scale 0 1000 0 255  + outputfilename +   + browseimage )

The whole script reading in all ERS /ASAR images and creating a quicklook can be found here and is hopefully documented well enough.


Read more »

Tuesday, February 10, 2015

Reading Raster Data with Python and gdal

I am trying to learn Python for Geoprocessing. Here are some very basic notes on "playing" with Python/gdal/ogr. The online documentation is, I must say, rather confusing, so I try it step by step at the command line as below.

I follow the very useful lecture notes at http://www.gis.usu.edu/~chrisg/python/2009/ and the tutorial at http://www.gdal.org/gdal_tutorial.html

Importing both gdal and gdalconst; just "import gdalconst" does not work (and I dont understand why right now...):

    >>> import gdal
    >>> from gdalconst import *


Defining the filename (assuming its located in the current working directory of python -- use os.getced and os.chdir):

    >>> filename = ERS1PRI_19920430o04133tr481fr1989_AppOrb_Calib_Spk_SarsimTC_LinDB.tif

Now the file can be opened, the driver only needs to be imported for write-access if I understand correctly:

    >>> dataset = gdal.Open(filename, GA_ReadOnly)

Typing "dataset" shows the pointer to the opened file:

    >>> dataset
    <osgeo.gdal.Dataset; proxy of <Swig Object of type GDALDatasetShadow * at 0x0000000003550EA0> >
>>>


Various information can be retrieved from the opened file:

    >>> cols = dataset.RasterXSize
    >>> rows = dataset.RasterYSize
    >>> bands = dataset.RasterCount
    >>> driver = dataset.GetDriver().LongName

    >>> cols
    7257
    >>> rows
    7226
    >>> bands
    1
    >>>driver

    GeoTIFF
    >>>

Geoinformation can be retrieved with GetGeoTransform().

>>> geotransform = dataset.GetGeoTransform()

The variable "geotransform" now contains a list with Geoinformation:

    >>> geotransform
    (368745.92379062285, 20.0, 0.0, 8828671.611738198, 0.0, -20.0) 


The answer to what these values mean are found in the documentation:

    adfGeoTransform[0] /* top left x */
    adfGeoTransform[1] /* w-e pixel resolution */
    adfGeoTransform[2] /* rotation, 0 if image is "north up" */
    adfGeoTransform[3] /* top left y */
    adfGeoTransform[4] /* rotation, 0 if image is "north up" */
    adfGeoTransform[5] /* n-s pixel resolution */


and one can retrieve a single value from this list for example with

    >>> originX = geotransform[0]
    >>> originY = geotransform[3]
    >>> pixelWidth = geotransform[1]
    >>> pixelHeight = geotransform[5]
    >>> originX
    368745.92379062285
    >>> originY
    8828671.611738198
    >>> pixelWidth
    20.0
    >>> pixelHeight
    -20.0 


But how to get the individual data values in the file?

Get the band and read the first line:

    >>> band = dataset.GetRasterBand(1)

    >>> bandtype = gdal.GetDataTypeName(band.DataType)
    >>> bandtype
    Float32
    >>> scanline = band.ReadRaster( 0, 0, band.XSize, 1,band.XSize, 1, band.DataType)




Since I was not sure what the "ReadRaster" parameters meant, google led me to this useful page:

The ReadRaster() call has the arguments: def ReadRaster(self, xoff, yoff, xsize, ysize, buf_xsize = None, buf_ysize = None, buf_type = None, band_list = None ): The xoff, yoff, xsize, ysize parameter define the rectangle on the raster file to read. The buf_xsize, buf_ysize values are the size of the resulting buffer. So you might say "0,0,512,512,100,100" to read a 512x512 block at the top left of the image into a 100x100 buffer (downsampling the image).
which I found here

Typing "scanline" gives me long lines of this:

    >>> scanline
    `Bxa2x8d`Bxa2x8d`Bxa2x8d`Bxa2x8d`Bxa2x8d`Bxa2x8d`Bxa2x8d`Bxa2x8d`Bxa2x8d`.........


Note that the returned scanline is of type string, and contains xsize*4 bytes of raw binary floating point data. To convert this into readable values use struct.unpack and instead you get long lines of float numbers:

    >>> import struct
    >>> value = struct.unpack(f * band.XSize, scanline)
    >>> value
    (-1.0000000031710769e-30, -1.0000000031710769e-30, -1.0000000031710769e-30, -1.0000000031710769e-30, -1.0000000031710769e-30, -1.0000000031710769e-30, -1.0000000031710769e-30, -1.0000000031710769e-30, -1.0000000031710769e-30, ....


Now I can get individual values, but all are in "one line" and not in an array:

     >>> value[8]
    -1.0000000031710769e-30


I rather read the whole file into an array:

    >>>data = band.ReadAsArray(0, 0, cols, rows)
    >>> value = data[3500,4000]
    >>> value
    -8.30476 


Using the numpy library I can define the datatype in the array:
   >>> import numpy
   >>> data = band.ReadAsArray(0, 0, dataset.RasterXSize, dataset.RasterYSize).astype(numpy.float)
   >>> value = data[3500,4000]
   >>> value
   -8.3047599792480469
   >>>


One has  to be careful not confusing column and rows! Matrix is value = data[row, column], and it starts with 0, so the value -8.30476 is located at y=row=3501 and x=column=4001.

To be continued....
Read more »

Thursday, February 5, 2015

Android beginner tutorial Part 58 Send and receive data between Activities

In this tutorial well learn how to transfer data between two Activities.

We are going to have two activities - MainActivity and SecondActivity. Ive already covered how to create secondary Activities in the tutorial about Intents. I explained how to do that in detail in that tutorial, so if you followed my tutorials you should be able to do that. A reminder: add an Activity in the Manifest XML file and add a SecondActivity.java class and an activity_second.xml layout.

The main activity is going to have a button that opens a new Activity. However, it launches it with an intention to receive a result. This is done using a startActivityForResult() method. By doing it that way we tell our main activity to expect a result from the Activity were launching. In the second activity well have an EditText input and a button. When the button is pressed, the data in the text field is sent back to the main activity and the second activity is closed.

When the main activity receives the message, it displays it in a toast.

Lets see how we are going to do this. Firstly, go to activity_main.xml layout and add a button:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity" >

<TextView android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="32sp"
android:text="First Activity"
/>

<Button android:id="@+id/goButton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Launch Second Activity"
/>

</LinearLayout>

In MainActivity.java declare an ID for the request:

private static final int IDM_TEST = 101;

Use it when you call startActivityForResult() in the click event handler of the button:

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

final Button btn = (Button)findViewById(R.id.goButton);
btn.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View v) {
Intent intent = new Intent();
intent.setClass(getApplicationContext(), SecondActivity.class);
startActivityForResult(intent, IDM_TEST);
}
});
}

The request is sent, but what about receiving the results?

Create a function onActivityResult(). Call its superclass and then check if resultCode parameter equals RESULT_OK. That means weve received a result as expected.

Inside the if...statement declare an "extras" variable, which is a Bundle type object and gets its values from data.getExtras().

Then we check if requestCode parameters value equals IDM_TEST (the id we passed when requesting the result), and if so, toast the results using the extras object:

protected void onActivityResult(int requestCode, int resultCode, Intent data){
super.onActivityResult(requestCode, resultCode, data);
if(resultCode == RESULT_OK){
Bundle extras = data.getExtras();
// handle results
if(requestCode == IDM_TEST){
Toast toast = Toast.makeText(MainActivity.this, extras.getString("UserText"), Toast.LENGTH_SHORT);
toast.show();
}
}
}

Full MainActivity.java code:

package com.kircode.codeforfood_test;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;

public class MainActivity extends Activity{

private static final int IDM_TEST = 101;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

final Button btn = (Button)findViewById(R.id.goButton);
btn.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View v) {
Intent intent = new Intent();
intent.setClass(getApplicationContext(), SecondActivity.class);
startActivityForResult(intent, IDM_TEST);
}
});
}

protected void onActivityResult(int requestCode, int resultCode, Intent data){
super.onActivityResult(requestCode, resultCode, data);
if(resultCode == RESULT_OK){
Bundle extras = data.getExtras();
// handle results
if(requestCode == IDM_TEST){
Toast toast = Toast.makeText(MainActivity.this, extras.getString("UserText"), Toast.LENGTH_SHORT);
toast.show();
}
}
}

}

The activity_second.xml layout has an EditText object and a Button:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity" >

<TextView android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="32sp"
android:text="Second Activity"
/>

<EditText android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Write something here..."
android:id="@+id/editText"
/>

<Button android:id="@+id/backButton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="OK"
/>

</LinearLayout>

In SecondActivity.java class, we only need to handle the button. When it is clicked, we create an intent and use a method called setResult(). To pass the values to the parent activity we can use the putExtra() method of the intent. It has 2 parameters - name and value.

package com.kircode.codeforfood_test;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;

public class SecondActivity extends Activity{


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);

final Button btn = (Button)findViewById(R.id.backButton);
btn.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View v) {
EditText text = (EditText)findViewById(R.id.editText);

Intent intent = new Intent();
intent.putExtra("UserText", text.getText().toString());
setResult(RESULT_OK, intent);
finish();
}
});
}

}

Thats all! Now you can go to the second activity from your main one, enter some text, return to the main activity using the button and see the main activity display the data received from the second one.

Thanks for reading!
Read more »

Tuesday, February 3, 2015

BACKSTAB apk data Download Paid Android Games For Free

BACKSTAB HD

Android Game for Smartphones and Tablets. 

Download Android Games 

Download Android Games For Free

Henry Blake was the honorable officer in britain navy once. But now he is a broken man whose life is stripped away,sheltered,imprisoned ,dark . His wife and his life was taken away from him. Help him to find justice ,revenge while playing game with technics. Climbing , jumping,sneaking to reach the target. Find different combos,deadly fighting skills to defeat your enemies and anyone who came into the way to stop . Android game BackStab is based on revenge and finding justice. Magnificent 3D environment to explore the full island freely. The Android game will allow you to explore the 18th century caribbean island. 
 Download paid android game for free to enjoy the stunning graphics and amazing story full with revenge. 

ScreenShots BackStab Game.



Download  Android Games For Free



Download Android Games For Free

Download Android Games For Free

Download Android Games For Free

Download Android Games For Free

Installation Requirements :


Android OS: 2.1 and Up
Version : 1.2.6
apk size:1.5 M
Data size: 594MB
Author : Gameloft

image by google play store. 

Download Android Games from Google Play Store




All the characters,fiction,logos,ideas are property of gameloft and their respected owners.
Read more »

Monday, February 2, 2015

Data sharing between two Android applications

In this tutorial Im going to illustrate how we can share data between two Android applications using Shared Preference.
To implement this I used two Android applications. One is "Datawriter" and the other one is "Datareader".
"Datawriter" is to update shared data. Its package name is com.writer.data class name is DataWriterActivity . Here is the code for DataWriterActivity class.

package com.writer.data;

import android.app.Activity;
import android.content.Context;
import android.content.SharedPreferences;
import android.os.Bundle;

public class DataWriterActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
dataWriter();
}

public void dataWriter(){
String strShareValue = "Hello! this is shared data";
SharedPreferences prefs = getSharedPreferences("demopref",Context.MODE_WORLD_READABLE);
SharedPreferences.Editor editor = prefs.edit();
editor.putString("demostring", strShareValue);
editor.commit();
}
}

dataWriter method will write the string Hello! this is shared data to a shared memory.

Next application is to read shared data. The application name is  Datareader and its package name is com.datareader class name is DataReaderActivity. Here is the code for DataReaderActivity class.
package com.datareader;

import android.app.Activity;
import android.content.Context;
import android.content.SharedPreferences;
import android.content.pm.PackageManager.NameNotFoundException;
import android.os.Bundle;
import android.util.Log;
import android.widget.TextView;

public class DataReaderActivity extends Activity {
String dataShared;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
dataRead();
TextView tv = (TextView)findViewById(R.id.textView1);
tv.setText(dataShared);

}

public void dataRead(){
Context con;
try {
con = createPackageContext("com.writer.data", 0);
SharedPreferences pref = con.getSharedPreferences("demopref", Context.MODE_PRIVATE);
dataShared = pref.getString("demostring", "No Value");
}
catch (NameNotFoundException e) {
Log.e("Not data shared", e.toString());
}
}
}

"com.writer.data" in the highlighted line is the package name of the first application which we used to share data.
Following is the out put of second application :

Read more »

Migrating custom fields from Drupal 6 Data reporting and visualization in Drupal 7

Learn how to migrate custom fields from Drupal 6 to Drupal 7 in this video tutorial. This is from the Drupal 7: Reporting and Visualizing Data training course by lynda.com. Visit the course details page to learn more. Visitors of this site can also get a free 7-day trial pass for complete access to the entire lynda.com library of over 1000 courses.

Migrating custom fields from Drupal 6


[COURSE DETAILS PAGE] | [FREE 7-DAY TRIAL]
Read more »

Saturday, January 31, 2015

How to Recover Data in Urdu Hindi Tutorials

Posted ImagePosted ImagePosted ImagePosted ImageDATA RECOVERYPosted ImagePosted ImagePosted Image


The history of DATARECOVERY dates from 1991, when we first applied our experience with data processing toward the recovery of digital data. Subsequently, the growing demand for such ability led to the commitment of our services to data analysis, processing and recovery.

       Data Recovery is not an easy task. Recovering critical data is a dedicated process that requires the right software, hardware and advanced methods in the hands of right recovery engineers. In order to save yourself from the problem of data lost, you must keep a backup of your important data. Backing up is the process of making and keeping copies of data at a desired destination, which may be used to restore the original in case of mishap of data loss. You should always keep multiple copies of files in data storage, so that if your original copy gets lost or damaged then you can easily get back your important file from backup.

Data loss may occur due to various reasons:
Accidentally deletion of files and folders
Human error
Physical damage of hard drive
Virus attack
System failure
         Data is stored in Hard disk, an essential part of a computer system, which is also called HDD, Disk Drive, Hard Drive etc. If your hard disk is damaged, you will lose your data and you are left with one choice, that is, to repair the hard drive by de-fragmenting the operating system. It is possible that due to de-fragmentation some files gets overwritten and your problem may get higher. So, you need to be very careful. Data recovery software is an incomparable option in such a case. Hard drive recovery software can be used to perform recovery of data from any type of failure of hard drive such as crashed, damaged, corrupted, deleted, formatted and many more complex failures.

           The experts of Hard drive data recovery will decide whether the problem is physical, logical or both. Physical problem occur in the hardware and logical problem occur on software configuration. Once it is decided that problem is physical then the accessibility of solution will be determined. If the hard drive data recovery experts obtain access to the drive, then they will create a sector by sector mirror image of the hard disk to their equipment where the process will continue. An assessment of the condition of the data structure will follow, as well as the identification of how much of the information is retrievable. When the hard drive data recovery assessment process is done, the results of the hard drive data recovery will be given.



Read more »

Wednesday, January 28, 2015

Android beginner tutorial Part 31 Displaying data using AdapterView widgets

Today well learn the mechanics behind displaying text data in list widgets.

There are multiple list type widgets in Android. The most common ones are ListView, GridView, and Spinner (Gallery and SlidingDrawer classes once were a part of this list, but now they are deprecated). They are all subclasses of AdapterView class, which is a view whose children are determined by an Adapter.

If you read my previous tutorials, you already know that an Adapter is a bridge between a data provider and the widget that displays the data. It provides access to each element of the data and also takes care of displaying each item in the data by creating View objects.

All the AdapterView subclasses are containers that displays the given data in a specific way and handles all the user interaction events with each of the children, that are generated from the data.

There are multiple variations of the Adapter class for specific uses. For example, we already know about the ArrayAdapter - it lets us use the data from an array to display it in a widget (in the previous tutorials, we displayed it in AutoCompleteTextView and MultiAutoCompleteTextView objects).

Another common adapter is CursorAdapter, which is used for reading and displaying data from Cursor objects. A Cursor is an interface that provides read-write access to the resulted data returned from a database query.

It is possible to create your own custom Adapter classes for more specific needs. It is also possible to create your own AdapterView classes, which display the provided data.

The AdapterView class is the base class for AbsListView and AbsSpinner classes. The AbsListView class can be extended to display data in a list-type way - it is used in ListView and GridView components. The AbsSpinner class is used for dropdown lists in Spinner widget.

Thats the basic idea behind displaying provided data in list widgets.

We are now able to start learning separate list widgets in detail.

Thanks for reading!
Read more »

Tuesday, January 27, 2015

How to Your Data Full Protect in Urdu Hindi




USB Block:


USB Block is a data leak prevention tool. It prevents leakage and copy of your data to USB Drives, External Drives, CDs/DVDs or other such portable devices. Once installed, USB Block lets you block all such drives and devices that do not belong to you. With USB Block, you can share your PC with anyone without fear of data theft. USB Block also lets you create a list of devices and drives you authorize with a password so that only your USB drives or CDs can be accessed on your computer.






اسلام علیکم! کیا آپ چاہتے ہیں کہ آپ کے سسٹم سے کوئی آپ کی غیر موجودگی میں ڈیٹا چوری نہ کرے



اگر ہاں تو پھر آپ انسٹال کریں (یو ایس بی بلاک) اس سوفٹ ویئر کو انسٹال کرنے کے بعد کوئی آپ کے سسٹم ڈیٹا چوری نہیں کرسکے گا کیونکہ اس سوفٹ ویئر میں شامل ہیں۔



بلاک یو ایس بی ڈیوایس: جس کے زریعے آپ یو ایس بی ڈرائیو، میموری کارڈ اور دوسرے ایکسٹرنل ڈرائیو کو بُلاک کرسکتے ہیں۔



بُلاک سی ڈی ، ڈی وی وی اور فلوپی: جس کے زریعے آپ سی ڈی ، ڈی وی وی اور فلوپی ڈرائیور کو بُلاک کرسکتے ہیں۔


بلاک نیٹ ورک تک رسائی: جس کے زریعے آپ نیٹ ورک تک رسائی کو بُلاک کرسکتے ہیں۔یعنی اگر آپ چاہتے ہیں کہ نیٹ ورک میں دوسرے پی سی آپ کے سسٹم تک رسائی نہ کریں تو اس کےلیے آپ یہ آپشین استعمال کرسکتے ہیں۔



DOWNLOAD 


DOWNLOAD




Read more »