史萊姆論壇

返回   史萊姆論壇 > 教學文件資料庫 > Hacker/Cracker 及加解密技術文件
忘記密碼?
論壇說明 標記討論區已讀

歡迎您來到『史萊姆論壇』 ^___^

您目前正以訪客的身份瀏覽本論壇,訪客所擁有的權限將受到限制,您可以瀏覽本論壇大部份的版區與文章,但您將無法參與任何討論或是使用私人訊息與其他會員交流。若您希望擁有完整的使用權限,請註冊成為我們的一份子,註冊的程序十分簡單、快速,而且最重要的是--註冊是完全免費的!

請點擊這裡:『註冊成為我們的一份子!』

Google 提供的廣告


 
 
主題工具 顯示模式
舊 2003-12-12, 02:58 AM   #1
psac
榮譽會員
 
psac 的頭像
榮譽勳章
UID - 3662
在線等級: 級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時
註冊日期: 2002-12-07
住址: 木柵市立動物園
文章: 17381
現金: 5253 金幣
資產: 33853 金幣
預設 使用dll進行驗證的註冊方式

暴破之瞞天過海

分析某軟體的註冊驗證, 發現它是通過使用一個dll來判斷keyfile內容是否正確, 是否在使用期之內, 並且這個子程序作的很是複雜, 當然如果想找算法還是能找得到 如keyfile正確, 則返回eax=0, 並且記憶體某位置的8個字元應該為類BIOS的一個值. 這樣, 分析dll文件, 發現它僅有這一個匯出的函數, 那麼仿造這樣一個dll是完全可行的。內容簡單如下:

.386
.model flat,stdcall
option casemap:none
include \masm32\include\windows.inc
include \masm32\include\user32.inc
include \masm32\include\kernel32.inc
includelib \masm32\lib\user32.lib
includelib \masm32\lib\kernel32.lib

.data
.RADIX 16
SomeThing db 26, 1d, 28, 15, 34, 5d, 08, 4b, 10, 1b, 00
.code
.RADIX 16
DllEntry proc hInstDLL:HINSTANCE, reasonWORD, reserved1WORD
mov eax,TRUE
ret
DllEntry Endp
;---------------------------------------------------------------------------------------------------
;反擊1。
;----------------------------------------------------------------------------------------------------
XXXX proc
push ecx
push esi
push edi
mov edi, dword ptr [esp+14] ;待賦值記憶體位置
lea esi, SomeThing
push 0b
pop ecx
rep movsb
pop edi
pop esi
pop ecx
xor eax, eax ;正確的返回值
ret 0c ;入棧有三個參數,保持stack平衡
XXXX endp

End DllEntry
psac 目前離線  
送花文章: 3, 收花文章: 1631 篇, 收花: 3205 次
 


主題工具
顯示模式

發表規則
不可以發文
不可以回覆主題
不可以上傳附加檔案
不可以編輯您的文章

論壇啟用 BB 語法
論壇啟用 表情符號
論壇啟用 [IMG] 語法
論壇禁用 HTML 語法
Trackbacks are 禁用
Pingbacks are 禁用
Refbacks are 禁用


所有時間均為台北時間。現在的時間是 08:55 PM


Powered by vBulletin® 版本 3.6.8
版權所有 ©2000 - 2024, Jelsoft Enterprises Ltd.


SEO by vBSEO 3.6.1