首页
社区
课程
招聘
[求助]关于软件破解自校验的问题
发表于: 2005-10-31 13:07 8586

[求助]关于软件破解自校验的问题

2005-10-31 13:07
8586
我用Ollydbg进行调试烈火网络电视v5.7,软件的upx壳我脱掉了可是用Ollydbg一调试运行Ollydbg就自动关掉了.可能是自校验我实在没有办法了  哪位大侠能教教我怎么改自校验代码  万分感谢

[培训]科锐逆向工程师培训第53期2025年7月8日开班!

收藏
免费 0
支持
分享
最新回复 (16)
雪    币: 61782
活跃值: (21986)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
2
校验无非就是读取文件,计算其Hash值,以比较文件是否被修改过。因此可以用相关的函数设断:CreateFileA(W)、GetFileSize
2005-10-31 13:22
0
雪    币: 427
活跃值: (412)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
最初由 kanxue 发布
校验无非就是读取文件,计算其Hash值,以比较文件是否被修改过。因此可以用相关的函数设断:CreateFileA(W)、GetFileSize


非也,也有内存段效验或者镜像文件效验,做的好都算比较变态的效验。
2005-10-31 13:44
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
谢谢两位前辈,可是我在没脱壳之前用Ollydbg进行调试烈火网络电视v5.7,文件载入正常,但f9运行,Ollydbg也会自动退出请问这是自校验吗?
2005-10-31 13:58
0
雪    币: 288
活跃值: (112)
能力值: ( LV12,RANK:290 )
在线值:
发帖
回帖
粉丝
5
做坏事被人发现了,呵呵
所以就把你关掉了。。。。
2005-10-31 14:37
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
还有我脱壳后程序可正常运行,但已载入od后在od里f9运行就不行,连od也一起关掉这到底是不是自校验?如果是该怎么解决?谢谢
2005-10-31 15:08
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
地址       十六进制       反汇编
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就自动关闭了。我是菜鸟出来乍到请多多关照
2005-11-1 01:16
0
雪    币: 423
活跃值: (11)
能力值: ( LV9,RANK:230 )
在线值:
发帖
回帖
粉丝
8
我最近也碰到这种情况.
由于是最新的壳版本,只好手动脱壳.
但OD载入就自动关闭了.

请高手指教,学习中.
2005-12-1 12:10
0
雪    币: 277
活跃值: (312)
能力值: ( LV9,RANK:330 )
在线值:
发帖
回帖
粉丝
9
的确,有时用od无法载入,如何手动脱壳呢,是否需要先修改程序代码?
2005-12-1 13:57
0
雪    币: 389
活跃值: (912)
能力值: ( LV9,RANK:770 )
在线值:
发帖
回帖
粉丝
10
这个不是自校验,是反调试.
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
2005-12-1 15:25
0
雪    币: 423
活跃值: (11)
能力值: ( LV9,RANK:230 )
在线值:
发帖
回帖
粉丝
11
不知怎么解决?

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

未脱壳的没有这种现象。

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

不管什么原因,有那些解决的方法?
2005-12-1 17:56
0
雪    币: 221
活跃值: (100)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
12
你用插件将OD隐藏,试试吧.
2005-12-3 18:27
0
雪    币: 267
活跃值: (285)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
用插件将OD隐藏?
请教一下,怎么隐藏?
2005-12-3 21:34
0
雪    币: 221
活跃值: (100)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
14
OD 用: ODbyDYK v1.10[05.09] 这个版本

在菜单有: 插件->调试OD隐藏插件.
2005-12-4 02:40
0
雪    币: 423
活跃值: (11)
能力值: ( LV9,RANK:230 )
在线值:
发帖
回帖
粉丝
15
下午就行动.
2005-12-4 12:01
0
雪    币: 417
活跃值: (475)
能力值: ( LV9,RANK:1250 )
在线值:
发帖
回帖
粉丝
16
根据10楼的,把其中OLLYDBG的两个跳转爆破掉就可以调试了。
OD自带的隐藏功能没用。
该程序也反调试DeDe,脱壳后发现是Delphi。
2005-12-5 21:16
0
雪    币: 215
活跃值: (17)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
这个程序比较简单。把他的黑名单改下就好了.不算什么难的.内存中搜索OLLYDBG,修改他为别的自然就不会关了你的OD.
2006-5-25 14:43
0
游客
登录 | 注册 方可回帖
返回