OllyICE手拆OCR付費引擎
原本只是Coding需要用到把驗證碼圖內的驗證碼給取出來 大致上網路上Google了一下有三種方案: - Windows Office 插件 (不過對扭曲,有線條干擾的支持度很差) - Tessnet (好像是個開源專案,可以丟大量圖資讓引擎學習增加辨識度,不過不好用) - Asprise - OCR (這好像本來就開發給商業使用的所以本來是要付費der) 至於本文主角當然就是....付費的那個(?) 至於詳細怎麼調用這個函數庫不多做介紹(Google一下都有) 大致上在.NET上調用作法為: [調用.NET的asprise-ocr-api.dll的API]→[根據平台自動切換為aocr.dll/aocr_x64.dll的函數做處理] 不過如果你用的是官方頁面上下載的試用版本會發現: 要求付費的提示 每幫開發者辨識五張驗證碼便跳出一次訊息提示付費訊息 (至於為啥我知道五次?因為後面逆向發現的XD) 大致上反編譯一下asprise-ocr-api.dll可以看到註冊機制設置的不在這裡面,而是藏在Win32的aocr.dll跟Win64的aocr_x64.dll內做檢測到底要不要幫你辨識圖片 把 asprise-ocr-api.dll沒有上花,餵給.NET Reflector直接可以翻code OK,現在我們可以確定我們的目標是逆向aocr.dll身上(Win32) 看到那個訊息可以很直接了當的知道用了MessageBoxA/W(後來實測是用A) 在MessageBoxA下斷點F8跟蹤回呼叫點可以看到狀態在這 如果按是(yes)返回值為6,就會跳到0F2E67E0做一個Shell官方網站的頁面 如果不為6則繼續辨識圖片 往上翻可以看到在進入授權請求的這個block上面有個eax對edx做or運算 如果兩者or完不為空則直接跳至0F2E67FD繼續做辨識圖片的行為 找到爆破點了,在這邊下強跳 理論上到這邊就可以完美不跳出請求授權的視窗(我一開始也破解到這邊就收工了) 事隔幾個月後發現大事不妙,原來這層是在試用時間測試階段 意思是它好像有個次數給你用完就不能再繼續使用了Otz. (...