操屁眼的视频在线免费看,日本在线综合一区二区,久久在线观看免费视频,欧美日韩精品久久综

新聞資訊

    1. 什么是字體加密

    簡(jiǎn)單的說(shuō),字體加密即為所復(fù)制非所得。如下圖,我們復(fù)制186.37萬(wàn)字得到萬(wàn)字。那么這里的186.37這個(gè)數(shù)字就被加密了,用到的技術(shù)為字體加密。

    網(wǎng)址:/info/

    字體加密所用范圍也很廣,如大眾點(diǎn)評(píng)、貓眼、起點(diǎn)中文網(wǎng)、等。如果我們直接抓取頁(yè)面源代碼,得到的則為一堆無(wú)意義的數(shù)據(jù)。 那么如何把這些無(wú)意義的數(shù)據(jù)解密成他原本的含義呢,下面我將進(jìn)行詳細(xì)的講解。

    2. 基本知識(shí)2.1 字體加密原理

    我們所看到的文字,都有對(duì)應(yīng)的字體文件,字體文件描述著每個(gè)文字如何繪制。比如下圖:

    不同的字體文件,繪制出來(lái)的爬蟲(chóng)二字形狀不一樣。這就好比畫(huà)畫(huà)一樣,不同的人畫(huà)貓,有的人畫(huà)出來(lái)的是貓,有人畫(huà)出來(lái)的卻是虎。懂了這點(diǎn),那么下圖的字體加密就不難理解了:

    上圖我們看到的土地基本概況 其實(shí)是冋塊基鴻戥況通過(guò)字體文件繪制出來(lái)的,即原本真實(shí)的文字應(yīng)為冋塊基鴻戥況。不信你可以去復(fù)制這幾個(gè)文字,然后粘貼下看看,打開(kāi)原網(wǎng)頁(yè)。就好比我們看到的畫(huà)是虎在線字體轉(zhuǎn)換器可復(fù)制,其實(shí)畫(huà)畫(huà)那人畫(huà)的對(duì)象是貓。

    總結(jié)下:我們所看到的文字,是由字體文件繪制出來(lái)的,正常都是將這個(gè)文字原本字形繪制出來(lái)。但遇到字體反爬這種不正經(jīng)的字體文件,他把文字男繪制成人妖這種事都干得出來(lái)。

    2.2 字體文件刨析

    我們先找到這個(gè)網(wǎng)頁(yè)所用到的字體,并下載下來(lái),用以下幾行代碼來(lái)解析字體保存為xml

    from fontTools.ttLib import TTFont
    font = TTFont("vJ3z6kV9Oo0MYQNQhaEWLTMF54ysPI1p.woff")
    font.saveXML("vJ3z6kV9Oo0MYQNQhaEWLTMF54ysPI1p.xml")

    這里解釋下woff字體

    WOFF(Web開(kāi)發(fā)字體格式)是一種專(zhuān)門(mén)為了Web而設(shè)計(jì)的字體格式標(biāo)準(zhǔn),實(shí)際上是對(duì)于/等字體格式的封裝,每個(gè)字體文件中含有字體以及針對(duì)字體的元數(shù)據(jù)(),字體文件被壓縮,以便于網(wǎng)絡(luò)傳輸。

    下面分析下這個(gè)xml文件:

    節(jié)點(diǎn)下為該字體文件中所包含的文字

    節(jié)點(diǎn)下,name為所繪制的文字,節(jié)點(diǎn)為字型信息。

    xMin、xMax、yMin、yMax 為這個(gè)文字所在的橫縱坐標(biāo),如下圖:

    pt 中的 x, y 為關(guān)鍵點(diǎn)的坐標(biāo),on的值 1表示直線,0表示弧形。為了驗(yàn)證on表達(dá)的含義,親自拿標(biāo)準(zhǔn)的微軟雅黑用文字十和八做了驗(yàn)證,如下:

    文字八,因?yàn)榘耸怯谢〉模詏n的值有1有0

    文字十在線字體轉(zhuǎn)換器可復(fù)制,on均為1

    name 為文字名,一個(gè)表識(shí)。標(biāo)準(zhǔn)字體的name即為所繪文字的進(jìn)制編碼。非標(biāo)準(zhǔn)字體name的值是什么,看他心情。我們可以通過(guò)如下方法將文字與16進(jìn)制相互轉(zhuǎn)換。

    # 轉(zhuǎn)16進(jìn)制
    >>> hex(ord('十'))
    '0x5341'
    轉(zhuǎn)回文字
    >>> u'\u5341'
    '十'

    2.3 破解字體加密 此方法適用于知道標(biāo)準(zhǔn)字體是什么

    2.3.1 思路

    看完字體文件刨析之后,我們大致對(duì)字體文件有所了解了。一個(gè)文字張什么樣子是由x、y、on來(lái)決定的。那么當(dāng)我們拿到一個(gè)非標(biāo)準(zhǔn)字體中某個(gè)文字的x、y、on后,在對(duì)應(yīng)的標(biāo)準(zhǔn)字體文件中尋找最相近的x、y、on以及其表達(dá)的文字,這樣所找到的文字即為解密后的文字。

    比如下面這個(gè)圖,我們拿土地基本情況中的地來(lái)舉例,從源碼中看出地對(duì)應(yīng)的文字為冋

    從源碼中還發(fā)現(xiàn)了標(biāo)準(zhǔn)字體為微軟雅黑

    分別將網(wǎng)頁(yè)所用的加密字體及標(biāo)準(zhǔn)的微軟雅黑字體保存為xml,然后分別在微軟雅黑中取地及在加密字體中取冋的字型,對(duì)比如下

    先計(jì)算下地與冋的16進(jìn)制

    >>> hex(ord('地')) '' >>> hex(ord('冋')) ''

    字形對(duì)比

    觀察字形可以看到標(biāo)準(zhǔn)字體中的地與加密字體中的冋的字型是非常相近的。x,y的縮放比例相同,on的值更是完全的一致。這是因?yàn)檫@倆字型繪制的都是同一個(gè)文字地。也就是為什么網(wǎng)頁(yè)的源碼中是冋,而我們?cè)陧?yè)面中看到的文字是地

    2.3.2 付出行動(dòng)

    我們已經(jīng)有了在標(biāo)準(zhǔn)字體文件中尋找最相近字型的思路,那么下面講解如何尋找!

    解析標(biāo)準(zhǔn)字體文件,將文字與字型保存為如下關(guān)系

    不同文字的on可能相同,因此on的值為list類(lèi)型,下面保存了多個(gè)相同on值的文字及字型

    我訓(xùn)練完的字體文件如下

    解析加密的字體文件,將每個(gè)文字、on、及xy對(duì)應(yīng)關(guān)系取出來(lái)。然后用on值在上面的字典中快速取出一組on值相同的字型(大多數(shù)只有一個(gè)),然后再在這組字型中匹配一個(gè)最相近的字型,得出對(duì)應(yīng)的文字即可

    匹配最相近的字型方法:遍歷候選字型,計(jì)算每個(gè)字型xy的特征與源word xy特征相除后的方差(相除是因?yàn)?同一字體xy是成比例縮放的),然后取方差最小的字型。

    總結(jié)

    以上分別介紹了什么是字體加密、加密原理、字體文件刨析、以及破解思路。破解思路適用于已知標(biāo)準(zhǔn)字體的情況,對(duì)于未知標(biāo)準(zhǔn)字體的字體反爬,下期講解。

網(wǎng)站首頁(yè)   |    關(guān)于我們   |    公司新聞   |    產(chǎn)品方案   |    用戶(hù)案例   |    售后服務(wù)   |    合作伙伴   |    人才招聘   |   

友情鏈接: 餐飲加盟

地址:北京市海淀區(qū)    電話:010-     郵箱:@126.com

備案號(hào):冀ICP備2024067069號(hào)-3 北京科技有限公司版權(quán)所有