Saturday, February 22, 2014

The Bane Javascript Cracker

Uses Javascript to "randomly" test passwords to find the corresponding password and username. Can be run directly from a web browser.

Tuesday, February 18, 2014

High Speed Password Dictionary Generator

 
Creates a text file
 

Histogram based Motion Detection

Motion tracking is a useful tool. This post demonstrates motion tracking in Processing and shows it in use.
3 Main Programs will constitute the project:
  1. A program to capture images and store them just as in the post on Creating a High Magnitude FPS Camera using webcams
  2. A program to generate  histograms. These histograms use the highest brightness value in a column of pixels within the image.
  3. A program to compare histograms of an image and the image that precedes or follows it. This program will also have a method of telling the user that movement has been detected.
First: A program to capture images from a camera and store them in a plain image format:
import processing.video.*;
float a=0;
Capture dacam;

void setup() {
  size (320,240);
  dacam= new Capture(this, 320, 240, 30);
  dacam.start();


}

void draw(){

  if(dacam.available()) {
    dacam.read();
  }
  a=a+1;
  image(dacam, 0, 0);
  save(a+".png");

}

Then a program to load these images and generate a histogram.The histogram is useful because it does not require sampling of all pixels and then using a cross referencing algorithm. For our histogram the  line # of the text file will be the x cooardinate and the value stored in that line will be the value contained in the line:
size(640, 360);

PImage img = loadImage("9.0.png");
image(img, 0, 0);
int[] hist = new int[256];


for (int t = 0; t < img.width; t++) {
  for (int r = 0; r < img.height; r++) {
    int bright = int(brightness(get(t, r)));
    hist[bright]++; 
  }
}

int histMax = max(hist);

stroke(255);

for (int t = 0; t < img.width; t += 1) {
  int which = int(map(t, 0, img.width, 0, 255));

  int y = int(map(hist[which], 0, histMax, img.height, 0));
  line(t, img.height, t, y);
}


Finally a program to compare histograms and tell the user whether movement is detected:


float r=0;
void setup() {
  size(600,50);
  String one[]=loadStrings("lines.txt");
  String two[]=loadStrings("lines2.txt");
  println(one.length);
  println(two.length);
  for( int t=0;r<one.length;r++){
    if(one[t] != two[t]) {
      textSize(50);
     text("MOVEMENT DETECTED",10,40);
}
}
}
 
Histogram mapping is excellent for Astronomical event detection. This is an image of the Crab Nebula also known as M1, NGC 1952, or Taurus A.
 
Display Message when movement is detected 

Browse Twitter Integration

Added custom Google search for twitter feeds:


Monday, February 17, 2014

High Magnitude FPS Camera Using a WebCam and Parrallel Processing


High speed cameras are ussually very expensive; right around 7,000 dollars. This home-made method costs only $30

Before beginning please note that image files will be dumped into the directory of where the processing sketch is, therefore place it in a folder to avoid overloading you're desktop.
 
import processing.video.*;
float a=-2;
Capture dacam;

void setup() {
  size (320,240);
  dacam= new Capture(this, 320, 240, 30);
  dacam.start();

}
void draw(){

  if(dacam.available()) {
    dacam.read();
  }
  a=a+2;
  image(dacam,0,0);
} 

The above code only captures the video and does not store it. For storage the successive images will be stored 0 through X as .png(Portable Network Graphics) files since these available for screen images in processing. The camera library takes a little while for the camera application to load, 2 frames, so changing the code by setting a to -2 will make all blank files negative and easily deleted. Once implemented, the new code reads:

import processing.video.*;
float a=-2;
Capture dacam;

void setup() {
  size (320,240);
  dacam= new Capture(this, 320, 240, 30);
  dacam.start();

}
void draw(){

  if(dacam.available()) {
    dacam.read();
  }
  a=a+2;
  image(dacam,0,0);
  save(a+".png");

}

 
 Now to complete the setup multiple cameras need to be involved, and adding more computers makes this easier. The reason can be explained through a simple experiment. Say there is a camera with an fps of 60. Now there is an identical camera with 60 fps. Combining the two by slightly offsetting their start times allows you to double you're fps. The more cameras, the more fps, Aiming them at the same region and keeping the close together provides higher fps on a specific region and a simple cropping algorithm crops only that region.



The cameras used had capture rates of 30 fps. To offset them take 1000milliseconds/30fps and offset the code by that which arrives at:
import processing.video.*;
float a=-2;
Capture dacam;

void setup() {
  size (320,240);
  dacam= new Capture(this, 320, 240, 30);
  dacam.start();

}
void draw(){
if (millis()>(1000/30)) {
  if(dacam.available()) {
    dacam.read();
  }
  a=a+2;
  image(dacam,0,0);
  save(a+".png");
}
}



Now the two peices of code for the two different cameras:

import processing.video.*;
float a=-2;
Capture dacam;

void setup() {
  size (320,240);
  dacam= new Capture(this, 320, 240, 30);
  dacam.start();

}
void draw(){
if (millis()>(1/30)) {
  if(dacam.available()) {
    dacam.read();
  }
  a=a+2;
  image(dacam,0,0);
  save(a+".png");
}
} 
 
And:
import processing.video.*;
float a=-2;
Capture dacam;

void setup() {
  size (320,240);
  dacam= new Capture(this, 320, 240, 30);
  dacam.start();

}
void draw(){

  if(dacam.available()) {
    dacam.read();
  }
  a=a+3;
  image(dacam,0,0);
  save(a+".png");
} 
This shows the two folders comparatively. Combining them doubles the frame rate. Sort the folder by file name and the images will be in order.
   


Castle CGI



All files created in Blender

The Moonwalk


Sunday, February 16, 2014

Boot Lock Screen

A Secure lock screen application:


