花個 30min 做點逆向工程 tracking code
1. Delphi 7 + Quickreport + Access 無壓縮, 無加殼
2. 本來我以為寫的多麼的厲害, tracking 到授權程式部分
搞了很長的時間 一直陷在裡面 本來打算重寫好了
後來發現那段授權程式 "是垃圾"
原本他在每個功能會增加授權機制, 就是可以讓多使用者使用
依據不同的使用者 可以開啟不同的function (新增 刪除 修改)
這段碼是去存取另外一個 table
我原本計畫重建這個授權的 table (Basicpp)
結果發現 "這段是垃圾"
因為他根本就沒有 call 這段碼
他只做一個
當你去選擇 menuitem 上面的功能時 會 check 可不可以進去
if bAccess then dosomething else ShowMessage('授權逾期')
cmp [$0048648], 00 ;if bAccess
jz exit ;jump ShowMessage
call [$0058304] ;next function
3. 本來我想改所 bAccess 把所有的 bAccess remake 掉 (塞 nop)
結果又發現 這是初學者寫的 所以
他在 FormCreate 做了一件事情 (default value)
bool bAccess := false;
mov [$0048648], 00 ; bAccess := 0;
然後檢查日期
if LeftStr(NowDate) < '2009/xx' then bAccess := true;
結果我發現... 我直接把最前面的 default 為 true 就行了
bool bAccess := true;
mov [$0048648], 01
只改一個 byte
30min (price: free)
原本我想把時間壓在十分鐘內 結果失策
4. 送去業主測試 因為我機器沒有 XP 我只有 Windows 10 64bit
上面不能跑這麼舊的程式
而且都是 delphi 10.1 沒有 delphi 7 沒辦法 build
只能改完送去給業主 debug
我還是繼續逆向工程 Delphi 10.1 Berlin
他的 rsa1024 license management 比較有挑戰性
unis 寫了破解 xe7 ~ xe10 結果 Embarcadero 受不了
直接請他到公司去上班
p.s.
java & .net 比較好 decompiler
我一大堆試用版改成正常版
delphi 8 之後 就很難了 因為他是 native code
※ 引述《hius (2.3S)》之銘言:
: 很久之前有請人寫一套進銷存
: 最近要移轉到另一台電腦,重新安裝後
: 功能都沒辦法用了,都跳出授權逾期
: http://i.imgur.com/O820gv9.jpg
: 詢問原作者,他也退休了,資料也沒保留。
: 把東西都丟給他看後,他說沒法處理...說牽扯到什麼元件之類的
: 請問這有的解嗎?當初安裝的套件都有留著。
: 實在是不想再花一筆費用請人重寫阿~~~~~