顶级隐写术,破坏一切解释器
什么是隱寫術(shù)?
就編程來說,隱寫的信息通過加密或混淆,其內(nèi)容例如一張購(gòu)物清單,一篇文章,一篇圖畫或者其他“偽裝”(cover)的消息。
隱寫的信息通常用一些傳統(tǒng)的方法進(jìn)行加密,然后用某種方法修改一個(gè)“偽裝文本”(covertext),使其包含被加密過的消息,形成所謂的“隱秘文本”(stegotext)。例如,文字的大小、間距、字體,或者掩飾文本的其他特性可以被修改來包含隱藏的信息。只有接收者知道所使用的隱藏技術(shù),才能夠恢復(fù)信息,然后對(duì)其進(jìn)行解密。
隱寫的效果
圖1: 這并非原圖,copy使用無效
圖2:在非特定環(huán)境中測(cè)試破壞效果,其背景為Image類型的無破壞,其image為解釋性image圖片類型的,達(dá)到了破壞效果
圖3:將原圖保存到手機(jī)相冊(cè)中,打開后 無法預(yù)覽。也無法查看到索引圖
更高級(jí)寫法可以保存后連圖片都找不到,但它真實(shí)存在!
圖4:如果你使用任何能夠編譯圖片的工具嘗試查看圖片的原直方圖,會(huì)提示錯(cuò)誤,當(dāng)你點(diǎn)擊錯(cuò)誤提示后,依然能夠載入!
不同于其他加密混淆的寫法,其他寫法是不能正常預(yù)覽和拖入工具中的。
將色系拉高,可以看到隱藏的第二個(gè)圖片,3303那個(gè)蝴蝶。
實(shí)現(xiàn)原理
在UE中打開3303png,你也可以嘗試你自己的任何png圖片
必要知識(shí)
點(diǎn)擊跳轉(zhuǎn)隱寫術(shù)入門
當(dāng)你看完后,有了入門知識(shí)
回頭來看 - IDHR- 整個(gè)圖片的頭部
結(jié)尾正常是 60 80,但是這里的是 60 0D 0A 82,似乎不太正常
制編輯下,添加一個(gè)?再刪除2個(gè)?號(hào)
保存預(yù)覽圖片,你會(huì)發(fā)現(xiàn)索引圖被修改了。
沒有修改的
隨后將你的原圖和已經(jīng)亂碼3/1的圖片一起拖入U(xiǎn)E中, 以對(duì)比模式打開
將兩個(gè)編碼全部改為 OEM模式
將你要修改的圖片里的 所有正常的符號(hào) 如:, . / ? ; ’ “”{|——} 什么之類的,全部改為?
比較麻煩。你執(zhí)行起來后,如果錯(cuò)了一個(gè)字符或者遺漏,都會(huì)造成圖片無法正常顯示了,而且再來一次恐怕會(huì)更難。所以盡量一次到位
為什么替換符號(hào),它實(shí)現(xiàn)了什么?
所有的軟件工具都是由各個(gè)編程語言組成的,那么它們的底層都是2進(jìn)制或8進(jìn)制或16進(jìn)制,這不同于某些他們的組件,而在圖片里替換的符號(hào),沒有改變圖片的正常頭尾體顯示。所以基于顯示 是可以正常顯示的,比如在Windows下,而在Linux下就無法顯示。但是基于Unix的系統(tǒng)又可以顯示。很奇怪吧?
當(dāng)然實(shí)現(xiàn)它肯定不是僅僅文章寫得這么簡(jiǎn)單,還需要一些算法來實(shí)現(xiàn)對(duì)圖片的轉(zhuǎn)碼,比如二值化,通道,傅立葉。
微乎其微很小的細(xì)節(jié),這里有一些基本注意項(xiàng)
1.總十六進(jìn)制的長(zhǎng)度大小不能改變
2.總十六進(jìn)制的編碼必須適度的更改
3.總十六進(jìn)制的編碼改變后必須改變回去
4.圖片的位圖類型必須一致
把修改后的圖片,放到分析器里面看看
位圖為8bit,但事實(shí)上它是一個(gè)24位圖
將圖片拖入IDA里,將代碼拉到最后
確認(rèn)修改后的圖片無誤是 6082.
試圖拖入PS中,無法查看;回到IDA中查看文件頭
將’XtXML:com.adobe.xmp’整句noop掉
這樣在圖片解釋器中,就能引用了,然后我們將它在網(wǎng)頁(yè)中引用看看會(huì)怎么樣
這里以瀏覽器作為調(diào)試語言為JS,實(shí)現(xiàn)快速預(yù)覽
不論是什么瀏覽器,只要其是解釋類型,統(tǒng)統(tǒng)可以利用,這一點(diǎn)
網(wǎng)頁(yè)JS是解釋型
在上圖測(cè)試中,使用是正常的,而且是可以正常讀取,但在顯示時(shí)會(huì)被破壞
這里沒有隱寫CE,如果寫入了CE,那么執(zhí)行端將會(huì)在讀取時(shí)就被執(zhí)行釋放!
換而言之,你看到了這個(gè)圖片,就意味著你已經(jīng)中了我的道。
在CocosCreator中使用
\3303.png, message: Error: vipspng: libpng read error
混編的解釋器,無法直接使用這種圖片,原因是不針對(duì)游戲
隱寫術(shù) 能夠做什么?
針對(duì)前端,我不方便多說什么,我是第一個(gè)實(shí)現(xiàn)的!隱寫之王
針對(duì)所有有圖片的地方!
我是大菠蘿,歡迎各位切磋技術(shù)
有疑問或者問題盡管提問,或者PK一下
我很閑,沒有工作的!!!!!
總結(jié)
以上是生活随笔為你收集整理的顶级隐写术,破坏一切解释器的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: master分支删除文件_Git分支基础
- 下一篇: C++学习之路 | PTA(天梯赛)——