misc tools

pdf

wbStego4.3open

pdf隐写一般用wbStego4.3open解密,当然它还可以隐写别的内容

具有 16、256 或 1670 万色的 Windows 位图
ASCII 或 ANSI 文本文件
HTML 文件
Adobe PDF 文件

pyc

文件的文件头是03 f3 0d 0a,其中0d 0a就是\r\n,接下来4个字节是时间,小端模式,如果是37 7a 5d 5f,实际是0x5f5d7a37

stegosaurus

隐写工具,只能python3.6运行

1
2
git clone https://github.com/AngelKitty/stegosaurus
python3.6 stegosaurus.py O_O.pyc -x

python-uncompyle6

反编译工具,只能python3.8以下运行

1
2
git clone https://github.com/rocky/python-uncompyle6
uncompyle6 -o flag.py flag.pyc

Crypto

与佛论禅

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
#coding:utf-8

# !/usr/bin/env python3
# pip3 install pycryptodome py7zr -i https://pypi.tuna.tsinghua.edu.cn/simple
# 源码参见 https://github.com/lersh/TudouCode/
# 代码更新 https://github.com/playGitboy/foYu.py/edit/main/%E4%B8%8E%E4%BD%9B%E8%AE%BA%E7%A6%85.py

from Crypto.Cipher import AES
from re import split
from py7zr import SevenZipFile
from io import BytesIO

KEY = b'XDXDtudou@KeyFansClub^_^Encode!!'
IV = b'Potato@Key@_@=_='

foYue = [
'滅', '苦', '婆', '娑', '耶', '陀', '跋', '多', '漫', '都', '殿', '悉', '夜', '爍', '帝', '吉',
'利', '阿', '無', '南', '那', '怛', '喝', '羯', '勝', '摩', '伽', '謹', '波', '者', '穆', '僧',
'室', '藝', '尼', '瑟', '地', '彌', '菩', '提', '蘇', '醯', '盧', '呼', '舍', '佛', '參', '沙',
'伊', '隸', '麼', '遮', '闍', '度', '蒙', '孕', '薩', '夷', '迦', '他', '姪', '豆', '特', '逝',
'朋', '輸', '楞', '栗', '寫', '數', '曳', '諦', '羅', '曰', '咒', '即', '密', '若', '般', '故',
'不', '實', '真', '訶', '切', '一', '除', '能', '等', '是', '上', '明', '大', '神', '知', '三',
'藐', '耨', '得', '依', '諸', '世', '槃', '涅', '竟', '究', '想', '夢', '倒', '顛', '離', '遠',
'怖', '恐', '有', '礙', '心', '所', '以', '亦', '智', '道', '。', '集', '盡', '死', '老', '至']

BYTEMARK = ['冥', '奢', '梵', '呐', '俱', '哆', '怯', '諳', '罰', '侄', '缽', '皤']

ruShiWoWen = [
'謹', '穆', '僧', '室', '藝', '瑟', '彌', '提', '蘇', '醯', '盧', '呼', '舍', '參', '沙', '伊',
'隸', '麼', '遮', '闍', '度', '蒙', '孕', '薩', '夷', '他', '姪', '豆', '特', '逝', '輸', '楞',
'栗', '寫', '數', '曳', '諦', '羅', '故', '實', '訶', '知', '三', '藐', '耨', '依', '槃', '涅',
'竟', '究', '想', '夢', '倒', '顛', '遠', '怖', '恐', '礙', '以', '亦', '智', '盡', '老', '至',
'吼', '足', '幽', '王', '告', '须', '弥', '灯', '护', '金', '刚', '游', '戏', '宝', '胜', '通',
'药', '师', '琉', '璃', '普', '功', '德', '山', '善', '住', '过', '去', '七', '未', '来', '贤',
'劫', '千', '五', '百', '万', '花', '亿', '定', '六', '方', '名', '号', '东', '月', '殿', '妙',
'尊', '树', '根', '西', '皂', '焰', '北', '清', '数', '精', '进', '首', '下', '寂', '量', '诸',
'多', '释', '迦', '牟', '尼', '勒', '阿', '閦', '陀', '中', '央', '众', '生', '在', '界', '者',
'行', '于', '及', '虚', '空', '慈', '忧', '各', '令', '安', '稳', '休', '息', '昼', '夜', '修',
'持', '心', '求', '诵', '此', '经', '能', '灭', '死', '消', '除', '毒', '害', '高', '开', '文',
'殊', '利', '凉', '如', '念', '即', '说', '曰', '帝', '毘', '真', '陵', '乾', '梭', '哈', '敬',
'禮', '奉', '祖', '先', '孝', '雙', '親', '守', '重', '師', '愛', '兄', '弟', '信', '朋', '友',
'睦', '宗', '族', '和', '鄉', '夫', '婦', '教', '孫', '時', '便', '廣', '積', '陰', '難', '濟',
'急', '恤', '孤', '憐', '貧', '創', '廟', '宇', '印', '造', '經', '捨', '藥', '施', '茶', '戒',
'殺', '放', '橋', '路', '矜', '寡', '拔', '困', '粟', '惜', '福', '排', '解', '紛', '捐', '資']


