LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

关于软件破解自校验的问题

admin
2014年4月10日 11:30 本文热度 7682
笑语
2005-10-31, 13:07:38
我用Ollydbg进行调试烈火网络电视v5.7,软件的upx壳我脱掉了可是用Ollydbg一调试运行Ollydbg就自动关掉了.可能是自校验我实在没有办法了 哪位大侠能教教我怎么改自校验代码 万分感谢

kanxue
2005-10-31, 13:22:31
校验无非就是读取文件,计算其Hash值,以比较文件是否被修改过。因此可以用相关的函数设断:CreateFileA(W)、GetFileSize

鸡蛋壳
2005-10-31, 13:44:27
最初由 kanxue 发布
校验无非就是读取文件,计算其Hash值,以比较文件是否被修改过。因此可以用相关的函数设断:CreateFileA(W)、GetFileSize

非也,也有内存段效验或者镜像文件效验,做的好都算比较变态的效验。

笑语
2005-10-31, 13:58:02
谢谢两位前辈,可是我在没脱壳之前用Ollydbg进行调试烈火网络电视v5.7,文件载入正常,但f9运行,Ollydbg也会自动退出请问这是自校验吗?

rick
2005-10-31, 14:37:55
做坏事被人发现了,呵呵
所以就把你关掉了。。。。

笑语
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
不知怎么解决?

手动脱壳后运行正常,但经OD载入后就跳出,OD自动关闭。

未脱壳的没有这种现象。

难道不是自检效验吗?如果是反调试,那应该在未脱壳的软件上也会自动关闭。

不管什么原因,有那些解决的方法?

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
根据10楼的,把其中OLLYDBG的两个跳转爆破掉就可以调试了。
OD自带的隐藏功能没用。
该程序也反调试DeDe,脱壳后发现是Delphi。

bqrmfjhh
2006-05-25, 14:43:37
这个程序比较简单。把他的黑名单改下就好了.不算什么难的.内存中搜索OLLYDBG,修改他为别的自然就不会关了你的OD.

该文章在 2014/4/10 11:30:30 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2024 ClickSun All Rights Reserved