Showing posts with label Downloads. Show all posts
Showing posts with label Downloads. Show all posts

Tuesday, 9 December 2014

Apple picks the best apps and games of 2014

Apple released its annual list of best apps and games. If you're not sure what to download with your brand new iPhone 6 or iPhone 6 Plus, this list a great place to start.
Elevate, a brain training app, takes the coveted "App of the Year" award for 2014 with Hyperlapse as a close runner-up. Yahoo! also got recognition for its News Digest app which gives short summaries of a handful of the day's biggest stories.
elevate brain training
In terms of games, Threes! takes the "Game of the Year" award for 2014. The game was so successful this year that it spawned a ton of copycats including a version based on the "doge" memeLeo's Fortune gets a shout out as a runner-up for game of the year. My personal favorite iOS game of the Year, Monument Valley, is also included in the list. If you haven't played it, now's a good time since an expansion was recently released for the game.
SwiftKey for iPhone sunset
Other notable winners in Apple's best apps of 2014 include SwiftKey, an intelligent keyboard that learns how you type. Password manager 1Password made the list too. If you're not sure which password manager you should use, check out our in-depth comparison. Facebook's Paper app also made the list for its intuitive swipe navigation, helping to distill Facebook into its most important parts.
Indie developer Mediocre made the list as well with its addictive game, Smash Hit. The game also made my list of best free iPad games. I got to interview them during this year's GDC about Android piracy so check that out. Rovio's new game, RETRY, also made the list. Be warned, you'll be cursing at your phone playing this incredibly difficult game.
Softonic also has a list of the best apps of 2014 so stay tuned for our complete list.
Source: iTunes

JS-Recon a HTML5 based JavaScript Network Reconnaissance tool

What is JS-Recon?
JS-Recon is a network reconnaissance tool written in JavaScript by making use of HTML5 features like Cross Origin Requests(CORs) and WebSockets
Currently supported functionality:
  • Port Scans
  • Network Scans
  • Detecting private IP address
Supported Browsers:
It works on the latest versions of Chrome, Safari and Firefox that support CORs and WebSockets.
Use it on Chrome and Safari for best results. Firefox throws exceptions sometimes when scanning through COR, not sure why this happens. Scans using WebSockets work properly though.
Currently it has been tested only on Windows XP and Win7 systems. Behavior could differ on Linux and Mac
How does it work?:
Cross domain XHR has five possible readystate statuses and WebSocket has four possible readystate statuses. When a new connection is made to any service the status of the readystate property changes based on the state of the connection. This transition between different states can be used to determine if the remote port to which the connection is being made is either open, closed or filtered.
* Port Scanning:


When a WebSocket or COR connection is made to a specific port of an IP address in the internal network the initial state of WebSocket is readystate 0 and for COR its readystate 1. Depending on the status of the remote port, these initial readystate statuses change sooner or later. The below table shows the relation between the status of the remote port and the duration of the initial readystate status. By observing how soon the initial readystate status changes we can identify the status of the remote port.
There are some limitations to performing port scans this way. The major limitation is that all browser’s block connections to well known ports and so they cannot be scanned. The other limitation is that these are application level scans unlike the socket level scans performed by tools like nmap. This means that based on the nature of the application listening on a particular port the response and interpretation might vary.
There are four types of responses expected from applications:
  1. Close on connect: Application terminates the connection as soon as the connection is established due to protocol mismatch
  2. Respond & close on connect: Similar to type-1 but before closing the connection it sends some default response
  3. Open with no response: Application keeps the connection open expecting more data or data that would match its protocol specification
  4. Open with response: Similar to type-3 but sends some default response on connection, like a banner or welcome message


The behavior of WebSockets and COR for each of these types is shown in the table below.
* Network Scanning:


The port scanning technique can be applied to perform horizontal network scans of internal networks. Since both an open port and a closed port can be accurately identified, horizontal scans can be made for specific ports that would be allowed through the personal firewalls of most corporate systems.
Identification of an open or closed port would indicate that a particular IP address is up.
Ports like 445 or 3389 are ideal for such purpose as these are usually allowed across personal firewalls of desktop systems. It has been found that port 445 is of Application type-1 on Windows 7 and can be detected whether it is open or closed. However port 445 on Windows XP and port 3389 are of application type-3 and the host can only be detected if these ports are closed on such systems.
* Detecting Private IP Address:


