首页
社区
课程
招聘
[旧帖] 请教最近带micrcdog狗遇到的疑惑 0.00雪花
发表于: 2011-9-15 10:53 13655

[旧帖] 请教最近带micrcdog狗遇到的疑惑 0.00雪花

2011-9-15 10:53
13655
手里有正版的microdog想来学习一下,遇到了棘手的问题,求教大牛帮忙

00420A3D   |.  E8 BE610300           call AAAA.00456C00                              ;有32个地方调用
00420A42   |.  83C4 04               add esp,4                                            
00420A45   |.  85C0                  test eax,eax                                       ;  有狗eax=1
00420A47   |.  75 20                 jnz short AAAA.00420A69                         ;  必须跳

这是调用狗的主函数
00456C00   /$  6A FF                 push -1
00456C02   |.  68 79DB4500           push AAAA.0045DB79
00456C07   |.  64:A1 00000000        mov eax,dword ptr fs:[0]
00456C0D   |.  50                    push eax
00456C0E   |.  51                    push ecx
00456C0F   |.  56                    push esi
00456C10   |.  A1 98514700           mov eax,dword ptr ds:[475198]
00456C15   |.  33C4                  xor eax,esp
00456C17   |.  50                    push eax
00456C18   |.  8D4424 0C             lea eax,dword ptr ss:[esp+C]
00456C1C   |.  64:A3 00000000        mov dword ptr fs:[0],eax
00456C22   |.  E8 D005FBFF           call AAAA.004071F7
00456C27       85C0                  test eax,eax                                       ;  eax=0
00456C29       74 13                 je short AAAA.00456C3E                          ;  必须跳
00456C2B   |>  33C0                  xor eax,eax
00456C2D   |.  8B4C24 0C             mov ecx,dword ptr ss:[esp+C]
00456C31   |.  64:890D 00000000      mov dword ptr fs:[0],ecx
00456C38   |.  59                    pop ecx
00456C39   |.  5E                    pop esi
00456C3A   |.  83C4 10               add esp,10
00456C3D   |.  C3                    retn
00456C3E   |>  A1 28E04500           mov eax,dword ptr ds:[<&CosaDll.hMultiModlib>]
00456C43   |.  8338 00               cmp dword ptr ds:[eax],0
00456C46   |.^ 74 E3                 je short AAAA.00456C2B                          ;  没跳
00456C48   |.  8B00                  mov eax,dword ptr ds:[eax]
00456C4A   |.  8B35 30E14500         mov esi,dword ptr ds:[<&KERNEL32.GetProcAddress>]  ;  kernel32.GetProcAddress
00456C50   |.  68 1C804600           push AAAA.0046801C                              ; /rcdog_open
00456C55   |.  50                    push eax                                           ; |hModule
00456C56   |.  FFD6                  call esi                                           ; \GetProcAddress
00456C58   |.  8B0D 28E04500         mov ecx,dword ptr ds:[<&CosaDll.hMultiModlib>]     ;  aaadll.hMultiModlib
00456C5E   |.  A3 E8544700           mov dword ptr ds:[4754E8],eax
00456C63   |.  8B11                  mov edx,dword ptr ds:[ecx]
00456C65   |.  68 10804600           push AAAA.00468010                              ; /rcdog_close
00456C6A   |.  52                    push edx                                           ; |hModule
00456C6B   |.  FFD6                  call esi                                           ; \GetProcAddress
00456C6D   |.  A3 E4544700           mov dword ptr ds:[4754E4],eax
00456C72   |.  A1 28E04500           mov eax,dword ptr ds:[<&CosaDll.hMultiModlib>]
00456C77   |.  8B08                  mov ecx,dword ptr ds:[eax]
00456C79   |.  68 FC7F4600           push AAAA.00467FFC                              ; /rcdog_checkmodule
00456C7E   |.  51                    push ecx                                           ; |hModule
00456C7F   |.  FFD6                  call esi                                           ; \GetProcAddress
00456C81   |.  8B15 28E04500         mov edx,dword ptr ds:[<&CosaDll.hMultiModlib>]     ;  aaadll.hMultiModlib
00456C87   |.  A3 E0544700           mov dword ptr ds:[4754E0],eax
00456C8C   |.  8B02                  mov eax,dword ptr ds:[edx]
00456C8E   |.  68 E47F4600           push AAAA.00467FE4                              ; /rcdog_getlastdogerror
00456C93   |.  50                    push eax                                           ; |hModule
00456C94   |.  FFD6                  call esi                                           ; \GetProcAddress
00456C96   |.  6A 00                 push 0
00456C98   |.  68 56150A00           push 0A1556
00456C9D   |.  A3 D0544700           mov dword ptr ds:[4754D0],eax
00456CA2   |.  C705 FC544700 56150A0>mov dword ptr ds:[4754FC],0A1556
00456CAC   |.  C605 F0544700 00      mov byte ptr ds:[4754F0],0
00456CB3   |.  FF15 E8544700         call dword ptr ds:[4754E8]                         ;  aaa16dl.RCDog_Open
00456CB9   |.  83C4 08               add esp,8
00456CBC       85C0                  test eax,eax                                       ;  有狗返回0
00456CBE       75 29                 jnz short AAAA.00456CE9                         ;  不能跳
00456CC0   |.  8B4C24 1C             mov ecx,dword ptr ss:[esp+1C]
00456CC4   |.  51                    push ecx                                           ;  ecx=1
00456CC5   |.  FF15 E0544700         call dword ptr ds:[4754E0]
00456CCB   |.  83C4 04               add esp,4                                          ;  eax=1
00456CCE       8BF0                  mov esi,eax                                        ;  ecx=1
00456CD0   |.  FF15 E4544700         call dword ptr ds:[4754E4]                         ;aaa16dl.RCDog_Close
00456CD6   |.  8BC6                  mov eax,esi                                       
00456CD8   |.  8B4C24 0C             mov ecx,dword ptr ss:[esp+C]                       ;  eax=1
00456CDC   |.  64:890D 00000000      mov dword ptr fs:[0],ecx
00456CE3   |.  59                    pop ecx
00456CE4   |.  5E                    pop esi
00456CE5   |.  83C4 10               add esp,10
00456CE8   |.  C3                    retn                                               这里只要eax=1,就过狗了
00456CE9   |>  3D 05400080           cmp eax,80004005
00456CEE   |.  75 06                 jnz short AAAA.00456CF6
00456CF0   |.  FF15 D0544700         call dword ptr ds:[4754D0]
00456CF6   |>  8D4C24 08             lea ecx,dword ptr ss:[esp+8]
00456CFA   |.  FF15 F8ED4500         call dword ptr ds:[<&mfc90.#316>]                  ;  mfc90.#316
00456D00   |.  68 D07F4600           push AAAA.00467FD0                              ;  can't open the dog
00456D05   |.  8D5424 0C             lea edx,dword ptr ss:[esp+C]
00456D09   |.  68 986F4600           push AAAA.00466F98                              ;  %s\n
00456D0E   |.  52                    push edx
00456D0F   |.  C74424 20 00000000    mov dword ptr ss:[esp+20],0
00456D17   |.  FF15 24EE4500         call dword ptr ds:[<&mfc90.#2539>]                 ;  mfc90.#2539
00456D1D   |.  83C4 0C               add esp,0C
00456D20   |.  6A 00                 push 0
00456D22   |.  6A 00                 push 0
00456D24   |.  8D4C24 10             lea ecx,dword ptr ss:[esp+10]
00456D28   |.  FF15 8CEE4500         call dword ptr ds:[<&mfc90.#910>]                  ;  mfc90.#3726
00456D2E   |.  50                    push eax
00456D2F   |.  E8 68020000           call <jmp.&mfc90.#1183>
00456D34   |.  6A 00                 push 0                                             ; /status = 0
00456D36   |.  FF15 2CE24500         call dword ptr ds:[<&MSVCR90.exit>]                ; \exit
00456D3C   |.  CC                    int3
00456D3D   |.  CC                    int3
00456D3E   |.  CC                    int3
00456D3F   |.  CC                    int3
00456D40   |$  81EC EC000000         sub esp,0EC
00456D46   |.  A1 98514700           mov eax,dword ptr ds:[475198]
00456D4B   |.  33C4                  xor eax,esp
00456D4D   |.  898424 E8000000       mov dword ptr ss:[esp+E8],eax
00456D54   |.  A1 2CE04500           mov eax,dword ptr ds:[<&CosaDll.hConvertlib>]
00456D59   |.  C68424 DC000000 43    mov byte ptr ss:[esp+DC],43
00456D61   |.  C68424 DD000000 4F    mov byte ptr ss:[esp+DD],4F
00456D69   |.  C68424 DE000000 53    mov byte ptr ss:[esp+DE],53
00456D71   |.  C68424 DF000000 41    mov byte ptr ss:[esp+DF],41
00456D79   |.  C68424 E0000000 57    mov byte ptr ss:[esp+E0],57
00456D81   |.  C68424 E1000000 49    mov byte ptr ss:[esp+E1],49
00456D89   |.  C68424 E2000000 4E    mov byte ptr ss:[esp+E2],4E
00456D91   |.  C68424 E3000000 39    mov byte ptr ss:[esp+E3],39
00456D99   |.  C68424 E4000000 38    mov byte ptr ss:[esp+E4],38
00456DA1   |.  8338 00               cmp dword ptr ds:[eax],0
00456DA4   |.  56                    push esi
00456DA5   |.  0F84 A3000000         je AAAA.00456E4E
00456DAB   |.  8B00                  mov eax,dword ptr ds:[eax]
00456DAD   |.  68 40804600           push AAAA.00468040                              ; /gs_mhdog
00456DB2   |.  50                    push eax                                           ; |hModule
00456DB3   |.  FF15 30E14500         call dword ptr ds:[<&KERNEL32.GetProcAddress>]     ; \GetProcAddress
00456DB9   |.  BA 09000000           mov edx,9
00456DBE   |.  52                    push edx
00456DBF   |.  A3 08554700           mov dword ptr ds:[475508],eax
00456DC4   |.  66:895424 0E          mov word ptr ss:[esp+E],dx
00456DC9   |.  33C0                  xor eax,eax
00456DCB   |.  8D9424 E4000000       lea edx,dword ptr ss:[esp+E4]
00456DD2   |.  52                    push edx
00456DD3   |.  B9 04000000           mov ecx,4
00456DD8   |.  66:894424 10          mov word ptr ss:[esp+10],ax
00456DDD   |.  66:894C24 0C          mov word ptr ss:[esp+C],cx
00456DE2   |.  8D4424 20             lea eax,dword ptr ss:[esp+20]
00456DE6   |.  33C9                  xor ecx,ecx
00456DE8   |.  68 C8000000           push 0C8
00456DED   |.  50                    push eax
00456DEE   |.  66:894C24 16          mov word ptr ss:[esp+16],cx
00456DF3   |.  C74424 1C 56150A00    mov dword ptr ss:[esp+1C],0A1556
00456DFB   |.  FF15 28E24500         call dword ptr ds:[<&MSVCR90.strncpy_s>]           ;  msvcr90.strncpy_s
00456E01   |.  83C4 10               add esp,10
00456E04   |.  8D4C24 04             lea ecx,dword ptr ss:[esp+4]
00456E08   |.  51                    push ecx
00456E09   |.  FF15 08554700         call dword ptr ds:[475508]
00456E0F   |.  85C0                  test eax,eax
00456E11   |.  75 26                 jnz short AAAA.00456E39
00456E13   |.  DB4424 10             fild dword ptr ss:[esp+10]
00456E17   |.  5E                    pop esi
00456E18   |.  DC0D 38804600         fmul qword ptr ds:[468038]
00456E1E   |.  DC2D 30804600         fsubr qword ptr ds:[468030]
00456E24   |.  8B8C24 E8000000       mov ecx,dword ptr ss:[esp+E8]
00456E2B   |.  33CC                  xor ecx,esp
00456E2D   |.  E8 80100000           call AAAA.00457EB2
00456E32   |.  81C4 EC000000         add esp,0EC
00456E38   |.  C3                    retn

第二个CALL调用狗
00456D40   |$  81EC EC000000         sub esp,0EC
00456D46   |.  A1 98514700           mov eax,dword ptr ds:[475198]
00456D4B   |.  33C4                  xor eax,esp
00456D4D   |.  898424 E8000000       mov dword ptr ss:[esp+E8],eax
00456D54   |.  A1 2CE04500           mov eax,dword ptr ds:[<&CosaDll.hConvertlib>]
00456D59   |.  C68424 DC000000 43    mov byte ptr ss:[esp+DC],43
00456D61   |.  C68424 DD000000 4F    mov byte ptr ss:[esp+DD],4F
00456D69   |.  C68424 DE000000 53    mov byte ptr ss:[esp+DE],53
00456D71   |.  C68424 DF000000 41    mov byte ptr ss:[esp+DF],41
00456D79   |.  C68424 E0000000 57    mov byte ptr ss:[esp+E0],57
00456D81   |.  C68424 E1000000 49    mov byte ptr ss:[esp+E1],49
00456D89   |.  C68424 E2000000 4E    mov byte ptr ss:[esp+E2],4E
00456D91   |.  C68424 E3000000 39    mov byte ptr ss:[esp+E3],39
00456D99   |.  C68424 E4000000 38    mov byte ptr ss:[esp+E4],38
00456DA1   |.  8338 00               cmp dword ptr ds:[eax],0
00456DA4   |.  56                    push esi
00456DA5   |.  0F84 A3000000         je AAAA.00456E4E
00456DAB   |.  8B00                  mov eax,dword ptr ds:[eax]
00456DAD   |.  68 40804600           push AAAA.00468040                              ; /gs_mhdog
00456DB2   |.  50                    push eax                                           ; |hModule
00456DB3   |.  FF15 30E14500         call dword ptr ds:[<&KERNEL32.GetProcAddress>]     ; \GetProcAddress
00456DB9   |.  BA 09000000           mov edx,9
00456DBE   |.  52                    push edx
00456DBF   |.  A3 08554700           mov dword ptr ds:[475508],eax
00456DC4   |.  66:895424 0E          mov word ptr ss:[esp+E],dx
00456DC9   |.  33C0                  xor eax,eax
00456DCB   |.  8D9424 E4000000       lea edx,dword ptr ss:[esp+E4]
00456DD2   |.  52                    push edx
00456DD3   |.  B9 04000000           mov ecx,4
00456DD8   |.  66:894424 10          mov word ptr ss:[esp+10],ax
00456DDD   |.  66:894C24 0C          mov word ptr ss:[esp+C],cx
00456DE2   |.  8D4424 20             lea eax,dword ptr ss:[esp+20]
00456DE6   |.  33C9                  xor ecx,ecx
00456DE8   |.  68 C8000000           push 0C8
00456DED   |.  50                    push eax
00456DEE   |.  66:894C24 16          mov word ptr ss:[esp+16],cx
00456DF3   |.  C74424 1C 56150A00    mov dword ptr ss:[esp+1C],0A1556
00456DFB   |.  FF15 28E24500         call dword ptr ds:[<&MSVCR90.strncpy_s>]           ;  msvcr90.strncpy_s
00456E01   |.  83C4 10               add esp,10
00456E04   |.  8D4C24 04             lea ecx,dword ptr ss:[esp+4]
00456E08   |.  51                    push ecx
00456E09   |.  FF15 08554700         call dword ptr ds:[475508]
00456E0F   |.  85C0                  test eax,eax                                       ;eax要返回0
00456E11   |.  75 26                 jnz short AAAA.00456E39                         ;带狗运行没有跳
00456E13   |.  DB4424 10             fild dword ptr ss:[esp+10]
00456E17   |.  5E                    pop esi
00456E18   |.  DC0D 38804600         fmul qword ptr ds:[468038]
00456E1E   |.  DC2D 30804600         fsubr qword ptr ds:[468030]
00456E24   |.  8B8C24 E8000000       mov ecx,dword ptr ss:[esp+E8]
00456E2B   |.  33CC                  xor ecx,esp
00456E2D   |.  E8 80100000           call AAAA.00457EB2
00456E32   |.  81C4 EC000000         add esp,0EC
00456E38   |.  C3                    retn

有32个地方在调用这两个函数,调用后只要EAX返回1,32个地方就过狗了,但是在软件里面有个功能限制还是有问题,请各位大牛帮忙分析看看,谢谢!

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (15)
雪    币: 510
活跃值: (433)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
2
试试用IDA,载入微狗的Sig,再F5看看
2011-9-17 15:08
0
雪    币: 1680
活跃值: (2435)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
Tee8088老大,一直未见微狗的Sig,请问哪里可以下载到啊?要么请共享一下!谢谢
2011-9-17 16:51
0
雪    币: 23
活跃值: (198)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
IDA我没有用过,各位大牛帮我分析一下是哪的原因,有狗的返回值我都改了,看看还要改那些地方?
2011-9-17 22:07
0
雪    币: 86
活跃值: (1183)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
算法返回值
2011-9-17 23:48
0
雪    币: 463
活跃值: (116)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
结合微狗监控工具来玩调试.
用IDA+SIG的方式来分析

当然,至少得有一份SDK参考.


微狗的读狗核心用A5A500大法.
2011-9-19 18:27
0
雪    币: 32
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
我好想要个邀请码,要是我是正式会员,就可以学很多东西了,也可以研究你的问题了。
2011-9-23 11:25
0
雪    币: 1
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8

借个位置问下
写微狗软件五花八门,一不小心把数据区和系统区全清零
CloneDog可以把数据区写回去,系统区提示 错误代码40。
DogEdt32等其他工具都提示 20020 连级码错误。不能写,什么专用驱动也写不进去。
Tee8088说的修改DogEdt32的绑定码,看了他的视频教程,(没声音,也不知道那些图片文字说明对应的是哪个文件)知道DogEdt32的绑定码的位置,问题是怎么弄到系统区56 全是鸡蛋的绑定码

还有就是想不明白CloneDog不需要绑定码就能读写了,可为什么写不进系统区呢?
密码 连级 号也在系统区,好多软件却也能写进这2个位置,这又是什么回是?
DogEdt32_系统区这个好像对正常的狗也无须绑定也能读的出来!?
有没办法把这个洗了脑的狗救活呢
2011-9-28 08:52
0
雪    币: 463
活跃值: (116)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
其实很简单的啊...只要你有原狗或是可用的数据,直接写回去就OK了,不行就换个工具吧.
2011-9-29 17:48
0
雪    币: 4
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
[QUOTE=Pan88168;1005094]其实很简单的啊...只要你有原狗或是可用的数据,直接写回去就OK了,不行就换个工具吧.[/QUOTE]

楼上高手哦。以后可以请教了
2011-9-29 18:15
0
雪    币: 1
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
[QUOTE=Pan88168;1005094]其实很简单的啊...只要你有原狗或是可用的数据,直接写回去就OK了,不行就换个工具吧.[/QUOTE]
UMI服务端
CloneDog
UMIDogClone
DogEdt32_系统区
没有哪个能写回去
CloneDog读写数据区都没问题,对系统区的读写都不成功(显示成功但附加错误代码40)
2011-9-29 20:29
0
雪    币: 463
活跃值: (116)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
建议你换个干净的系统,,有些东西不方便多说了.不好意思啊.
2011-9-30 18:19
0
雪    币: 220
活跃值: (156)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
13
带狗破基本上都是没难度的……
2011-9-30 22:57
0
雪    币: 23
活跃值: (198)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
经过有狗和无狗比较在第二个函数末尾处浮点计算不一样
00456E13   |.  DB4424 10             fild dword ptr ss:[esp+10]                      ;  堆栈 ss:[0012F6B0]=A11F1DB6 (十进制 -1591796298.)
00456E17   |.  5E                    pop esi
00456E18   |.  DC0D 38804600         fmul qword ptr ds:[468038]                       //ds:[00468038]=1.000000000000000e-09得到-1.5917962979999999980
00456E1E   |.  DC2D 30804600         fsubr qword ptr ds:[468030]                     //ds:[00468030]=-1.549796355589793
00456E24   |.  8B8C24 E8000000       mov ecx,dword ptr ss:[esp+E8]
计算公式为:-1591796298*e^9-1.549796355589793=3.1415926535897931150
经过比较在00456E13   |.  DB4424 10             fild dword ptr ss:[esp+10] 这行无狗则压入堆栈 ss:[0012F6B0]=787FAD8A (十进制 2021633418.)

如何修改压入浮点寄存器dword ptr ss:[esp+10] 的数值给改了?
2011-10-1 11:29
0
雪    币: 1
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
不知道所以然.系统脏了?
推算出了Serial Number is: 810000 的dogkey7645A 932C5 47B83 29356 E28A8 93474 CA*** C5C10。开发套件绑定后也能读写数据区。把用替换绑定信息的方法依旧无法写入系统区(被全清0了) 。
买的空狗也到了,反正也写成功。
一个空狗才10块钱,至于这个被洗脑的狗没人愿意救,直接丢垃圾堆了,
2011-10-1 13:01
0
雪    币: 36
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
不懂,学习一下
2011-10-1 16:37
0
游客
登录 | 注册 方可回帖
返回
//