kanxue
2005-10-31, 13:22:31
校驗無非就是讀取文件,計算其Hash值,以比較文件是否被修改過。因此可以用相關的函數(shù)設斷:CreateFileA(W)、GetFileSize
關于軟件破解自校驗的問題
當前位置:點晴教程→知識管理交流
→『 技術文檔交流 』
笑語 2005-10-31, 13:07:38 我用Ollydbg進行調試烈火網(wǎng)絡電視v5.7,軟件的upx殼我脫掉了可是用Ollydbg一調試運行Ollydbg就自動關掉了.可能是自校驗我實在沒有辦法了 哪位大俠能教教我怎么改自校驗代碼 萬分感謝 kanxue 2005-10-31, 13:22:31 校驗無非就是讀取文件,計算其Hash值,以比較文件是否被修改過。因此可以用相關的函數(shù)設斷:CreateFileA(W)、GetFileSize 雞蛋殼 2005-10-31, 13:44:27 最初由 kanxue 發(fā)布 校驗無非就是讀取文件,計算其Hash值,以比較文件是否被修改過。因此可以用相關的函數(shù)設斷:CreateFileA(W)、GetFileSize 非也,也有內存段效驗或者鏡像文件效驗,做的好都算比較變態(tài)的效驗。 笑語 2005-10-31, 13:58:02 謝謝兩位前輩,可是我在沒脫殼之前用Ollydbg進行調試烈火網(wǎng)絡電視v5.7,文件載入正常,但f9運行,Ollydbg也會自動退出請問這是自校驗嗎? rick 2005-10-31, 14:37:55 做壞事被人發(fā)現(xiàn)了,呵呵 所以就把你關掉了。。。。 笑語 2005-10-31, 15:08:08 還有我脫殼后程序可正常運行,但已載入od后在od里f9運行就不行,連od也一起關掉這到底是不是自校驗?如果是該怎么解決?謝謝 笑語 2005-11-01, 01:16:59 地址 十六進制 反匯編 00501D0F E8 5824F6FF call firetv_U.0046416C 00501D14 8B0D A8525000 mov ecx,dword ptr ds:[5052A8] ; firetv_U.005074F4 00501D1A 8B03 mov eax,dword ptr ds:[ebx] 00501D1C 8B15 28854F00 mov edx,dword ptr ds:[4F8528] ; firetv_U.004F8574 00501D22 E8 4524F6FF call firetv_U.0046416C 00501D27 8B0D 1C4F5000 mov ecx,dword ptr ds:[504F1C] ; firetv_U.005074FC 00501D2D 8B03 mov eax,dword ptr ds:[ebx] 00501D2F 8B15 A0884F00 mov edx,dword ptr ds:[4F88A0] ; firetv_U.004F88EC 00501D35 E8 3224F6FF call firetv_U.0046416C 00501D3A 8B0D 784F5000 mov ecx,dword ptr ds:[504F78] ; firetv_U.00507504 00501D40 8B03 mov eax,dword ptr ds:[ebx] 00501D42 8B15 908A4F00 mov edx,dword ptr ds:[4F8A90] ; firetv_U.004F8ADC 00501D48 E8 1F24F6FF call firetv_U.0046416C 00501D4D 8B0D E4525000 mov ecx,dword ptr ds:[5052E4] ; firetv_U.0050750C 00501D53 8B03 mov eax,dword ptr ds:[ebx] 00501D55 8B15 64944F00 mov edx,dword ptr ds:[4F9464] ; firetv_U.004F94B0 00501D5B E8 0C24F6FF call firetv_U.0046416C 00501D60 8B0D B4545000 mov ecx,dword ptr ds:[5054B4] ; firetv_U.00507514 00501D66 8B03 mov eax,dword ptr ds:[ebx] 00501D68 8B15 00964F00 mov edx,dword ptr ds:[4F9600] ; firetv_U.004F964C 00501D6E E8 F923F6FF call firetv_U.0046416C 00501D73 8B0D 78525000 mov ecx,dword ptr ds:[505278] ; firetv_U.0050755C 00501D79 8B03 mov eax,dword ptr ds:[ebx] 00501D7B 8B15 E4155000 mov edx,dword ptr ds:[5015E4] ; firetv_U.00501630 00501D81 E8 E623F6FF call firetv_U.0046416C 00501D86 8B0D D4525000 mov ecx,dword ptr ds:[5052D4] ; firetv_U.0050751C 00501D8C 8B03 mov eax,dword ptr ds:[ebx] 00501D8E 8B15 189A4F00 mov edx,dword ptr ds:[4F9A18] ; firetv_U.004F9A64 00501D94 E8 D323F6FF call firetv_U.0046416C 00501D99 8B0D 94505000 mov ecx,dword ptr ds:[505094] ; firetv_U.005074E0 00501D9F 8B03 mov eax,dword ptr ds:[ebx] 00501DA1 8B15 78714F00 mov edx,dword ptr ds:[4F7178] ; firetv_U.004F71C4 00501DA7 E8 C023F6FF call firetv_U.0046416C 00501DAC 8B03 mov eax,dword ptr ds:[ebx] 請問這段代碼 是什么意思,因為程序運行到00501D0F就自動關閉了。我是菜鳥出來乍到請多多關照 nba2005 2005-12-01, 12:10:18 我最近也碰到這種情況. 由于是最新的殼版本,只好手動脫殼. 但OD載入就自動關閉了. 請高手指教,學習中. wangshq397 2005-12-01, 13:57:00 的確,有時用od無法載入,如何手動脫殼呢,是否需要先修改程序代碼? kyc 2005-12-01, 15:25:03 這個不是自校驗,是反調試. 004FDFE3 8D85 00FEFFFF lea eax,dword ptr ss:[ebp-200] 004FDFE9 50 push eax 004FDFEA 53 push ebx 004FDFEB E8 6496F0FF call <jmp.&USER32.GetWindowTextA> 004FDFF0 8D85 E4FDFFFF lea eax,dword ptr ss:[ebp-21C] 004FDFF6 8D95 00FEFFFF lea edx,dword ptr ss:[ebp-200] 004FDFFC B9 00010000 mov ecx,100 004FE001 E8 C668F0FF call firetvun.004048CC 004FE006 8B95 E4FDFFFF mov edx,dword ptr ss:[ebp-21C] 004FE00C B8 94E14F00 mov eax,firetvun.004FE194 004FE011 E8 426CF0FF call firetvun.00404C58 004FE016 85C0 test eax,eax 004FE018 74 0C je short firetvun.004FE026 004FE01A 6A 00 push 0 004FE01C 6A 00 push 0 004FE01E 6A 12 push 12 004FE020 53 push ebx 004FE021 E8 4E97F0FF call <jmp.&USER32.PostMessageA> 004FE026 6A 02 push 2 004FE028 53 push ebx 004FE029 E8 F695F0FF call <jmp.&USER32.GetWindow> 004FE02E 8BD8 mov ebx,eax 004FE030 85DB test ebx,ebx 004FE032 ^ 0F85 ADFEFFFF jnz firetvun.004FDEE5 004FE038 6A 00 push 0 004FE03A 68 A4E14F00 push firetvun.004FE1A4 ; ASCII "OLLYDBG" 004FE03F E8 6094F0FF call <jmp.&USER32.FindWindowA> 004FE044 85C0 test eax,eax 004FE046 74 0C je short firetvun.004FE054 004FE048 6A 00 push 0 004FE04A 6A 00 push 0 004FE04C 6A 12 push 12 004FE04E 50 push eax 004FE04F E8 2097F0FF call <jmp.&USER32.PostMessageA> 004FE054 6A 00 push 0 004FE056 68 ACE14F00 push firetvun.004FE1AC ; ASCII "TDeDeMainForm" 004FE05B E8 4494F0FF call <jmp.&USER32.FindWindowA> 004FE060 8BD8 mov ebx,eax 004FE062 85DB test ebx,ebx 004FE064 74 0C je short firetvun.004FE072 004FE066 6A 00 push 0 004FE068 6A 00 push 0 004FE06A 6A 12 push 12 004FE06C 53 push ebx 004FE06D E8 0297F0FF call <jmp.&USER32.PostMessageA> 004FE072 6A 00 push 0 004FE074 68 A4E14F00 push firetvun.004FE1A4 ; ASCII "OLLYDBG" 004FE079 E8 2694F0FF call <jmp.&USER32.FindWindowA> 004FE07E 85C0 test eax,eax 004FE080 74 0C je short firetvun.004FE08E 004FE082 6A 00 push 0 004FE084 6A 00 push 0 004FE086 6A 12 push 12 004FE088 50 push eax 004FE089 E8 E696F0FF call <jmp.&USER32.PostMessageA> 004FE08E 6A 00 push 0 004FE090 68 ACE14F00 push firetvun.004FE1AC ; ASCII "TDeDeMainForm" 004FE095 E8 0A94F0FF call <jmp.&USER32.FindWindowA> 004FE09A 85C0 test eax,eax 004FE09C 74 0C je short firetvun.004FE0AA 004FE09E 6A 00 push 0 004FE0A0 6A 00 push 0 004FE0A2 6A 12 push 12 004FE0A4 50 push eax 004FE0A5 E8 CA96F0FF call <jmp.&USER32.PostMessageA> 004FE0AA 6A 00 push 0 004FE0AC 68 BCE14F00 push firetvun.004FE1BC ; ASCII "explore" 004FE0B1 E8 EE93F0FF call <jmp.&USER32.FindWindowA> 004FE0B6 8BD8 mov ebx,eax 004FE0B8 85FF test edi,edi 004FE0BA 74 4B je short firetvun.004FE107 004FE0BC 6A 00 push 0 004FE0BE 68 C4E14F00 push firetvun.004FE1C4 ; ASCII "MDIClient" 004FE0C3 6A 00 push 0 004FE0C5 53 push ebx 004FE0C6 E8 E193F0FF call <jmp.&USER32.FindWindowExA> 004FE0CB 8BF8 mov edi,eax 004FE0CD 85FF test edi,edi 004FE0CF 74 36 je short firetvun.004FE107 004FE0D1 68 D0E14F00 push firetvun.004FE1D0 ; ASCII "CPU" 004FE0D6 6A 00 push 0 004FE0D8 6A 00 push 0 004FE0DA 57 push edi 004FE0DB E8 CC93F0FF call <jmp.&USER32.FindWindowExA> 004FE0E0 8BF8 mov edi,eax 004FE0E2 85FF test edi,edi 004FE0E4 74 21 je short firetvun.004FE107 004FE0E6 6A 00 push 0 004FE0E8 68 D4E14F00 push firetvun.004FE1D4 ; ASCII "OOOOASM" 004FE0ED 6A 00 push 0 004FE0EF 57 push edi 004FE0F0 E8 B793F0FF call <jmp.&USER32.FindWindowExA> 004FE0F5 8BF8 mov edi,eax 004FE0F7 85FF test edi,edi 004FE0F9 74 0C je short firetvun.004FE107 004FE0FB 6A 00 push 0 004FE0FD 6A 00 push 0 004FE0FF 6A 12 push 12 004FE101 53 push ebx 004FE102 E8 6D96F0FF call <jmp.&USER32.PostMessageA> 004FE107 33C0 xor eax,eax nba2005 2005-12-01, 17:56:35 不知怎么解決? 手動脫殼后運行正常,但經(jīng)OD載入后就跳出,OD自動關閉。 未脫殼的沒有這種現(xiàn)象。 難道不是自檢效驗嗎?如果是反調試,那應該在未脫殼的軟件上也會自動關閉。 不管什么原因,有那些解決的方法? yuyu 2005-12-03, 18:27:30 你用插件將OD隱藏,試試吧. marsaber 2005-12-03, 21:34:03 用插件將OD隱藏? 請教一下,怎么隱藏? yuyu 2005-12-04, 02:40:29 OD 用: ODbyDYK v1.10[05.09] 這個版本 在菜單有: 插件->調試OD隱藏插件. nba2005 2005-12-04, 12:01:12 下午就行動. cyto 2005-12-05, 21:16:56 根據(jù)10樓的,把其中OLLYDBG的兩個跳轉爆破掉就可以調試了。 OD自帶的隱藏功能沒用。 該程序也反調試DeDe,脫殼后發(fā)現(xiàn)是Delphi。 bqrmfjhh 2006-05-25, 14:43:37 這個程序比較簡單。把他的黑名單改下就好了.不算什么難的.內存中搜索OLLYDBG,修改他為別的自然就不會關了你的OD. 該文章在 2014/4/10 11:30:30 編輯過 |
關鍵字查詢
相關文章
正在查詢... |