屏幕录像专家 共享版 V7.5 注册机修正版
这个注册机可不是我能写得出来的,是wan大侠弄得,不过注册机有点问题,在很多机子上不能正常运行。昨天在网上下了这个注册机后,不能用,本想弃之不用,但网上有找不到其他的注册机了。
这个注册机的问题是一点击生成按钮就弹出错误提示,我用OD跟了跟,发现是读取硬盘序列号的字符不对,改了下就OK了,于是有了个针对原版不能运行的修正版。注意:原版还是要保留的的,修正版只适合原版不能运行的用户!
我试了,官方10.10发布的能够注册,不过exe转flash的还是显示没注册。
新注册飘云阁,正苦恼没有BB下载东东,希望版主能够赏赐一点~~~:loveliness:
呵呵,谢谢大家的支持!为了不辜负版主慷慨赏赐的飘云币,我就简单说说这个注册机的小问题吧。我只是菜鸟一个,高手就莫见笑了哈~~~~
下面是注册机里调用CreateFileA的核心代码:
00450280 $55 push ebp
00450281 .8BEC mov ebp, esp
00450283 .81C4 B4FDFFFF add esp, -24C
00450289 .53 push ebx
0045028A .8985 C0FDFFFF mov dword ptr , eax
00450290 .8B85 C0FDFFFF mov eax, dword ptr
00450296 .E8 CD3BFBFF call 00403E68
0045029B .8D85 C4FDFFFF lea eax, dword ptr
004502A1 .33C9 xor ecx, ecx
004502A3 .BA 3C020000 mov edx, 23C
004502A8 .E8 8328FBFF call 00402B30
004502AD .A1 5C314500 mov eax, dword ptr
004502B2 .8338 02 cmp dword ptr , 2 ;根据不同硬盘类型调用对应的CreateFileA,特别注意FileName这个参数!
004502B5 .0F85 11010000 jnz 004503CC
004502BB .6A 00 push 0 ; /hTemplateFile = NULL
004502BD .6A 00 push 0 ; |Attributes = 0
004502BF .6A 03 push 3 ; |Mode = OPEN_EXISTING
004502C1 .6A 00 push 0 ; |pSecurity = NULL
004502C3 .6A 03 push 3 ; |ShareMode = FILE_SHARE_READ|FILE_SHARE_WRITE
004502C5 .68 000000C0 push C0000000 ; |Access = GENERIC_READ|GENERIC_WRITE
004502CA .68 C0044500 push 004504C0 ; |FileName = "\\.\Scsi0:"
004502CF .E8 3C5BFBFF call <jmp.&kernel32.CreateFileA> ; \CreateFileA
004502D4 .8985 BCFDFFFF mov dword ptr , eax
004502DA .83BD BCFDFFFF>cmp dword ptr , -1
004502E1 .0F84 D3010000 je 004504BA
004502E7 .33D2 xor edx, edx
004502E9 .55 push ebp
004502EA .68 C5034500 push 004503C5
004502EF .64:FF32 push dword ptr fs:
004502F2 .64:8922 mov dword ptr fs:, esp
004502F5 .C785 C4FDFFFF>mov dword ptr , 1C
004502FF .8D95 C8FDFFFF lea edx, dword ptr
00450305 .B9 08000000 mov ecx, 8
0045030A .B8 D4044500 mov eax, 004504D4 ;ASCII "SCSIDISK"
0045030F .E8 A425FBFF call 004028B8
00450314 .C785 D0FDFFFF>mov dword ptr , 2
0045031E .C785 DCFDFFFF>mov dword ptr , 220
00450328 .C785 D4FDFFFF>mov dword ptr , 1B0501
00450332 .8D9D C4FDFFFF lea ebx, dword ptr
00450338 .83C3 1C add ebx, 1C
0045033B .899D B4FDFFFF mov dword ptr , ebx
00450341 .8BC3 mov eax, ebx
00450343 .C700 00020000 mov dword ptr , 200
00450349 .C640 0C 00 mov byte ptr , 0
0045034D .83C0 04 add eax, 4
00450350 .C600 00 mov byte ptr , 0
00450353 .C640 01 01 mov byte ptr , 1
00450357 .C640 02 01 mov byte ptr , 1
0045035B .C640 03 00 mov byte ptr , 0
0045035F .C640 04 00 mov byte ptr , 0
00450363 .C640 05 A0 mov byte ptr , 0A0
00450367 .C640 06 EC mov byte ptr , 0EC
0045036B .6A 00 push 0 ; /pOverlapped = NULL
0045036D .8D85 B8FDFFFF lea eax, dword ptr ; |
00450373 .50 push eax ; |pBytesReturned
00450374 .68 3C020000 push 23C ; |OutBufferSize = 23C (572.)
00450379 .8D85 C4FDFFFF lea eax, dword ptr ; |
0045037F .50 push eax ; |OutBuffer
00450380 .68 3C020000 push 23C ; |InBufferSize = 23C (572.)
00450385 .8D85 C4FDFFFF lea eax, dword ptr ; |
0045038B .50 push eax ; |InBuffer
0045038C .68 08D00400 push 4D008 ; |IoControlCode = 4D008
00450391 .8B85 BCFDFFFF mov eax, dword ptr ; |
00450397 .50 push eax ; |hDevice
00450398 .E8 8B5AFBFF call <jmp.&kernel32.DeviceIoControl>; \DeviceIoControl
0045039D .85C0 test eax, eax
0045039F .75 0A jnz short 004503AB
004503A1 .E8 AA35FBFF call 00403950
004503A6 .E9 0F010000 jmp 004504BA
004503AB >33C0 xor eax, eax
004503AD .5A pop edx
004503AE .59 pop ecx
004503AF .59 pop ecx
004503B0 .64:8910 mov dword ptr fs:, edx
004503B3 .68 91044500 push 00450491
004503B8 >8B85 BCFDFFFF mov eax, dword ptr
004503BE .50 push eax ; /hObject
004503BF .E8 345AFBFF call <jmp.&kernel32.CloseHandle> ; \CloseHandle
004503C4 .C3 retn
004503C5 .^ E9 A234FBFF jmp 0040386C
004503CA .^ EB EC jmp short 004503B8
004503CC >6A 00 push 0 ; /hTemplateFile = NULL
004503CE .6A 00 push 0 ; |Attributes = 0
004503D0 .6A 01 push 1 ; |Mode = CREATE_NEW
004503D2 .6A 00 push 0 ; |pSecurity = NULL
004503D4 .6A 00 push 0 ; |ShareMode = 0
004503D6 .6A 00 push 0 ; |Access = 0
004503D8 .68 E0044500 push 004504E0 ; |FileName = "\\.\SMARTVSD"
004503DD .E8 2E5AFBFF call <jmp.&kernel32.CreateFileA> ; \CreateFileA
004503E2 .8985 BCFDFFFF mov dword ptr , eax
004503E8 .83BD BCFDFFFF>cmp dword ptr , -1
004503EF .0F84 C5000000 je 004504BA
004503F5 .33D2 xor edx, edx
004503F7 .55 push ebp
004503F8 .68 8A044500 push 0045048A
004503FD .64:FF32 push dword ptr fs:
00450400 .64:8922 mov dword ptr fs:, esp
00450403 .8D9D C4FDFFFF lea ebx, dword ptr
00450409 .8D43 20 lea eax, dword ptr
0045040C .8985 B4FDFFFF mov dword ptr , eax
00450412 .8BC3 mov eax, ebx
00450414 .C700 00020000 mov dword ptr , 200
0045041A .C640 0C 00 mov byte ptr , 0
0045041E .83C0 04 add eax, 4
00450421 .C600 00 mov byte ptr , 0
00450424 .C640 01 01 mov byte ptr , 1
00450428 .C640 02 01 mov byte ptr , 1
0045042C .C640 03 00 mov byte ptr , 0
00450430 .C640 04 00 mov byte ptr , 0
00450434 .C640 05 A0 mov byte ptr , 0A0
00450438 .C640 06 EC mov byte ptr , 0EC
0045043C .6A 00 push 0 ; /pOverlapped = NULL
0045043E .8D85 B8FDFFFF lea eax, dword ptr ; |
00450444 .50 push eax ; |pBytesReturned
00450445 .68 10020000 push 210 ; |OutBufferSize = 210 (528.)
0045044A .8B85 B4FDFFFF mov eax, dword ptr ; |
00450450 .50 push eax ; |OutBuffer
00450451 .6A 20 push 20 ; |InBufferSize = 20 (32.)
00450453 .53 push ebx ; |InBuffer
00450454 .68 88C00700 push 7C088 ; |IoControlCode = SMART_RCV_DRIVE_DATA
00450459 .8B85 BCFDFFFF mov eax, dword ptr ; |
0045045F .50 push eax ; |hDevice
00450460 .E8 C359FBFF call <jmp.&kernel32.DeviceIoControl>; \DeviceIoControl
00450465 .85C0 test eax, eax
00450467 .75 07 jnz short 00450470
00450469 .E8 E234FBFF call 00403950
0045046E .EB 4A jmp short 004504BA
00450470 >33C0 xor eax, eax
00450472 .5A pop edx
00450473 .59 pop ecx
00450474 .59 pop ecx
00450475 .64:8910 mov dword ptr fs:, edx
00450478 .68 91044500 push 00450491
0045047D >8B85 BCFDFFFF mov eax, dword ptr
00450483 .50 push eax ; /hObject
00450484 .E8 6F59FBFF call <jmp.&kernel32.CloseHandle> ; \CloseHandle
00450489 .C3 retn
0045048A .^ E9 DD33FBFF jmp 0040386C
0045048F .^ EB EC jmp short 0045047D
00450491 .8B9D B4FDFFFF mov ebx, dword ptr
00450497 .83C3 10 add ebx, 10
0045049A .8D43 14 lea eax, dword ptr
0045049D .BA 14000000 mov edx, 14
004504A2 .E8 B9FDFFFF call 00450260
004504A7 .8D53 14 lea edx, dword ptr
004504AA .8B85 C0FDFFFF mov eax, dword ptr
004504B0 .B9 14000000 mov ecx, 14
004504B5 .E8 9E3AFBFF call 00403F58
004504BA >5B pop ebx
004504BB .8BE5 mov esp, ebp
004504BD .5D pop ebp
004504BE .C3 retn
注意这个判断:
004502B2 .8338 02 cmp dword ptr , 2 ;根据不同硬盘类型调用对应的CreateFileA,特别注意FileName这个参数!(也不知道说对了没有,有错误要说啊,我要学习~~~)
004502CA .68 C0044500 push 004504C0 ; |FileName = "\\.\Scsi0:"
004503D8 .68 E0044500 push 004504E0 ; |FileName = "\\.\SMARTVSD"
共列举了这两个FileName参数,而我跟踪屏幕录像专家时发现调用的是"\\.\PhysicalDrive0"这个字符串。注册机是针对9.15发布的,也不知道是不是10.10官方新发布的版本改变了这个地方。我试了试简单地把注册机里的"\\.\Scsi0:"改成"\\.\PhysicalDrive0",正好能成功运行!
就这么简单,发个帖子“骗”点飘云币,更希望能够帮到一些朋友注册。
--------------------------------------------------------------------------------------------------------------
动画可以在这里下载:
http://www.3hack.com/soft/dh/qitadong/78189721071246.html
很简单,适合新手
[ 本帖最后由 lynn 于 2008-3-6 18:30 编辑 ] 动画已附在文末。
[ 本帖最后由 lynn 于 2008-3-21 13:14 编辑 ] 我用的注册机还凑合能用
支持楼主的贡献精神! /:001 我可不是大侠哦
那个注册机是在 壹只老虎 的源码的基础上添加了几位注册码算法验证。
兄弟也可以修改一下他的源码~~
我写的是手动输入机器码的,可惜我注册源码与分析笔记丢失(U盘烧坏了/:011) ,要不然也可以放上来~~~ 谢谢楼主,偶去看看先~ 谢谢了,下载中/:017 没有钱下载呀。。。。支持一下,留个记号以后有钱下载 LZ说的教程是破解教程吗? 原帖由 心中的影子 于 2007-11-10 22:48 发表 https://www.chinapyg.com/images/common/back.gif
LZ说的教程是破解教程吗?
也算是吧,我打算发到动画区,看可不可以。 好东西一定要支持!!