每天拿出一分鐘來學習,你的生命會更加精彩。

對近在眼前加密軟件原理的猜想

發布:洪雨2019-6-8 14:02分類: 編程相關 標簽: 易語言 編程

    當年一直有一個齷齪的想法,就是給別人的軟件加上自己的限制,比如密碼,比如驗證等等。

    這種想法一直延續到今天,有事沒事我就會上網研究一下相關技術,看看別人寫的源碼,r然后自己想想。

    不過,因為技術有限,一直都沒能很完美的實現。看過的源碼也都原理一樣,跟我一開始的思路都是一個東西。

    后來發現近在眼前大神的一款工具,給任何軟件加密碼。

    嘗試了一下,發現無比神奇。然而更神奇的是,大神居然把這款軟件的源碼共享出來。然后我各種的研究啊,發現還是看不懂。

    里面最重要的一部分叫做“頭文件”,加載在資源中。我將資源釋放,發現是一個完整的exe文件。

    然而這個文件是怎樣寫的,大神沒有分享。

    我的思路就開始跑偏,覺得大神可能是pe頭什么的匯編操作。查了各種資料也沒查出個所以然來。

    最近研究寫一款壓縮殼,想到了一個思路,忽然對大神當年寫的“文件頭”有所猜想。原來主要東西就是一個解密運行的原理。所有的核心都在這個“文件頭”里。

    猜想原理,假設要加殼的原文件為a,加殼后的為b,首先寫一個頭文件,這個頭文件是一個完整的exe文件,他主要功能是驗證密碼,完整的計算a的大小,并運行a。

    然后將a對接到頭文件后面,生成一個b。

    當軟件運行的時候,頭文件會效驗密碼正確性,然后自動剝離a,并運行a。這樣就實現了對a的完美限制。

    話說回來,這樣就有點太簡單了,所以在對接前,通常要經過一定的處理,比如壓縮,比如加密,反正就是一些字節集操作。

    而剝離的方法,通常是寫出,但如果a未加殼,那么可以申請內存,直接內存運行即可,無需寫出。

    不知道大神是不是這樣寫的,一切都是我的猜想。
溫馨提示如有轉載或引用以上內容之必要,敬請將本文鏈接作為出處標注,謝謝合作!

WRITTEN BY

avatar

已有 0/42 人參與

歡迎使用手機掃描訪問本站,還可以關注微信哦~

深圳风采开奖结果规则