社區(qū) 發(fā)現(xiàn) 其它網(wǎng)絡(luò)技術(shù) APNG解析:最近逛論壇看見apng圖片...
APNG解析:最近逛論壇看見apng圖片的相關(guān)話題 結(jié)合網(wǎng)友給出的規(guī)避檢測方案 查找了下apng相關(guān)的資料 有了一起粗淺的了解……
?
本質(zhì)上apng是基于png的位圖動畫.由多張png圖片組成,第一幀是標(biāo)準(zhǔn)的png單副圖像 .用二進(jìn)制數(shù)據(jù)查看apng,其文件頭是固定
?
的,這跟其它文件格式一樣,都有特有的標(biāo)識.文件頭 8字節(jié):137 80 78 71 13 10 26 10 (十進(jìn)制)?89504E470D0A1A0A(16進(jìn)制 hex),一個標(biāo)準(zhǔn)的apng結(jié)構(gòu)應(yīng)包含 標(biāo)志/數(shù)據(jù)塊(Chunk).../結(jié)束塊? .它的數(shù)據(jù)塊組成有很兩種 ,一種是標(biāo)準(zhǔn)的 可以稱之為關(guān)鍵數(shù)據(jù)塊 一種是輔助集 這個以后再探討
?
?
不管什么類型的數(shù)據(jù)塊 它都有4部分組成?
length? 塊數(shù)據(jù)長度? 4字節(jié)
?
type code? (數(shù)據(jù)塊類型)?4字節(jié) 由asc組成
data? 數(shù)據(jù)? ? ?長度非固定? 等于length?,根據(jù)type code 類型儲存的數(shù)據(jù)
crc 4 冗余檢測 4字節(jié)?只是用來校驗(yàn)數(shù)據(jù)的??
如下圖 截了apng文件前面一部分
可以清晰看到其數(shù)據(jù)結(jié)構(gòu)? 前8字節(jié)是文件頭標(biāo)志. 后面有兩塊數(shù)據(jù)塊.?
0,0,0,13 代表第一塊數(shù)據(jù)塊長度為13?
DATA(0,0,3,202,0,0,2,88,8,3,0,0,0) 數(shù)數(shù)剛好是13字節(jié).
TYPE為73,72,68,82,轉(zhuǎn)成asc碼為?IHDR
crc 141,104,239,250? 校驗(yàn)
基于以上信息我們只需遍歷出?ACTL(控制動畫)和FCTL(幀信息)數(shù)據(jù)塊.將其actl數(shù)據(jù)塊跟第一幀F(xiàn)CTL的數(shù)據(jù)塊調(diào)換一個位置即可規(guī)避檢測(原因是有網(wǎng)友說亞馬遜是檢測actl,就是第38-41位的字節(jié)信息).其主體不受影響? .
等晚點(diǎn)寫個程序
?
?
//2021.4.15 更新
?
寫了個程序? 正如樓下老哥所說 確實(shí)沒用了.
?
經(jīng)過分析? 現(xiàn)在流程是先上傳在圖庫? 通過這個接口無法規(guī)避亞馬遜的檢測. 比對其他網(wǎng)友發(fā)來的現(xiàn)有a+動圖的產(chǎn)品樣例 發(fā)現(xiàn)接口是不一樣的.所有有兩種可能 1.現(xiàn)有能顯示apng的動圖是以前上傳的? 2.以前的接口亞馬遜只是屏蔽但沒有關(guān)閉 做ERP服務(wù)或大賣們保留有以前的接口 所以他們能通過以前的接口進(jìn)行上傳.
?
??
?
?
14 個回復(fù)
披個馬甲掙口飯吃 - 深陷某個小疙瘩的菜雞運(yùn)營
贊同來自: standpan