TA的每日心情 | 开心 2015-8-23 23:49 |
---|
签到天数: 27 天 [LV.4]偶尔看看III
|
本帖最后由 GGLHY 于 2011-1-22 18:16 编辑
Easy File & Folder Protector 5.12追码记
软件名称:Easy File & Folder Protector 5.12
下载地址:http://www.newhua.com/softdown/16585_2.htm
简 介:一个非常Easy的文件和文件夹保护程序.只要你给Easy File & Folder Protector设置一个密码, 你就可以保护你的任何文件和文件夹,没有这个密码任何人都无法访问经过Easy File & Folder Protector 保护的文件和文件夹.对文件夹进行保护时文件夹进行了隐藏,这样就显得更安全.此外,它还可防止别人通过网络访问你的文件.如果你要保护自己的隐私,你就要试试Easy File & Folder Protector了.使用方法: 启动保护: "添加文件或文件夹"--->"启动"按钮--->"应用"按钮 解除保护: "点选文件列表中的文件或文件夹"--->"解除"按钮
闲话少叙,咱直捣黄龙:
004A19E6 |. 8B45 FC mov eax, dword ptr [ebp-4] ; 假码到EAX
004A19E9 |. E8 326AFEFF call 00488420
004A19EE |. 8B55 F8 mov edx, dword ptr [ebp-8]
004A19F1 |. 8D45 FC lea eax, dword ptr [ebp-4]
004A19F4 |. E8 3329F6FF call 0040432C
004A19F9 |. 8B45 FC mov eax, dword ptr [ebp-4]
004A19FC |. E8 6BFAFEFF call 0049146C ;小兔子乖乖,把门儿开开,俺要F7进来
004A1A01 |. 84C0 test al, al ; 好经典的句式啊!
004A1A03 |. 74 21 je short 004A1A26
004A1A05 |. 8B45 FC mov eax, dword ptr [ebp-4]
004A1A08 |. E8 B383FFFF call 00499DC0
004A1A0D |. 6A 00 push 0
004A1A0F |. 66:8B0D 741A4>mov cx, word ptr [4A1A74] ; ; 全局变量标志?[4A1A74]=0004
004A1A16 |. B2 02 mov dl, 2
004A1A18 |. B8 801A4A00 mov eax, 004A1A80 ; registration key is ok
004A1A1D |. E8 9A06F9FF call 004320BC
004A1A22 |. B3 01 mov bl, 1
004A1A24 |. EB 23 jmp short 004A1A49
004A1A26 |> 6A 00 push 0
004A1A28 |. 66:8B0D 741A4>mov cx, word ptr [4A1A74]
004A1A2F |. B2 01 mov dl, 1
004A1A31 |. B8 A01A4A00 mov eax, 004A1AA0 ; registration key is not valid
004A1A36 |. E8 8106F9FF call 004320BC
****************************004A19FC处 call 0049146C 这里F7进来:
0049146C /$ 55 push ebp ;本地调用来自 0049B935, 0049BA0B, 0049BD29, 0049BD6C, 004A0E25, 004A1485, 004A19FC
0049146D |. 8BEC mov ebp, esp
0049146F |. 33C9 xor ecx, ecx
省略部分代码
004914AF |. E8 A030F7FF call 00404554
004914B4 |. 83F8 10 cmp eax, 10 ; 注册码长度与10H比较
004914B7 |. 0F85 D0000000 jnz 0049158D ; 不等就挂!
004914BD |. E8 86F6FFFF call 00490B48
004914C2 |. 8D45 E8 lea eax, dword ptr [ebp-18]
004914C5 |. 50 push eax
004914C6 |. B9 08000000 mov ecx, 8
004914CB |. BA 01000000 mov edx, 1
004914D0 |. 8B45 FC mov eax, dword ptr [ebp-4] ; 假码
004914D3 |. E8 DC32F7FF call 004047B4
004914D8 |. 8B4D E8 mov ecx, dword ptr [ebp-18] ; 假码前8位
004914DB |. 8D45 F4 lea eax, dword ptr [ebp-C]
004914DE |. BA C8154900 mov edx, 004915C8 ; $
004914E3 |. E8 B830F7FF call 004045A0
004914E8 |. 8D45 E4 lea eax, dword ptr [ebp-1C]
004914EB |. 50 push eax
004914EC |. B9 08000000 mov ecx, 8
004914F1 |. BA 09000000 mov edx, 9
004914F6 |. 8B45 FC mov eax, dword ptr [ebp-4] ; 假码
004914F9 |. E8 B632F7FF call 004047B4
004914FE |. 8B4D E4 mov ecx, dword ptr [ebp-1C] ; 假码后8位
00491501 |. 8D45 F0 lea eax, dword ptr [ebp-10]
00491504 |. BA C8154900 mov edx, 004915C8 ; $
00491509 |. E8 9230F7FF call 004045A0
0049150E |. 8D55 F8 lea edx, dword ptr [ebp-8]
00491511 |. 8B45 F4 mov eax, dword ptr [ebp-C]
00491514 |. E8 C719F7FF call 00402EE0 ;对注册码限制的检测!
00491519 |. 837D F8 00 cmp dword ptr [ebp-8], 0
0049151D |. 75 6E jnz short 0049158D
0049151F |. 8D55 F8 lea edx, dword ptr [ebp-8]
00491522 |. 8B45 F0 mov eax, dword ptr [ebp-10] ; $连接假码后8位
00491525 |. E8 B619F7FF call 00402EE0 ;对注册码限制的检测!
0049152A |. 837D F8 00 cmp dword ptr [ebp-8], 0
0049152E |. 75 5D jnz short 0049158D
00491530 |. BE 01000000 mov esi, 1 ; ESI=1
00491535 |> 33C0 /xor eax, eax
00491537 |. 8945 F8 |mov dword ptr [ebp-8], eax
0049153A |. 8B45 FC |mov eax, dword ptr [ebp-4] ; 假码
0049153D |. E8 1230F7FF |call 00404554
00491542 |. 85C0 |test eax, eax ; 假码长度取完了吗?
00491544 |. 7E 1E |jle short 00491564
00491546 |. BA 01000000 |mov edx, 1 ; EDX=1
0049154B |> B9 D4154900 |/mov ecx, 004915D4 ; ASCII "0123456789ABCD臚"
00491550 |. 8A4C31 FF ||mov cl, byte ptr [ecx+esi-1] ; 每次小循环只取"0123456789ABCD臚"的一位ASC,下一次小循环则取下一位
00491554 |. 8B7D FC ||mov edi, dword ptr [ebp-4] ; 假码
00491557 |. 3A4C17 FF ||cmp cl, byte ptr [edi+edx-1] ; 依次取假码每位ASC,二者比较
0049155B |. 75 03 ||jnz short 00491560 ; 相等就不跳
0049155D |. FF45 F8 ||inc dword ptr [ebp-8] ; 不跳,相等的就+1
00491560 |> 42 ||inc edx
00491561 |. 48 ||dec eax
00491562 |.^ 75 E7 |\jnz short 0049154B ; 每次小循环(0049154b-到00491562)只取"0123456789ABCD臚"一位ASC
00491564 |> 837D F8 05 |cmp dword ptr [ebp-8], 5 ; 每个小循环完后[EBP-8]:5,即假码中与当前所取固定字符串相同的数量
00491568 |. 7E 09 |jle short 00491573 ; 不大于5就跳
0049156A |. C745 F8 FFFFF>|mov dword ptr [ebp-8], -1 ; 不跳。这里就是悲剧的了!!
00491571 |. EB 06 |jmp short 00491579
00491573 |> 46 |inc esi ; 假码循环累加计数器
00491574 |. 83FE 11 |cmp esi, 11 ; 与17比较
00491577 |.^ 75 BC \jnz short 00491535 ;这个小循环其实是统计假码中相同的字符的值,该值大于5则错!!!
00491579 |> 837D F8 00 cmp dword ptr [ebp-8], 0 ; 大循环是检测注册码的格式要求的。[EBP-8]的值千万别小于0
0049157D |. 7C 0E jl short 0049158D
0049157F |. 8B45 FC mov eax, dword ptr [ebp-4] ; 假码
00491582 |. E8 19FDFFFF call 004912A0 ; 核心算法CALL,我们F7
00491587 |. 84C0 test al, al ; 经典标志位
00491589 |. 74 02 je short 0049158D
0049158B |. B3 01 mov bl, 1 ; 很关键的一个地方!
0049158D |> 33C0 xor eax, eax ; 悲惨世界!
0049158F |. 5A pop edx
00491590 |. 59 pop ecx
00491591 |. 59 pop ecx
00491592 |. 64:8910 mov dword ptr fs:[eax], edx
00491595 |. 68 B7154900 push 004915B7
0049159A |> 8D45 E4 lea eax, dword ptr [ebp-1C]
0049159D |. BA 05000000 mov edx, 5
004915A2 |. E8 112DF7FF call 004042B8
004915A7 |. 8D45 FC lea eax, dword ptr [ebp-4]
004915AA |. E8 E52CF7FF call 00404294
004915AF \. C3 retn
004915B0 .^ E9 E326F7FF jmp 00403C98
004915B5 .^ EB E3 jmp short 0049159A
004915B7 . 8BC3 mov eax, ebx
004915B9 . 5F pop edi
004915BA . 5E pop esi
004915BB . 5B pop ebx
004915BC . 8BE5 mov esp, ebp
004915BE . 5D pop ebp
004915BF . C3 retn
******************00491582处call004912A0 的核心算法CALL,我们F7后:
004912A0 /$ 55 push ebp
004912A1 |. 8BEC mov ebp, esp
004912A3 |. B9 08000000 mov ecx, 8
004912A8 |> 6A 00 /push 0
004912AA |. 6A 00 |push 0
004912AC |. 49 |dec ecx
004912AD |.^ 75 F9 \jnz short 004912A8
004912AF |. 53 push ebx
004912B0 |. 56 push esi
004912B1 |. 57 push edi
004912B2 |. 8BF0 mov esi, eax
004912B4 |. 33C0 xor eax, eax
004912B6 |. 55 push ebp
004912B7 |. 68 5B144900 push 0049145B
004912BC |. 64:FF30 push dword ptr fs:[eax]
004912BF |. 64:8920 mov dword ptr fs:[eax], esp
004912C2 |. 33DB xor ebx, ebx
004912C4 |. 8D45 FC lea eax, dword ptr [ebp-4]
004912C7 |. 8A16 mov dl, byte ptr [esi] ; 假码第一位ASC
004912C9 |. E8 AE31F7FF call 0040447C
004912CE |. 8B45 FC mov eax, dword ptr [ebp-4] ; 假码第一位的ASC
004912D1 |. E8 4AFFFFFF call 00491220 ; 假码第1位的数值 / 4,求商!
004912D6 |. 8BF8 mov edi, eax ; EDI(初始为0)+商 到EDI
004912D8 |. 8D45 F8 lea eax, dword ptr [ebp-8]
004912DB |. 8A56 01 mov dl, byte ptr [esi+1] ; 假码第2位
004912DE |. E8 9931F7FF call 0040447C
004912E3 |. 8B45 F8 mov eax, dword ptr [ebp-8] ; 假码第2位的ASC
004912E6 |. E8 35FFFFFF call 00491220 ; 假码第2位的数值 / 4,求商!
004912EB |. 03F8 add edi, eax ; 前面相加后的EDI + 商
004912ED |. 8D45 F4 lea eax, dword ptr [ebp-C]
004912F0 |. 8A56 02 mov dl, byte ptr [esi+2] ; 假码第3位
004912F3 |. E8 8431F7FF call 0040447C
004912F8 |. 8B45 F4 mov eax, dword ptr [ebp-C] ; 假码第3位的ASC
004912FB |. E8 20FFFFFF call 00491220 ; 假码第三位的数值 / 4,求商!
00491300 |. 03F8 add edi, eax ; 再相加
00491302 |. 8D45 F0 lea eax, dword ptr [ebp-10]
00491305 |. 8A56 03 mov dl, byte ptr [esi+3] ; 假码第4位的数值
00491308 |. E8 6F31F7FF call 0040447C
0049130D |. 8B45 F0 mov eax, dword ptr [ebp-10]
00491310 |. E8 0BFFFFFF call 00491220 ; 假码第4位的数值 / 4,求商
00491315 |. 03F8 add edi, eax ; 继续相加
00491317 |. A1 A4464A00 mov eax, dword ptr [4A46A4] ; 查表!=08
0049131C |. 3B38 cmp edi, dword ptr [eax] ; 累加过后的和与8比较
0049131E |. 0F85 1C010000 jnz 00491440 ; 貌似一跳就挂了!
00491324 |. 8D45 EC lea eax, dword ptr [ebp-14]
00491327 |. 8A56 04 mov dl, byte ptr [esi+4] ; 假码第5位的数值
0049132A |. E8 4D31F7FF call 0040447C
0049132F |. 8B45 EC mov eax, dword ptr [ebp-14]
00491332 |. E8 E9FEFFFF call 00491220 ; 同样求商!
00491337 |. 8BF8 mov edi, eax
00491339 |. 8D45 E8 lea eax, dword ptr [ebp-18]
0049133C |. 8A56 07 mov dl, byte ptr [esi+7] ; 假码第8位的数值
0049133F |. E8 3831F7FF call 0040447C
00491344 |. 8B45 E8 mov eax, dword ptr [ebp-18]
00491347 |. E8 D4FEFFFF call 00491220 ; 同样求商!
0049134C |. 03F8 add edi, eax ; 商继续累加
0049134E |. 8D45 E4 lea eax, dword ptr [ebp-1C]
00491351 |. 8A56 0A mov dl, byte ptr [esi+A] ; 假码第11位的数值
00491354 |. E8 2331F7FF call 0040447C
00491359 |. 8B45 E4 mov eax, dword ptr [ebp-1C]
0049135C |. E8 BFFEFFFF call 00491220 ; 同样求商!
00491361 |. 03F8 add edi, eax ; 商继续累加
00491363 |. 8D45 E0 lea eax, dword ptr [ebp-20]
00491366 |. 8A56 0D mov dl, byte ptr [esi+D] ; 假码第14位的数值
00491369 |. E8 0E31F7FF call 0040447C
0049136E |. 8B45 E0 mov eax, dword ptr [ebp-20]
00491371 |. E8 AAFEFFFF call 00491220 ; 同样求商!
00491376 |. 03F8 add edi, eax ; 商继续累加
00491378 |. A1 D8464A00 mov eax, dword ptr [4A46D8] ; 查表!=08
0049137D |. 3B38 cmp edi, dword ptr [eax] ; 累加的商相等吗
0049137F |. 0F85 BB000000 jnz 00491440
00491385 |. 8D45 DC lea eax, dword ptr [ebp-24]
00491388 |. 8A16 mov dl, byte ptr [esi]
0049138A |. E8 ED30F7FF call 0040447C
0049138F |. 8B45 DC mov eax, dword ptr [ebp-24]
00491392 |. E8 89FEFFFF call 00491220 ; 同样求商!
00491397 |. 8BF8 mov edi, eax ; 商!
00491399 |. 8D45 D8 lea eax, dword ptr [ebp-28]
0049139C |. 8A56 01 mov dl, byte ptr [esi+1] ; 假码第2位
0049139F |. E8 D830F7FF call 0040447C
004913A4 |. 8B45 D8 mov eax, dword ptr [ebp-28]
004913A7 |. E8 74FEFFFF call 00491220 ; 同样求商!
004913AC |. 03F8 add edi, eax ; 商累加
004913AE |. 8D45 D4 lea eax, dword ptr [ebp-2C]
004913B1 |. 8A56 02 mov dl, byte ptr [esi+2] ; 假码第3位
004913B4 |. E8 C330F7FF call 0040447C
004913B9 |. 8B45 D4 mov eax, dword ptr [ebp-2C]
004913BC |. E8 5FFEFFFF call 00491220 ; 同样求商!
004913C1 |. 03F8 add edi, eax ; 商累加
004913C3 |. 8D45 D0 lea eax, dword ptr [ebp-30]
004913C6 |. 8A56 03 mov dl, byte ptr [esi+3] ; 假码第4位
004913C9 |. E8 AE30F7FF call 0040447C
004913CE |. 8B45 D0 mov eax, dword ptr [ebp-30]
004913D1 |. E8 4AFEFFFF call 00491220 ; 同样求商!
004913D6 |. 03F8 add edi, eax ; 商累加
004913D8 |. A1 A4464A00 mov eax, dword ptr [4A46A4] ; 继续查表 =08
004913DD |. 3B38 cmp edi, dword ptr [eax] ; 相等吗?
004913DF |. 75 5F jnz short 00491440
004913E1 |. 8D45 CC lea eax, dword ptr [ebp-34]
004913E4 |. 8A56 06 mov dl, byte ptr [esi+6] ; 假码第7位
004913E7 |. E8 9030F7FF call 0040447C
004913EC |. 8B45 CC mov eax, dword ptr [ebp-34]
004913EF |. E8 2CFEFFFF call 00491220 ; 同样求商!
004913F4 |. 8BF8 mov edi, eax ; 商
004913F6 |. 8D45 C8 lea eax, dword ptr [ebp-38]
004913F9 |. 8A56 09 mov dl, byte ptr [esi+9] ; 假码第10位
004913FC |. E8 7B30F7FF call 0040447C
00491401 |. 8B45 C8 mov eax, dword ptr [ebp-38]
00491404 |. E8 17FEFFFF call 00491220 ; 同样求商!
00491409 |. 03F8 add edi, eax ; 商累加
0049140B |. 8D45 C4 lea eax, dword ptr [ebp-3C]
0049140E |. 8A56 0C mov dl, byte ptr [esi+C] ; 假码第13位
00491411 |. E8 6630F7FF call 0040447C
00491416 |. 8B45 C4 mov eax, dword ptr [ebp-3C]
00491419 |. E8 02FEFFFF call 00491220 ; 同样求商!
0049141E |. 03F8 add edi, eax ; 商累加
00491420 |. 8D45 C0 lea eax, dword ptr [ebp-40]
00491423 |. 8A56 0F mov dl, byte ptr [esi+F] ; 假码第16位
00491426 |. E8 5130F7FF call 0040447C
0049142B |. 8B45 C0 mov eax, dword ptr [ebp-40]
0049142E |. E8 EDFDFFFF call 00491220 ; 同样求商!
00491433 |. 03F8 add edi, eax ; 商累加
00491435 |. A1 D0434A00 mov eax, dword ptr [4A43D0] ; 还是查表 = 08
0049143A |. 3B38 cmp edi, dword ptr [eax] ; 不等就挂了!
0049143C |. 75 02 jnz short 00491440
0049143E |. B3 01 mov bl, 1 ; 这应该实现才对
00491440 |> 33C0 xor eax, eax ; 危险的家伙!
00491442 |. 5A pop edx
00491443 |. 59 pop ecx
00491444 |. 59 pop ecx
00491445 |. 64:8910 mov dword ptr fs:[eax], edx
00491448 |. 68 62144900 push 00491462
0049144D |> 8D45 C0 lea eax, dword ptr [ebp-40]
00491450 |. BA 10000000 mov edx, 10
00491455 |. E8 5E2EF7FF call 004042B8
0049145A \. C3 retn
0049145B .^ E9 3828F7FF jmp 00403C98
00491460 .^ EB EB jmp short 0049144D
00491462 . 8BC3 mov eax, ebx
00491464 . 5F pop edi
00491465 . 5E pop esi
00491466 . 5B pop ebx
00491467 . 8BE5 mov esp, ebp
00491469 . 5D pop ebp
0049146A . C3 retn
另外我们看看:
这里来自
00491522 |. 8B45 F0 mov eax, dword ptr [ebp-10] ;
00491525 |. E8 B619F7FF call 00402EE0 ; 检测
上面这个call 00402EE0的内容:
00402EE0 /$ 53 push ebx
省略部分代码
00402F6B |> \BF FFFFFF0F mov edi, 0FFFFFFF ; Cases 24 ('$'),58 ('X'),78 ('x') of switch 00402F07
00402F70 |. 8A1E mov bl, byte ptr [esi] ; 下一位ASC
00402F72 |. 46 inc esi
00402F73 |. 84DB test bl, bl
00402F75 |.^ 74 DF je short 00402F56
00402F77 |> 80FB 61 /cmp bl, 61 ; 依次假码前(后)8位的ASC
00402F7A |. 72 03 |jb short 00402F7F
00402F7C |. 80EB 20 |sub bl, 20
00402F7F |> 80EB 30 |sub bl, 30 ; Switch (cases 30..46)
00402F82 |. 80FB 09 |cmp bl, 9
00402F85 |. 76 0B |jbe short 00402F92
00402F87 |. 80EB 11 |sub bl, 11
00402F8A |. 80FB 05 |cmp bl, 5
00402F8D |.^ 77 D0 |ja short 00402F5F
00402F8F |. 80C3 0A |add bl, 0A ; Cases 41 ('A'),42 ('B'),43 ('C'),44 ('D'),45 ('E'),46 ('F') of switch 00402F7F
00402F92 |> 39F8 |cmp eax, edi ; Cases 30 ('0'),31 ('1'),32 ('2'),33 ('3'),34 ('4'),35 ('5'),36 ('6'),37 ('7'),38 ('8'),39 ('9') of switch 00402F7F
00402F94 |.^ 77 C9 |ja short 00402F5F
00402F96 |. C1E0 04 |shl eax, 4
00402F99 |. 01D8 |add eax, ebx
00402F9B |. 8A1E |mov bl, byte ptr [esi]
00402F9D |. 46 |inc esi
00402F9E |. 84DB |test bl, bl
00402FA0 |.^ 75 D5 \jnz short 00402F77
00402FA2 |. FECD dec ch
很明显的,注册码由0-9的数字和a-f的字母组成!!!!!!!!!
OK,现在清楚了!
----------------------------------------------------------------------------
算法总结:
1.注册码由0-9的数字和a-f的字母组成,长度16位,且相同的部分不能大于5个;
2.取每一位作为数值/4,取商且:
注册码的第1、2、3、4位的商之和=8
第5、8、11、14位商之和=8
第7、10、13、16位商之和=8
---------------------------------------------------------------------------
注册信息保存在:HKEY_LOCAL_MACHINE\SOFTWARE\Easy File & Folder Protector\Settings下
inf1=
inf2=
其中:inf1是未注册时对时间的运算结果,提示你是否过期的
inf2是注册码正确时加密后的结果!
根据上面的分析,我们完全可以自定出N组注册码来!
比如:
888890C90C90A900
999980D80D80A800
但是,还有4位注册码呢?难道不参与运算?还是埋伏起来,准备着暗桩呢?
俺随便试用了几个功能,关于、选择被添加的程序或文件夹时,都会调用在注册的同一个CALL里,貌似没有发现暗桩!如果哪位兄弟姐妹发现了千万请告诉我一声哦!
另外,对inf1的判断:
004A1458 /$ 55 push ebp
004A1459 |. 8BEC mov ebp, esp
004A145B |. 83C4 F4 add esp, -0C
004A145E |. 53 push ebx
004A145F |. 56 push esi
004A1460 |. 33C0 xor eax, eax
004A1462 |. 8945 FC mov dword ptr [ebp-4], eax
004A1465 |. BE 68694A00 mov esi, 004A6968 ; x古
004A146A |. 33C0 xor eax, eax
004A146C |. 55 push ebp
004A146D |. 68 C4154A00 push 004A15C4
004A1472 |. 64:FF30 push dword ptr fs:[eax]
004A1475 |. 64:8920 mov dword ptr fs:[eax], esp
004A1478 |. B3 01 mov bl, 1
004A147A |. 8D45 FC lea eax, dword ptr [ebp-4]
004A147D |. E8 F689FFFF call 00499E78
004A1482 |. 8B45 FC mov eax, dword ptr [ebp-4]
004A1485 |. E8 E2FFFEFF call 0049146C
004A148A |. 84C0 test al, al
004A148C |. 0F85 1C010000 jnz 004A15AE ; 注册码验证错误则不跳
004A1492 |. 33DB xor ebx, ebx
004A1494 |. 8B0D 44464A00 mov ecx, dword ptr [4A4644] ; EFPP.004A5C14
004A149A |. 8B09 mov ecx, dword ptr [ecx]
004A149C |. B2 01 mov dl, 1
004A149E |. A1 FC104A00 mov eax, dword ptr [4A10FC]
004A14A3 |. E8 A8A8FDFF call 0047BD50
004A14A8 |. 8906 mov dword ptr [esi], eax
004A14AA |. A1 30454A00 mov eax, dword ptr [4A4530]
004A14AF |. 66:C700 3200 mov word ptr [eax], 32
004A14B4 |. E8 9B90F6FF call 0040A554 ; 取时间?
0040A554 /$ 83C4 E8 add esp, -18
0040A557 |. 8D4424 08 lea eax, dword ptr [esp+8]
0040A55B |. 50 push eax ; /pLocaltime
0040A55C |. E8 CFC1FFFF call <jmp.&kernel32.GetLocalTime> ; \GetLocalTime ///哈哈,猜对了!
0040A561 |. 66:8B4C24 0E mov cx, word ptr [esp+E]
0040A566 |. 66:8B5424 0A mov dx, word ptr [esp+A]
0040A56B |. 66:8B4424 08 mov ax, word ptr [esp+8]
0040A570 |. E8 6BFDFFFF call 0040A2E0
0040A575 |. DD1C24 fstp qword ptr [esp]
0040A578 |. 9B wait
0040A579 |. DD0424 fld qword ptr [esp]
0040A57C |. 83C4 18 add esp, 18
0040A57F \. C3 retn
004A14B9 |. DD5D F4 fstp qword ptr [ebp-C]
004A14BC |. 9B wait
004A14BD |. E8 9687FFFF call 00499C58 ;这个CALL里有inf1的内容,俺就不再详写了,有兴趣自己进去看看
004A14C2 |. DC6D F4 fsubr qword ptr [ebp-C]
004A14C5 |. A1 D8464A00 mov eax, dword ptr [4A46D8]
004A14CA |. DB00 fild dword ptr [eax]
004A14CC |. DED9 fcompp
004A14CE |. DFE0 fstsw ax
004A14D0 |. 9E sahf
004A14D1 |. 73 78 jnb short 004A154B
004A14D3 |. 8B06 mov eax, dword ptr [esi]
004A14D5 |. 8B80 04030000 mov eax, dword ptr [eax+304]
004A14DB |. 8B40 68 mov eax, dword ptr [eax+68]
004A14DE |. BA FF000000 mov edx, 0FF
004A14E3 |. E8 7C38F8FF call 00424D64
004A14E8 |. 8B06 mov eax, dword ptr [esi]
004A14EA |. 8B80 08030000 mov eax, dword ptr [eax+308]
004A14F0 |. 8B40 68 mov eax, dword ptr [eax+68]
004A14F3 |. BA FF000000 mov edx, 0FF
004A14F8 |. E8 6738F8FF call 00424D64
004A14FD |. 8B06 mov eax, dword ptr [esi]
004A14FF |. 8B80 04030000 mov eax, dword ptr [eax+304]
004A1505 |. BA DC154A00 mov edx, 004A15DC ; sorry! this trial version of the program has been expired!
004A150A |. E8 291BFCFF call 00463038
004A150F |. 8B06 mov eax, dword ptr [esi]
004A1511 |. 8B80 08030000 mov eax, dword ptr [eax+308]
004A1517 |. BA 20164A00 mov edx, 004A1620 ; you should register the program now to keep it on your pc.
004A151C |. E8 171BFCFF call 00463038 |
评分
-
查看全部评分
|