查看單個文章
舊 2004-02-19, 06:02 AM   #1
psac
榮譽會員
 
psac 的頭像
榮譽勳章
UID - 3662
在線等級: 級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時
註冊日期: 2002-12-07
住址: 木柵市立動物園
文章: 17381
現金: 5253 金幣
資產: 33853 金幣
預設 PEbundle V2.3脫殼——唐詩三百首 V1.2

下載頁面: http://www.skycn.com/soft/4259.html
軟體大小: 584 KB
軟體語言: 簡體中文
軟體類別: 大陸開發軟體 / 免費版 / 文科工具
套用平台: Win9x/NT/2000/XP
加入時間: 2002-08-24 22:44:25
下載次數: 18939
推薦等級: ***

【軟體簡介】:唐詩是中國古典文學的瑰寶,而《唐詩三百首》又可謂唐詩中的精華。本軟體是唐詩三百首的電子版,並且具有它獨特的功能:1、瀏覽。顯示唐詩的詩名、作者、詩文、註解和簡析,附帶作者簡介。可選項詩作按詩名排列、或按作者排列。瀏覽程序中可快速翻頁,手動滾行、自動滾行和逐字顯示三種模式任意切換;令行禁止,隨心所欲。2、批注。在欣賞唐詩時,如有心得體會,可隨時修改註釋、簡析或作者簡介,甚至原詩文,並且儲存起來。3、搜尋功能強大。支持多關鍵字搜尋,可同時通過詩名、作者、詩句等多種方式進行搜尋;並首創「多步驟返回搜尋法」,記憶用戶每個搜尋步驟的信息,隨時可退回前面的的步驟,以從該步驟的結果中繼續搜尋。只要您對某首唐詩的任一部分有一點印象,通過一兩個字詞,就能通過完善的查詢功能搜尋到您想知道的唐詩。4、增加、刪除。唐詩浩如煙海,遠不止三百首,難以窮盡。所以本軟體特別留了一個拓展入口,可以根據自己的喜好,隨意刪、改、添唐詩。5、匯出存檔。能將唐詩詩文或全部(包括詩名、作者、註解、簡析)匯出到文本文件,便於單獨瀏覽或處理。6、變換文字顏色。各部分文字顏色都能隨意變換,並具有記憶功能,記住您的個性化設定。7、儲存和讀取進度。每次您讀詩到一段落想休息時,可以記下進度,下次再來閱讀時選項是否從儲存進度處開始。8、背景音樂。在您讀詩時有輕鬆典雅的背景音樂陪伴。

【軟體限制】:免費軟體,傳播自由

【作者聲明】:初學Crack,只是感興趣,沒有其它目的。失誤之處敬請諸位大俠賜教!

【破解工具】:Ollydbg1.09、PEiD、LordPE、ImportREC

—————————————————————————————————
【脫殼程序】:



這個東東加的是PEbundle v2.3,和 萬年曆記事簿-XP1.8 的有點點不同啦 ^O^

用Ollydbg手動脫殼,老規矩:載入後彈出「是壓縮程式碼——要繼續進行分析嗎?」,點「否」。


004A6000 9C pushfd
====>進入OD後斷在這!

004A6001 60 pushad
004A6002 E8 02000000 call 唐詩三百.004A6009
====>變形JMP!F7走進

004A6007 33C0 xor eax,eax
004A6009 8BC4 mov eax,esp
004A600B 83C0 04 add eax,4
004A600E 93 xchg eax,ebx
004A600F 8BE3 mov esp,ebx
004A6011 8B5B FC mov ebx,dword ptr ds:[ebx-4]
004A6014 81EB 07304000 sub ebx,唐詩三百.00403007
004A601A 87DD xchg ebp,ebx
004A601C 80BD DD3B4000 00 cmp byte ptr ss:[ebp+403BDD],0
004A6023 74 21 je short 唐詩三百.004A6046
====>跳

004A6046 8DBD 703E4000 lea edi,dword ptr ss:[ebp+403E70]
004A604C 33C0 xor eax,eax
004A604E 8A85 17374000 mov al,byte ptr ss:[ebp+403717]
004A6054 3C 05 cmp al,5
004A6056 74 72 je short 唐詩三百.004A60CA
004A6058 3C 03 cmp al,3
004A605A 0F84 9C000000 je 唐詩三百.004A60FC
004A6060 3C 02 cmp al,2
004A6062 0F84 86000000 je 唐詩三百.004A60EE
004A6068 3C 04 cmp al,4
004A606A 74 19 je short 唐詩三百.004A6085
004A606C 3C 00 cmp al,0
004A606E 0F85 B1000000 jnz 唐詩三百.004A6125
004A6074 68 D8010000 push 1D8
004A6079 57 push edi
004A607A FF95 A6384000 call dword ptr ss:[ebp+4038A6]
004A6080 E9 83000000 jmp 唐詩三百.004A6108
====>跳

