太亂,筆記而已,待整理。
NativeExcel 是一款Delphi下產生MS Excel檔案的工具。它不需要使用者安裝Microsoft Office,而是直接產生excel檔案,開發人員可以用NativeExcel代替傳統的基於OLE的Excel 組件。
:修改的是NativeExcel2.
http://nika-soft.com/
編譯組建檔案後,雙擊,提示錯誤,"This application contains demo version of NativeExcel components. Code="
使用OD,即OLLYICE開啟編譯後的檔案,分析完成後,右鍵,尋找,所有參考字串.
找到剛才那條字串後,代碼如下:
004A1E4F |. E8 B832F6FF call 0040510C
004A1E54 |. EB 0D jmp short 004A1E63
004A1E56 |> 8D45 FC lea eax, dword ptr [ebp-4]
004A1E59 |. BA D01E4A00 mov edx, 004A1ED0
004A1E5E |. E8 A932F6FF call 0040510C
004A1E63 |> 83FB 02 cmp ebx, 2
004A1E66 7D 28 jge short 004A1E90
004A1E68 |. 6A 00 push 0
004A1E6A |. 8D45 F0 lea eax, dword ptr [ebp-10]
004A1E6D |. 8B4D FC mov ecx, dword ptr [ebp-4]
004A1E70 |. BA DC1E4A00 mov edx, 004A1EDC ; ASCII "This application contains demo version of NativeExcel components. Code="
004A1E75 |. E8 D632F6FF call 00405150
004A1E7A |. 8B45 F0 mov eax, dword ptr [ebp-10] ; |
004A1E7D |. 0FB70D 241F4A>movzx ecx, word ptr [4A1F24] ; |
004A1E84 |. B2 01 mov dl, 1 ; |
004A1E86 |. E8 D901FAFF call 00442064 ; \ExportSa.00442064
004A1E8B |. E8 BC2EF6FF call 00404D4C
004A1E90 |> 33C0 xor eax, eax
004A1E92 |. 5A pop edx
004A1E93 |. 59 pop ecx
004A1E94 |. 59 pop ecx
004A1E95 |. 64:8910 mov dword ptr fs:[eax], edx
;號後面為調試器產生的注釋,可以看到上面不遠出就有一個關鍵跳轉,jge short 004A1E90, 比較後,不滿足條件即跳,跳走後,不執行後面的messagebox和破壞性函數. 從原始檔控制的DCU檔案中,尋找類似的特徵碼,即尋找 7D28 ,找到後,修改為EB28,EB為JMP的彙編代碼,即無論是否滿足條件都執行跳轉.修改完成. 修改nExcel.dcu.
產生EXCEL第一列第一行儲存格內容為:
C(1,1)
This worksheet was created by demo version of NativeExcel library
不定位置會含有注釋:
注釋:This worksheet was created by demo version of NativeExcel library
這個字串是加密的,
已加密字串
=<&u":'>&=00!u"4&u6'04!01u7,u108:u#0'&<:;u:3u4!<#0-609u9<7'4',
先進行解密
加密字串共四處。w32dasm更好尋找到。
在四處下斷,測試是哪一個函數。將其開始push ebp 直接ret。