PDF Candy Desktop PRO v2.8.9安裝和Reverse分析
PDF Candy Desktop具有如下功能:PDF與docx/rtf/odt/jpg/bmp/png/tiff等格式相互轉換,OCR,合併/拆分PDF,新增/移除密碼,旋轉/刪除/裁切頁面等。該軟體為QT開發,沒有加殼,字串也沒有刻意隱藏,用IDA開啟主程式PDFcandydt.exe檢視字串,搜尋license、register以及主介面上和未註冊、註冊碼錯誤相關的各類字串(把軟體介面設為英文有利於查詢字串),能看到很多有用的資訊,比如
License file found [OK]/Corrupted/open
Save license info [OK]. Info:%1
Save license failed
Validate license key [OK]
Wrong key. Check your activation key and try again
Free version tasks limit exceeded. Upgrade to PRO to get the unlimited access.
Only %1 files are allowed to be added for conversion at once in Free version of the program.
就從Only %1 files下手,這個字串和Free version tasks limit靠得很近,檢視對這兩個字串所在的函式sub_4DA060的引用,猜測在呼叫sub_4DA060之前會有call,cmp,test之類的指令,把5個call sub_4DA060附近全部看一遍,發現在每個call sub_4DA060之前都是call sub_413240; mov ecx, eax,再往前則都有mov ecx, eax; call sub_480DD0; test al, al;
這麼看來,sub_480DD0就是關鍵了,進sub_480DD0一看,驚人地簡單,就一個操作mov al, [ecx+28h],然後return. 用x32dbg開啟PDFcandydt.exe,在480DD0處下斷點,然後啟動,執行mov al, [ecx+28h]後al變成00. 結論已經很明顯了,直接改成mov eax,1. 儲存修改後嘗試啟動,彈窗The file 'xxx\PDFcandydt.exe' is not signed.
說明還有校驗,可惜,彈窗太容易讓我們定位關鍵跳轉了。這個軟體的作者還是經驗不足,檢測到軟體被修改,就應該不給任何提示直接退出,或者不顯示主介面,或者進入未註冊狀態,給了提示反倒容易被人去掉校驗。在IDA或者x32dbg中搜搜signed,定位到56C4F4,附近還能看到
An unknown error occurred trying to verify the signature of the
The signature is present, but specifically disallowed by the admin or user
The signature is present, but not trusted
The hash representing the subject or the publisher wasn',27h,'t explicitly trusted
Admin policy has disabled user trust. No signature, publisher or timestamp errors
這些字串都位於sub_498B90內,檢視對sub_498B90的呼叫,只有49A72D一處呼叫,
從49A72D向前找跳轉,有一個49A6FC jz loc_49A817,改成jmp就大功告成了。程式主介面左下角的2 tasks left,Upgrade to PRO已經消失了,各種限制也沒有了。
不過這個軟體把PDF轉成docx的功能有嚴重問題,一直報錯ERR_PDF_TO_DOC_CONVERTION_FAILED,在我的測試中,沒有一個PDF被成功轉為docx。我可以確定不是poJie不完美導致的,因為在我pojie之前,拿原版程式測試轉換功能就遇到這個問題了。
相關文章
- 中文PDF Reader Pro 啟用安裝包v3.2.2.0
- Ubuntu 安裝 Docker DesktopUbuntuDocker
- 如何安裝pdf印表機 安裝pdf印表機的方法
- Docker Desktop for Windows的安裝DockerWindows
- Discoverer Desktop安裝手冊
- Windows Docker Desktop安裝教程WindowsDocker
- 在Ubuntu desktop中安裝gitUbuntuGit
- win11 安裝desktop dockerDocker
- Stirling-PDF 安裝和使用教程
- M晶片parallels desktop安裝Ubuntu docker晶片ParallelUbuntuDocker
- Screen Recording - Desktop Capture ProAPT
- PDF閱讀和編輯工具PDF Reader Pro for mac啟用版Mac
- 記錄一下docker desktop windows安裝,容器安裝等DockerWindows
- BetterDisplay Pro啟用安裝
- 安裝redis-desktop-manager工具報錯Redis
- Podman Desktop安裝與使用-Windows10Windows
- Microsoft Remote Desktop破 解版安裝教程ROSREM
- Mac下Parallels Desktop安裝使用CentOS 7MacParallelCentOS
- statspack安裝使用和report分析
- statspack安裝使用 和 report 分析
- pdf編輯軟體Acrobat Pro DC 2023中文破解版(附安裝教程)BAT
- vmware workstation 14 pro安裝方法
- Linux 安裝 VMware Workstation ProLinux
- Ubuntu 18.04 Desktop 安裝搜狗輸入法Ubuntu
- 中文最新Redis Desktop Manager 啟用安裝包Redis
- Desktop Lens PRO for mac - 螢幕放大鏡Mac
- PDF Reader Pro for Mac專業PDF閱讀器Mac
- pdf編輯閱讀器PDF Reader Pro for MacMac
- Parallels Desktop 18啟用金鑰+Parallels Desktop 18詳細安裝教程18.3.2Parallel
- 最新BetterDisplay Pro 啟用安裝包
- 遠端連線Remote Desktop mac啟用安裝REMMac
- 天龍八步-》打造debian-desktop-》安裝桌面和軟體[二](轉)
- PDF Reader Pro Lite for Mac專業PDF閱讀器Mac
- 「pdf檔案閱讀器」PDF Reader Pro 2.8.19.1
- .net5NuGet安裝包Spire.PDF實現PDF轉圖片
- 如何刪除Parallels Desktop 15安裝的win系統?Parallel
- 安裝Docker Desktop報錯WSL 2 installation is incompleteDocker
- parallels desktop M1版安裝Windows10教程ParallelWindows