突然發現很久很久以前寫的東西,小小懷念一下,以及浸泡在看雪(www.pediy.com)裏的日子,哈哈~
----------------------------------- 傳送
----------------------------------- 2008年2月4日
把下載的文件.exe直接複製到程序目錄下
運行WINISO,什麼還沒註冊?
點 幫助 菜單,點 註冊 項, 隨便輸個註冊碼
再次直接運行WINISO,OK,註冊完畢!
WINISO 是一個ISO製作程序, 未註冊的話不能保存大於100M的ISO.
怎麼辦呢, 於是想到了 UltrEdit 與 OllyICE
先用peid查看WINISO, 是UPX壓縮過的程序
下個UPX程序,將WINISO解壓
用OllyICE打開WINISO進行調試
從頭到WINISO的第一個對話框出現, 記錄最左邊地址欄的地址
繼續出現了註冊提示窗口, 記錄地址
最後便出現了主窗口, 當然是未註冊的, 窗口的標題上有 "Buy Now" 和 "Unregistered Version"
先利用 字符串參考找到這兩個字符串被調用的位置, 在附近找找, 有條件跳轉(jnz)在代碼上方, 直接改成 jmp 試試, 再次調試, 果然窗口的標題上的"Buy Now" 和 "Unregistered Version"消失了, 於是記錄代碼數據:
755766c7461020
755866c746104400
用UltrEdit打開WINISO,然後查找以上16位數據,把 75 改爲 EB (jnz -> jmp),這樣直接運行WINISO也不會有"Buy Now" 和 "Unregistered Version"了.
下面是解決第一個對話框,這個似乎不管有無註冊都會跳出(我從網上直接用了一個註冊碼,註冊後這個對話框還會出現, 註冊後到註冊表可以把註冊信息抹去)
調用這個對話框的代碼上面好像也有個跳轉命令(jnz),改成jmp果然就好了,於是記錄代碼數據:
75136a4068
用UltrEdit打開WINISO,然後查找以上16位數據,把 75 改爲 EB (jnz -> jmp),這樣討厭的對話框也不會有了.
下面就用同樣的方法搞定註冊提示對話框,代碼數據:
752cc785b4fcffffec
用UltrEdit打開WINISO,然後查找以上16位數據,把 75 改爲 EB (jnz -> jmp)
本以爲萬事完畢,但試一下200M的文件做ISO,可是提示沒註冊!
所以用OllyICE調試,找到了那個驗證的地方,由於我不願花太多時間(可我後來還是耐下心看了,附錄會給出一些重要偏移地址),註冊碼演算直接跳過了,到了驗證區
,原來這裏有不少跳轉,一個一個NOP一下,果然OK了,記錄代碼數據:
752c8a41
用UltrEdit打開WINISO,然後查找以上16位數據,把 75**(jnz **) 改爲 9090(nop nop),再在代碼向下找到:
7522 7518 750e 7505
通通改爲 9090
再次直接運行WINISO,什麼還沒註冊?
於是點 幫助 菜單,點 註冊 項, 隨便輸個註冊碼
再次直接運行WINISO,OK,註冊完畢!
下面再用UPX把WINISO壓縮,這樣可以減小體積(1.7M -> 400K)
附錄:
1BAE6 讀取 username 和 registration 的開始地址
1BC92 搜索黑名單的地址
註冊碼黑名單:
B9EDA3326B574719D67268E9339320519E80ACD5ECDFA87F
FF940B917E86F1272F03536F72DFA14FDE3A5E60A034ED32
2AB03C9D5CF0D96827908ABD67F0045411A889996010AE26
0B7C505D2BC69D6F44F17E7499FEE7D91B6B667A1E3AD93D
9E4FA00AB9651EFC4DF9A1C5E5452BBA3E965229C83691DF
2D56DC52FB47FDF46B1BE80E42396A443B6F09AFBF4C792E
866C50120D1C3918C9AE7EF6830D3E7F36C1ED51DFCA5D71
6B9958C813E8933CA078DACE1AFCF244F1566D1B991E9250
A13036EC2772DFE2CAC8ACC6DCD22F94208A4E27847F626C
524D48C7986F0FDCAB98CB9385CDA3B847C9CA7D0175A1BC
94FB2F0057AB446FC790B6A30ED5F01EC2F45ED1023322AC
273D005D796168A62943544D98F9B41726DDB84B7EEA32FC
7B6D6675EC9E72DFCAB6ABA13949A6ADB30AB87C14A21544
2E32F51401686E023CBE28035A02003914B58B45926451D1
671647DFC4CEA1B12932C2C7830B2E5BC645C60B3BFA885A
9083BEC803D0DCC7FAEB1ADA104CAEE8A99A04FB8DB626C9
789C6D9E001B0DD4BEC9E8E6FE453065D37884F29177A06C
B5663 開始驗證的地址