Most home user’s connected to WiFi routers are given IP addresses in the 192.168.x.x range. And the IP address of the router is often 192.168.x.1 and they almost always have their administrative web interfaces running on port 80 or 443.
These two trends can be exploited to guess the private IP address of the user in two steps:
Step 1: Identify the user’s subnet
This can be done by scanning port 80 and/or 443 on the IP addresses from 192.168.0.1 to 192.168.255.1. If the user is on the 192.168.3.x subnet then we would get a response for 192.168.3.1 which would be his router and thus the subnet can be identified.

Step 2: Identify the IP address
Once the subnet is identified we scan the entire subnet for a port that would be filtered by personal firewalls, port 30000 for example. So we iterate from 192.169.x.2 to 192.168.x.254, when we reach the IP address of the user we would get a response (open/closed) because the request is generated from the user’s browser from within his system and so his personal firewall does not block the request.
Limitations:
Blocked Ports:
To avoid Cross Protocol exploitation almost all popular browsers block connections to certains well known ports. Due to this the status of these ports cannot be determined.
Linear Scanning:
The determination of port status is based on timing of the readyState status changes. Opening multiple simultaneous connections interferes with this timing leading to unreliable results. Hence to avoid such situations all scans are performed one port at a time.
Internal Networks Only:
As stated above, timing is critical to identification of port status. Depending on the location of the target device this timing could vary. JSRecon has been tuned to scan internal networks with very low turn around time. Scanning external networks would require only two minor changes - values of the variables open_port_max and closed_port_max must be suitable updated.


Monday, 10 November 2014

Rock, Paper, Scissors Game in JAVA.

The most loved and played game among the children's is here with JAVA. As the game is simple so is the code. It is based on simple switch...case...default. structure. It is programmed by me within 15 mins as the idea came to my mind

Game Play Instructions :
It is simple. Just enter "rock" or "paper" or "scissor" and the program calls the random functions which in turn uses the computers internal clock to get a random value. As we know that the random function in java returns a value greater than 0.00 and less than 1.00 I have multiped the value to get an integer between 1-3 which i used in the switch...case...default.

Snapshot: 

Source Code:

Sunday, 9 November 2014

JTar : Java Tar library to create and read tar files using IO streams

Overview

JTar is a simple Java Tar library, that provides an easy way to create and read tar files using IO streams. The API is very simple to use and similar to the java.util.zip package.

Usage

Tar example - using TarOutputStream
   // Output file stream
   FileOutputStream dest = new FileOutputStream( "c:/test/test.tar" );

   // Create a TarOutputStream
   TarOutputStream out = new TarOutputStream( new BufferedOutputStream( dest ) );

   // Files to tar
   File[] filesToTar=new File[2];
   filesToTar[0]=new File("c:/test/myfile1.txt");
   filesToTar[1]=new File("c:/test/myfile2.txt");

   for(File f:filesToTar){
      out.putNextEntry(new TarEntry(f, f.getName()));
      BufferedInputStream origin = new BufferedInputStream(new FileInputStream( f ));

      int count;
      byte data[] = new byte[2048];
      while((count = origin.read(data)) != -1) {
         out.write(data, 0, count);
      }

      out.flush();
      origin.close();
   }

   out.close();
Untar example - using TarInputStream
   String tarFile = "c:/test/test.tar";
   String destFolder = "c:/test/myfiles";

   // Create a TarInputStream
   TarInputStream tis = new TarInputStream(new BufferedInputStream(new FileInputStream(tarFile)));
   TarEntry entry;
   while((entry = tis.getNextEntry()) != null) {
      int count;
      byte data[] = new byte[2048];

      FileOutputStream fos = new FileOutputStream(destFolder + "/" + entry.getName());
      BufferedOutputStream dest = new BufferedOutputStream(fos);

      while((count = tis.read(data)) != -1) {
         dest.write(data, 0, count);
      }

      dest.flush();
      dest.close();
   }
   
   tis.close();
Tip: Always use buffered streams with jtar to speed up IO.

Featured
 Downloads

Examples and resources
  • See JTarTest class, provided with the source, for more detailed examples.
  • Visit the wiki page for more details on Tar format
Please report bugs to the project owner