004A6108 8DBD 703E4000 lea edi,dword ptr ss:[ebp+403E70]
004A610E 50 push eax
004A610F 6A 00 push 0
004A6111 57 push edi
004A6112 FF95 82384000 call dword ptr ss:[ebp+403882]
004A6118 8885 1B374000 mov byte ptr ss:[ebp+40371B],al
004A611E 58 pop eax
004A611F 03F8 add edi,eax
004A6121 C607 5C mov byte ptr ds:[edi],5C
004A6124 47 inc edi
004A6125 8DB5 E3364000 lea esi,dword ptr ss:[ebp+4036E3]
004A612B AC lods byte ptr ds:[esi]
004A612C 0AC0 or al,al
004A612E 74 03 je short 唐詩三百.004A6133
004A6130 AA stos byte ptr es:[edi]
004A6131 ^ EB F8 jmp short 唐詩三百.004A612B
====>F4下去

004A6133 80BD 18374000 01 cmp byte ptr ss:[ebp+403718],1
004A613A /74 7B je short 唐詩三百.004A61B7
004A613C |8DB5 703E4000 lea esi,dword ptr ss:[ebp+403E70]
004A6142 |6A 00 push 0
004A6144 |68 80000000 push 80
004A6149 |6A 03 push 3
004A614B |6A 00 push 0
004A614D |6A 00 push 0
004A614F |68 00000080 push 80000000
004A6154 |56 push esi
004A6155 |FF95 86384000 call dword ptr ss:[ebp+403886]
004A615B |83F8 FF cmp eax,-1
004A615E |74 57 je short 唐詩三百.004A61B7
004A6160 8985 0B374000 mov dword ptr ss:[ebp+40370B],eax
004A6166 8D85 34384000 lea eax,dword ptr ss:[ebp+403834]
004A616C 8D9D 3C384000 lea ebx,dword ptr ss:[ebp+40383C]
004A6172 8D8D 44384000 lea ecx,dword ptr ss:[ebp+403844]
004A6178 51 push ecx
004A6179 53 push ebx
004A617A 50 push eax
004A617B FFB5 0B374000 push dword ptr ss:[ebp+40370B]
004A6181 FF95 9A384000 call dword ptr ss:[ebp+40389A]
004A6187 FFB5 0B374000 push dword ptr ss:[ebp+40370B]
004A618D FF95 7E384000 call dword ptr ss:[ebp+40387E]
004A6193 8B85 44384000 mov eax,dword ptr ss:[ebp+403844]
004A6199 8B9D 48384000 mov ebx,dword ptr ss:[ebp+403848]
004A619F 3B9D 30384000 cmp ebx,dword ptr ss:[ebp+403830]
004A61A5 0F87 F9000000 ja 唐詩三百.004A62A4
004A61AB 3B85 2C384000 cmp eax,dword ptr ss:[ebp+40382C]
004A61B1 /0F83 ED000000 jnb 唐詩三百.004A62A4
====>跳

004A62A4 8D85 AA344000 lea eax,dword ptr ss:[ebp+4034AA]
004A62AA 50 push eax
004A62AB E8 94010000 call 唐詩三百.004A6444
004A62B0 FFB5 94354000 push dword ptr ss:[ebp+403594]
004A62B6 FFB5 CF364000 push dword ptr ss:[ebp+4036CF]
004A62BC E8 EC070000 call 唐詩三百.004A6AAD
004A62C1 0F83 A8000000 jnb 唐詩三百.004A636F
====>跳

004A636F 61 popad
004A6370 9D popfd
004A6371 68 00604900 push 唐詩三百.00496000
004A6376 C3 retn
====>返回到00496000


———————————————————————


00496000 9C pushfd
00496001 60 pushad
00496002 E8 02000000 call 唐詩三百.00496009
====>變形JMP!F7走進

00496007 33C0 xor eax,eax
00496009 8BC4 mov eax,esp
0049600B 83C0 04 add eax,4
0049600E 93 xchg eax,ebx
0049600F 8BE3 mov esp,ebx
00496011 8B5B FC mov ebx,dword ptr ds:[ebx-4]
00496014 81EB 07304000 sub ebx,唐詩三百.00403007
0049601A 87DD xchg ebp,ebx
0049601C 80BD DD3B4000 00 cmp byte ptr ss:[ebp+403BDD],0
00496023 74 21 je short 唐詩三百.00496046

…… …… 省 略…… ……這個程序和上面的走法是一樣的,估計是用PEbundle做了數次 ^O^


0049636F 61 popad
00496370 9D popfd
00496371 68 00C04200 push 唐詩三百.0042C000
00496376 C3 retn
====>返回到0042C000


———————————————————————