def DecryptFoYue(ciphertext):
data = b''
i = 0
while i < len(ciphertext):
if ciphertext[i] in BYTEMARK:
i = i + 1
data = data + bytes([foYue.index(ciphertext[i]) + 128])
else:
data = data + bytes([foYue.index(ciphertext[i])])
i = i + 1
cryptor = AES.new(KEY, AES.MODE_CBC, IV)
result = cryptor.decrypt(data)
flag = result[-1]
if flag < 16 and result[-flag] == flag:
result = result[:-flag]
return result.decode('utf-16le')


def DecryptRuShiWoWen(ciphertext):
data = b''
for i in ciphertext:
data += bytes([ruShiWoWen.index(i)])
cryptor = AES.new(KEY, AES.MODE_CBC, IV)
fsevenZip=SevenZipFile(BytesIO(cryptor.decrypt(data)))
zipContent = fsevenZip.readall()['default'].read()
return zipContent


if __name__ == '__main__':
try:
# 直接修改这里的foYu变量即可
#foYu = "如是我闻:名西三陵帝焰数诵诸山众參哈瑟倒陰捨劫奉惜逝定雙月奉倒放足即闍重号貧老诵夷經友利普过孕北至花令藐灯害蒙能羅福羅夢开雙禮琉德护慈積寫阿璃度戏便通故西故敬于瑟行雙知宇信在礙哈数及息闍殺陵游盧槃药諦慈灯究幽灯豆急彌貧豆親诵梭量树琉敬精者楞来西陰根五消夢众羅持造彌六师彌怖精僧璃夫薩竟祖方夢訶橋經文路困如牟憐急尼念忧戏輸教乾楞能敬告树来楞殊倒哈在紛除亿茶涅根輸持麼阿空瑟稳住濟号他方牟月息盡即来通貧竟怖如槃精老盡恤及游薩戏师毒兄宝下行普鄉释下告劫惜进施盡豆告心蒙紛信胜东蒙求帝金量礙故弟帝普劫夜利除積众老陀告沙師尊尼捨惜三依老蒙守精于排族祖在师利寫首念凉梭妙經栗穆愛憐孝粟尊醯造解住時刚槃宗解牟息在量下恐教众智焰便醯除寂想虚中顛老弥诸持山諦月真羅陵普槃下遠涅能开息灯和楞族根羅宝戒药印困求及想月涅能进至贤金難殊毘瑟六毘捨薩槃族施帝遠念众胜夜夢各万息尊薩山哈多皂诵盡药北及雙栗师幽持牟尼隸姪遠住孕寂以舍精花羅界去住勒排困多閦呼皂難于焰以栗婦愛闍多安逝告槃藐矜竟孕彌弟多者精师寡寫故璃舍各亦方特路茶豆積梭求号栗怖夷凉在顛豆胜住虚解鄉姪利琉三槃以舍劫鄉陀室普焰于鄉依朋故能劫通"

#foYu="佛曰:奢他奢所諳訶滅呐老至皤婆悉罰蒙怯諸侄遠諳知奢藐呐滅哆滅缽佛蘇諸薩大諳藐阿不有奢豆槃罰數怯室喝怯藝呐怖彌怯佛世滅怯耨冥無涅心佛無曰摩怖逝度無集呐耨羅輸罰帝奢朋冥究盧諸般參耨朋究寫瑟梵道梵遠勝涅皤婆怯醯者迦智奢遮缽姪俱朋世皤無舍寫呼悉迦集諳亦等冥若冥般心娑哆道冥倒俱故迦諳遮槃那"
foYu = "佛曰:" + input("佛曰:")
foYu = split("[::]", foYu)
if len(foYu)>1:
foYu = "".join(foYu[1:]).strip()
else:
foYu = foYu[0]
print(DecryptFoYue(foYu))
except:
print(DecryptRuShiWoWen(foYu))

社会主义核心价值观

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
#!/usr/bin/env python3
#源码https://github.com/sym233/core-values-encoder/issues/8
VALUE_PAIR = ('富强', '民主', '文明', '和谐', '自由', '平等', "公正", '法治', "爱国", '敬业', '诚信', '友善')

def values2duo(value):
it = iter(value)
for v in it:
spicemen = v + next(it)
if spicemen in VALUE_PAIR:
yield VALUE_PAIR.index(spicemen)

def duo2hex(value):
it = iter(values2duo(value))
for v in it:
if v < 10:
yield v
elif v == 10:
yield 10 + next(it)
else:
yield 6 + next(it)

def valueDecode(value):
it = iter(duo2hex(value))
for v in it:
ca = (v<<4) + next(it)
if ca < 256 :
yield bytes([ca])

s = input("请输入核心价值:\n")
print(b''.join(valueDecode(s)).decode('utf-8'))