some small fixes

This commit is contained in:
Mari Wahl 2014-10-10 22:22:02 -04:00
parent 56dec30f70
commit ab70b811db
14 changed files with 196 additions and 0 deletions

Binary file not shown.

View file

@ -0,0 +1,30 @@
#!/usr/bin/env python
from PIL import Image
import random
def get_color(x, y, r):
n = (pow(x, 3) + pow(y, 3)) ^ r
return (n ^ ((n >> 8) << 8 ))
flag_img = Image.open("flag.png")
im = flag_img.load()
r = random.randint(1, pow(2, 256))
print flag_img.size
enc_img = Image.new(flag_img.mode, flag_img.size)
enpix = enc_img.load()
for x in range(flag_img.size[0]):
for y in range(flag_img.size[1]):
t = random.randint(1, pow(2, 256)) % 250
enpix[x,y] = t
for x in range(flag_img.size[0]):
for y in range(flag_img.size[1]):
if im[x,y] < 250 :
s = get_color(x, y, r)
enpix[x,y] = s
enc_img.save('enc' + '.png')

View file

@ -0,0 +1,38 @@
#!/usr/bin/python
from PIL import Image
import random
import operator
def get_color(x, y, r):
n = (pow(x, 3) + pow(y, 3)) ^ r
return (n ^ ((n >> 8) << 8 ))
flag_img = Image.open("flag.png")
im = flag_img.load()
print flag_img.size
enc_img = Image.new(flag_img.mode, flag_img.size)
enpix = enc_img.load()
d = {}
for i in range(0, 256):
d[i] = 0
for x in range(flag_img.size[0]):
for y in range(flag_img.size[1]):
enpix[x,y] = 0
r = im[x, y] ^ ((pow(x, 3) + pow(y, 3)) % 256)
d[r] += 1
use = max(d.iteritems(), key=operator.itemgetter(1))[0]
for x in range(flag_img.size[0]):
for y in range(flag_img.size[1]):
r = im[x, y] ^ ((pow(x, 3) + pow(y, 3)) % 256)
if r == use:
enpix[x, y] = 255
print use
enc_img.save('dec' + '.png')

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 118 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 602 B

View file

@ -0,0 +1,17 @@
from PIL import Image
img = Image.open('steg100.png')
strbit1 = ''
for y in range(0, img.size[1], 19):
for x in range(0, img.size[0], 19):
r = img.getpixel((x, y))
strbit1 += str(r & 1)
strbit2 = ''
for y in range(171, 171 + 19):
for x in range(171, 171 + 19):
a = img.getpixel((x, y))
strbit2 += str(a & 1)
xored = ''.join(str(int(A) ^ int(B)) for A, B in zip(strbit1, strbit2))
print ''.join(chr(int(xored[i:i + 8], 2)) for i in range(0, len(xored), 8))

View file

@ -0,0 +1,18 @@
from PIL import Image
img = Image.open('steg100.png')
strbit1 = ''
for y in range(0, img.size[1], 19):
for x in range(0, img.size[0], 19):
print img.getpixel((x, y))
print r
strbit1 += str(r & 1)
strbit2 = ''
for y in range(171, 171 + 19):
for x in range(171, 171 + 19):
a = img.getpixel((x, y))
strbit2 += str(a & 1)
xored = ''.join(str(int(A) ^ int(B)) for A, B in zip(strbit1, strbit2))
print ''.join(chr(int(xored[i:i + 8], 2)) for i in range(0, len(xored), 8))