From 347fe145514fc1f44cb747a88e8c257c80207ec2 Mon Sep 17 00:00:00 2001 From: unknown Date: Fri, 9 Oct 2015 14:57:03 -0700 Subject: [PATCH] else update steg readme --- CheatingDesertRalley/README.md | 8 +++++ CheatingDesertRalley/cdr.png | 3 ++ CheatingDesertRalley/cdr.py | 40 +++++++++++++++++++++++++ Steganographic/README.md | 51 ++++++++++++++++++++++++++++++++ Steganographic/steg_test.py | 2 +- Steganographic/steganographic.py | 8 ++--- 6 files changed, 107 insertions(+), 5 deletions(-) create mode 100644 CheatingDesertRalley/README.md create mode 100644 CheatingDesertRalley/cdr.png create mode 100644 CheatingDesertRalley/cdr.py diff --git a/CheatingDesertRalley/README.md b/CheatingDesertRalley/README.md new file mode 100644 index 0000000..8beaf34 --- /dev/null +++ b/CheatingDesertRalley/README.md @@ -0,0 +1,8 @@ +CheatingDesertRally +=================== + +http://www.y8.com/games/desert_rally + +

+ cheating desert rally +

\ No newline at end of file diff --git a/CheatingDesertRalley/cdr.png b/CheatingDesertRalley/cdr.png new file mode 100644 index 0000000..db84cb5 --- /dev/null +++ b/CheatingDesertRalley/cdr.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:af834461d8b9efbac051ff90c7784b866bf050b3bb7e09c777157b3667c5ff6f +size 210404 diff --git a/CheatingDesertRalley/cdr.py b/CheatingDesertRalley/cdr.py new file mode 100644 index 0000000..3671ea5 --- /dev/null +++ b/CheatingDesertRalley/cdr.py @@ -0,0 +1,40 @@ +import requests +import time as timem +import random + +URL = 'http://www.uf3k.com/games/safarirally/record.php' +HEADERS = { + 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36', + 'Host': 'www.uf3k.com', + 'Referer': 'http://media-ak.y8.com/system/contents/4531/original/desertrally.swf', + 'X-Requested-With': 'ShockwaveFlash/19.0.0.185', + 'Accept': '*/*', + 'Accept-Encoding': 'gzip, deflate', + 'Accept-Language': 'en-US;en;q=0.8', + 'Connection': 'keep-alive', +} +def make_run(name, distance, avg_speed=None, top_speed=None, time=None, course=1, vehicle=None): + if avg_speed is None: + avg_speed = round(random.randint(20, 25) + random.triangular(), 4) + if top_speed is None: + top_speed = random.randint(140, 170) + if time is None: + time = round(distance * avg_speed * TIME_MULT, 4) + if vehicle is None: + vehicle = random.randint(0, 4) + params = {'cachebuster': int(timem.time() * 1000)} + data = { + 'long_name': 'ultraflash3000', + 'avg_speed': avg_speed, + 'top_speed': top_speed, + 'time': time, + 'distance': distance, + 'course': course, + 'vehicle': vehicle, + 'name': name + } + request = requests.Request('POST', url=URL, params=params, data=data) + session = requests.Session() + return session.send(request.prepare()) + +TIME_MULT = 0.0008128971962616823 \ No newline at end of file diff --git a/Steganographic/README.md b/Steganographic/README.md index 25abdb1..34423c3 100644 --- a/Steganographic/README.md +++ b/Steganographic/README.md @@ -3,6 +3,57 @@ Steganographic Let's be honest, this was really just an excuse to make big Terminal headers out of hashmarks. +  + +Requires `pip install pillow` + +  + +Hide files in images! + +For each color channel of each pixel in an Image, modify the least significant bit to represent a bit of the Secret file. +This changes the RGB value of the pixel by a usually-imperceptible amount. +The first 32 bits (10.66 pixels) will be used to store the length of the Secret content in big endian. +Then, the Secret's extension is stored. A null byte indicates the end of the extension. This section is of variable length. +A file with no extension requires only that null byte. A file with an extension requires 1 additional byte per character. + +Smallest image possible = 16 pixels with 48 bit secret: 32 for header; 8 for null extension; 8 for data. +Each Image pixel holds 3 Secret bits, so the Image must have at least `((secretbytes * (8 / 3)) + 14)` pixels. +An Image can hold `((3 * (pixels - 14)) / 8)` Secret bytes. + + Usage: + > steganographic.py encode imagefilename.png secretfilename.ext + > steganographic.py decode lacedimagename.png + + +Reference table for files with NO EXTENSION. +For each extension character, subtract 1 byte from secret size + + pixels | example dimensions | Secret file size + 100 | 10 x 10 | 32 bytes + 400 | 20 x 20 | 144 bytes + 2,500 | 50 x 50 | 932 bytes + 10,000 | 100 x 100 | 3,744 bytes + 40,000 | 200 x 200 | 14,994 bytes + 25,000 | 500 x 500 | 93,744 bytes (91 kb) + 1,000,000 | 1,000 x 1,000 | 374,994 bytes (366 kb) + 4,000,000 | 2,000 x 2,000 | 1,499,994 bytes (1.43 mb) + 25,000,000 | 5,000 x 5,000 | 9,374,994 bytes (8.94 mb) + 100,000,000 | 10,000 x 10,000 | 37,499,994 bytes (35.7 mb) + + pixels | example dimensions | Secret file size + 100 | 10 x 10 | 32 bytes + 697 | 25 x 28 (700) | 256 bytes + 2,745 | 50 x 55 (2,750) | 1,024 bytes (1 kb) + 21,860 | 142 x 154 (21,868) | 8,192 bytes (8 kb) + 87,396 | 230 x 380 (87,400) | 32,768 bytes (32 kb) + 349,540 | 463 x 755 (349,565) | 131,072 bytes (128 kb) + 1,398,116 | 1146 x 1120 (1,398,120) | 524,288 bytes (512 kb) + 2,796,217 | 1621 x 1725 (2,796,225) | 1,048,576 bytes (1 mb) + 11,184,825 | 3500 x 3200 (11,200,000) | 4,194,304 bytes (4 mb) + 44,739,257 | 6700 x 6700 (44,890,000) | 16,777,216 bytes (16 mb) + 89,478,500 | 9500 x 9500 (90,250,000) | 33,554,432 bytes (32 mb) +

steganographic

\ No newline at end of file diff --git a/Steganographic/steg_test.py b/Steganographic/steg_test.py index 16b3efa..a14ce06 100644 --- a/Steganographic/steg_test.py +++ b/Steganographic/steg_test.py @@ -28,4 +28,4 @@ def decode(i): #decode('examples\\steg_trespassing (3bp_thats_advertising_mp4).png') encode('examples\\trespassing.png', 'examples\\thats_advertising.mp4') -decode('examples\\trespassing (thats_advertising_mp4).png') \ No newline at end of file +#decode('examples\\trespassing (thats_advertising_mp4).png') \ No newline at end of file diff --git a/Steganographic/steganographic.py b/Steganographic/steganographic.py index 97ebdf7..be2dc04 100644 --- a/Steganographic/steganographic.py +++ b/Steganographic/steganographic.py @@ -5,13 +5,13 @@ The first 32 bits (10.66 pixels) will be used to store the length of the Secret Then, the Secret's extension is stored. A null byte indicates the end of the extension. This section is of variable length. A file with no extension requires only that null byte. A file with an extension requires 1 additional byte per character. -Smallest image possible = 16 pixels with 48 bit secret: 32 for header; 8 for null extension; 8 for data -Each Image pixel holds 3 Secret bits, so the Image must have at least ((secretbytes * (8 / 3)) + 14) pixels +Smallest image possible = 16 pixels with 48 bit secret: 32 for header; 8 for null extension; 8 for data. +Each Image pixel holds 3 Secret bits, so the Image must have at least ((secretbytes * (8 / 3)) + 14) pixels. An Image can hold ((3 * (pixels - 14)) / 8) Secret bytes. Usage: -> 3bitspixel.py encode imagefilename.png secretfilename.ext -> 3bitspixel.py decode lacedimagename.png +> steganographic.py encode imagefilename.png secretfilename.ext +> steganographic.py decode lacedimagename.png Reference table for files with NO EXTENSION.