0042C000 /EB 06 jmp short 唐詩三百.0042C008
0042C002 |68 6B130000 push 136B
0042C007 |C3 retn
0042C008 \9C pushfd
0042C009 60 pushad
0042C00A E8 02000000 call 唐詩三百.0042C011
====>變形JMP!F7走進

0042C00F 33C0 xor eax,eax
0042C011 8BC4 mov eax,esp
…… …… 省 略…… ……
0042C07B C3 retn
====>返回到0042D17B


0042D17B BD CF400200 mov ebp,240CF
…… …… 省 略…… ……
0042D1A7 EB 26 jmp short 唐詩三百.0042D1CF
====>跳

0042D1CF 8BB5 E6904000 mov esi,dword ptr ss:[ebp+4090E6]
…… …… 省 略…… ……
0042D21D 74 2E je short 唐詩三百.0042D24D
====>跳

0042D24D 57 push edi
0042D24E AD lods dword ptr ds:[esi]
0042D24F 85C0 test eax,eax
0042D251 0F84 9B000000 je 唐詩三百.0042D2F2
====>從這裡跳出下面的循環 F4 到0042D2F2
…… …… 省 略 …… ……
0042D2B0 ^ EB 9B jmp short 唐詩三百.0042D24D


0042D2F1 24 5F and al,5F
====>繁復指令!把24改為90
0042D2F1 90 nop //改後的變化
0042D2F2 5F pop edi ; 006F0000
0042D2F3 8BB5 E2904000 mov esi,dword ptr ss:[ebp+4090E2]
0042D2F9 AD lods dword ptr ds:[esi]
0042D2FA 83F8 FF cmp eax,-1
0042D2FD 74 74 je short 唐詩三百.0042D373
====>從這裡跳出下面的循環 F4 到0042D373
…… …… 省 略 …… ……
0042D370 ^\EB 87 jmp short 唐詩三百.0042D2F9


0042D372 0F6800 punpckhbw mm0,qword ptr ds:[eax]
====>繁復指令!把0F改為90
0042D372 90 nop //改後的變化
0042D373 68 00400000 push 4000

…… …… 省 略 …… ……
0042D3A0 74 72 je short 唐詩三百.0042D414
====>從這裡跳出下面的循環 F4 到0042D414

0042D3A2 78 70 js short 唐詩三百.0042D414
…… …… 省 略 …… ……

0042D414 5F pop edi
…… …… 省 略 …… ……
0042D440 |74 15 je short 唐詩三百.0042D457
====>從這裡跳出下面的循環 F4 到0042D457

0042D442 |83F9 04 cmp ecx,4
0042D445 ^|73 E8 jnb short 唐詩三百.0042D42F
0042D447 BA 04000000 mov edx,4
0042D44C 2BD1 sub edx,ecx
0042D44E 2BF2 sub esi,edx
0042D450 B9 04000000 mov ecx,4
0042D455 ^ EB D8 jmp short 唐詩三百.0042D42F
0042D457 3B85 67974000 cmp eax,dword ptr ss:[ebp+409767]
0042D45D 74 4D je short 唐詩三百.0042D4AC
====>跳

0042D4AB 00E8 add al,ch
====>繁復指令!把00改為90
0042D4AB 90 nop //改後的變化
0042D4AC E8 A1010000 call 唐詩三百.0042D652
0042D4B1 E8 A3000000 call 唐詩三百.0042D559
0042D4B6 73 6B jnb short 唐詩三百.0042D523
====>跳

0042D523 80BD 6B9F4000 C3 cmp byte ptr ss:[ebp+409F6B],0C3
0042D52A 74 22 je short 唐詩三百.0042D54E
====>跳


0042D54E 61 popad
0042D54F 9D popfd
0042D550 50 push eax
0042D551 68 6B134000 push 唐詩三百.0040136B
====>0040136B 這就是OEP值

0042D556 C2 0400 retn 4
====>返回 0040136B 勝利的曙光!



———————————————————————

0040136B 55 push ebp
====>在這兒用LordPE轉存偵錯工作

0040136C 8BEC mov ebp,esp
0040136E 6A FF push -1
00401370 68 B0404000 push 唐詩三百.004040B0
00401375 68 A01E4000 push 唐詩三百.00401EA0



———————————————————————

F9執行唐詩三百首,執行ImportREC,選項這個工作。把OEP改為0000136B,點IT AutoSearch,點「Get Import」,FixDump。正常執行! 536K ->676K 暈,又是一個 易程序 !還好不用註冊啦 ^O^


呵呵,再用FileScanner最佳化一下脫殼修復後的dumped_.exe吧 ^O^ 676K->649K


OK! 完成! ^O^ ^O^
psac 目前離線  
送花文章: 3, 收花文章: 1631 篇, 收花: 3205 次