Code:
Public Class Form1

    Private Property alp As Boolean

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        Me.ShowInTaskbar = False
        Me.FormBorderStyle = Windows.Forms.FormBorderStyle.None
        Me.TopMost = True
        Me.MaximizeBox = True
        alp = False
    End Sub

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Button1.BringToFront()
        If TextBox1.Text = "pass" Then
            My.Computer.Audio.Play("C:\w.wav")
            alp = True
        End If

    End Sub



    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        If alp = False Then
            Button2.SendToBack()
        End If

        If alp = True Then
            Button2.BringToFront()
            Close()


        End If
    End Sub
End Class


NK Public Server

North Korea rents their public government server from lease web

Tornado Generator



Tornado generator and created Tornado Differential equations to relate speed and other features as shown in frat image of the TDE graph

Convolution Algorithm

The leftmost images are the convoluted images with the rights being the originals.

 
PImage img;
int a, b;

void setup() {
  size(900, 900);
  img = loadImage("sun.png");
  a = 8;
  b = 30;
  imageMode(CENTER);
  noStroke();
  background(255);
}

void draw() { 
  float pixel = map(25, 0, width, a, b);
  int x = int(random(img.width));
  int y = int(random(img.height));
  color pix = img.get(x, y);
  fill(pix, 128);
  rect(x, y, pixel, pixel);
}
These two images were creating using the above image convolution algorithm written
in processing.

Order-able Claw

Order-able claw build for robot

Chip Coolant System

A passive CPU cooling system that utilizes evaporative properties of a liquid. Glass allows for excellent heat conductivity to transfer energy into the fluid.

Synthetic Bone Synthesis


Supplies:


N Gravity Heat Mapper

An N Gravity Simulation that utilizes the heat mapper to show tensor levels on the space-time continuum.

3 D values calculated at each point and stored as a .txt list

Exporting .OBJ from Blender

Without materials, these export settings will export a .blend file as a .obj correctly.


A New Series: The Random Pascalian Series

1
10
104
1047
10479
104794
1047941
10479411
104794117
1047941171
10479411718
104794117187
1047941171878
10479411718789
104794117187891
1047941171878915
10479411718789154
....
The Random Pascalian Series, as I have dubbed this, adds a random integer from 0 through 9 to add to the rightmost section of the string. A generic graph:


Of Course this is problematic because during each iteration the number gains a whole new power as in 10x therfore taking the logarithm(base 10) of each succesive iteration creates a linear pattern ( due to the random function this is not truly linear). Here it is:
For more information on binary random functions see my post Binary Randoms Aren't.

Lasers and Glass


 The light-bulb above is, of course, not plugged in. Iridescence is supplied by the refraction of a laser light within the glass and internal air. A blue laser would have even more refraction, however these are usually not available commercially.  Below is a light projection of D.C. using laser carved glass. The light is aimed through this glass(the center) and refraction along the internal cuts and fractures causes higher dispersion which creates the dark projections.

Saturday, February 15, 2014

Timers and Server Login Security

Many sites use timing mechanisms to deter botnets or lone systems from attempting to use brute force to find a correct user name and password combination. This security method is completely ineffective. Even a JavaScript user-pass cracker can be made to wait 1000 milliseconds, in order to be identified as users rather than heuristic attackers. This exploit works especially well on large servers which are designed to accommodate heavy traffic, and therefore often do not separate noise from an attack.

Binary Randoms Aren't

The random number generator output taken over time demonstrates the generic f(x)=sin(x) graph. This implies that the "random" function is time based, and simply uses the current time as the random number. The wave behavior arises from the repetition of counting systems which clear and restart after a given time period. For instance in base 10:
1,2,3,4,5,6,7,8,9,,1,2,3,4,5,6,7,8,9... Would repeat causing a half wave function as shown above.
The Program, written in Visual Studio 2012 shown here in designer is backed by this code:


Imports System.Text
Imports System.IO

Public Class Form1

    Private Property File As StreamWriter

    Sub Main()

        Dim t As String = "0123456789"
        Dim r As New Random
        Dim s As New StringBuilder
        For i As Integer = 1 To (1)
            Dim idx As Integer = r.Next(0, 10)
            s.Append(t.Substring(idx, 1))
            Val.Text = s.ToString
            File = My.Computer.FileSystem.OpenTextFileWriter("C:/Users/Desktop/9.txt", True)
            File.WriteLine(Val.Text)
            File.Close()


        Next

    End Sub

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Main()
    End Sub
End Class

Rather than use times simply holding the enter key constantly collects randgen output.

Pass Cracking with Teensyduino

 
The Teensyduino can easily  be coded with the Arduino IDE to create custom user interface devices. Using a simple dictionary or a random number generator the Teensy can easily be used as a password cracker, or for overloading data systems.

Shown above the script only runs through two different phrases infinitesimally. Data output runs through the micro-usb port. This requires the installation of the Teensy drivers available at the Teensy website.
 
const byte hello = 2
char* names[hello]=
"hi","hello"
};

void setup(){
  Serial.begin(9600);
}
void loop(){
  keyboard.print(names[random(0,hello)]);
}
 
 
 

Sizer App

 Demonstration of Sizer using a 50% size reduction of a .png
A simple application to resize any standard graphics type on windows. There are currently no pieces of software for quick resizing such as this.

Heat Mapper


Good O' Fashioned Heat mapper with full text support. 3 Dimensional

2 R Pentomino Life

Demo of 2 R pentomino using the Conway rule set

Browse Photo Gallery

A Collection of Older Browse Versions







Life



Some more Artificial Life work

Air Cannon


Air Cannon firing a custom projectile, 100 psi, full copper held with solder. the mount is aluminum and steel. High pressure caused recondensation when reentering the atmosphere.