qpwoeirut

EMOJI STEGO IS FUN!!!

Jul 9th, 2020
164
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.89 KB | None | 0 0
  1. from PIL import Image as I
  2. from random import choice as ch, randint as ra
  3. import numpy as n
  4. from secret import V, W, X, Y, Z, flag
  5. def arr(filename):
  6.     i=n.array(I.open(filename),dtype=n.uint8)
  7.     r,g,b=i.shape
  8.     for a in range(r):
  9.         for b in range(g):
  10.             for j in range(3):
  11.                 i[a][b][j]|=True
  12.                 i[a][b][j]-=True
  13.     I.fromarray(i).save(filename)
  14. def gee(l):
  15.     i=n.array(I.open("f.png"))
  16.     r=127
  17.     g=127
  18.     b=False
  19.     for char in l:
  20.         for bit in bin(ord(char))[2:].rjust(8, '0'):
  21.             bit=int(bit)
  22.             i[r][g][b]|=bit
  23.             b+=True
  24.             if b==3:
  25.                 b=False
  26.                 g-=True
  27.                 if g==-1:
  28.                     g=127
  29.                     r-=True
  30.     return i
  31. def bee(c):
  32.     return[(a,c//a) for a in range(True,c+True) if c%a==False]
  33. def sek(out, m):
  34.     i=n.array(I.open(out))
  35.     s=bee(ord(m))
  36.     b=2
  37.     for _ in range(Z):
  38.         while True:
  39.             r,g = ch(s)
  40.             if ra(False, True)==False:
  41.                 r+=n.random.normal(scale=16)
  42.                 if r<False or r>=128:continue
  43.             else:
  44.                 g+=n.random.normal(scale=16)
  45.                 if g<False or g>=128:continue
  46.             r = int(r)
  47.             g = int(g)
  48.             i[r][g][b]|=True
  49.             break
  50.     return i
  51. def I_LOVE_EMOJI_STEGO():
  52.     arr("c.png");arr("f.png");m = [gee("https://pastebin.com/HRFH1Xna")]
  53.     for char in flag: m.append(sek("c.png", char))
  54.     q=n.zeros((((W+V+V)*(len(flag)+True)),W+V+V,4),dtype=n.uint8);q.fill(255);b=3
  55.     for r in range((W+V+V)*(len(flag)+True)):
  56.         for g in range(W+V+V):q[r][g][b] = 0
  57.     for r, i in enumerate(range(V,(W+V+V)*(len(flag)+True),W+V+V)):
  58.         for g in range(W):
  59.             for b in range(W):q[i+g][b+V]=m[r][g][b]
  60.     I.fromarray(q).save("emoji_chain_stego.png")
  61. I_LOVE_EMOJI_STEGO()
Add Comment
Please, Sign In to add comment