GGLHY 发表于 2011-1-22 17:50:56

Easy File & Folder Protector 5.12追码记

本帖最后由 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       ;假码到EAX
004A19E9|.E8 326AFEFF   call    00488420
004A19EE|.8B55 F8       mov   edx, dword ptr
004A19F1|.8D45 FC       lea   eax, dword ptr
004A19F4|.E8 3329F6FF   call    0040432C
004A19F9|.8B45 FC       mov   eax, dword ptr
004A19FC|.E8 6BFAFEFF   call    0049146C                  ;小兔子乖乖,把门儿开开,俺要F7进来
004A1A01|.84C0          test    al, al                      ;好经典的句式啊!
004A1A03|.74 21         je      short 004A1A26
004A1A05|.8B45 FC       mov   eax, dword ptr
004A1A08|.E8 B383FFFF   call    00499DC0
004A1A0D|.6A 00         push    0
004A1A0F|.66:8B0D 741A4>mov   cx, word ptr        ; ;全局变量标志?=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
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
004914C5|.50            push    eax
004914C6|.B9 08000000   mov   ecx, 8
004914CB|.BA 01000000   mov   edx, 1
004914D0|.8B45 FC       mov   eax, dword ptr          ;假码
004914D3|.E8 DC32F7FF   call    004047B4
004914D8|.8B4D E8       mov   ecx, dword ptr           ;假码前8位
004914DB|.8D45 F4       lea   eax, dword ptr
004914DE|.BA C8154900   mov   edx, 004915C8                  ;$
004914E3|.E8 B830F7FF   call    004045A0
004914E8|.8D45 E4       lea   eax, dword ptr
004914EB|.50            push    eax
004914EC|.B9 08000000   mov   ecx, 8
004914F1|.BA 09000000   mov   edx, 9
004914F6|.8B45 FC       mov   eax, dword ptr          ;假码
004914F9|.E8 B632F7FF   call    004047B4
004914FE|.8B4D E4       mov   ecx, dword ptr           ;假码后8位
00491501|.8D45 F0       lea   eax, dword ptr
00491504|.BA C8154900   mov   edx, 004915C8                  ;$
00491509|.E8 9230F7FF   call    004045A0
0049150E|.8D55 F8       lea   edx, dword ptr
00491511|.8B45 F4       mov   eax, dword ptr
00491514|.E8 C719F7FF   call    00402EE0                         ;对注册码限制的检测!
00491519|.837D F8 00    cmp   dword ptr , 0
0049151D|.75 6E         jnz   short 0049158D
0049151F|.8D55 F8       lea   edx, dword ptr
00491522|.8B45 F0       mov   eax, dword ptr           ;$连接假码后8位
00491525|.E8 B619F7FF   call    00402EE0                         ;对注册码限制的检测!
0049152A|.837D F8 00    cmp   dword ptr , 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 , eax
0049153A|.8B45 FC       |mov   eax, dword ptr           ;假码
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        ;每次小循环只取"0123456789ABCD臚"的一位ASC,下一次小循环则取下一位
00491554|.8B7D FC       ||mov   edi, dword ptr          ;假码
00491557|.3A4C17 FF   ||cmp   cl, byte ptr        ;依次取假码每位ASC,二者比较
0049155B|.75 03         ||jnz   short 00491560               ;相等就不跳
0049155D|.FF45 F8       ||inc   dword ptr             ;不跳,相等的就+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 , 5            ;每个小循环完后:5,即假码中与当前所取固定字符串相同的数量
00491568|.7E 09         |jle   short 00491573                  ;不大于5就跳
0049156A|.C745 F8 FFFFF>|mov   dword ptr , -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 , 0             ;大循环是检测注册码的格式要求的。的值千万别小于0
0049157D|.7C 0E         jl      short 0049158D
0049157F|.8B45 FC       mov   eax, dword ptr          ;假码
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:, edx
00491595|.68 B7154900   push    004915B7
0049159A|>8D45 E4       lea   eax, dword ptr
0049159D|.BA 05000000   mov   edx, 5
004915A2|.E8 112DF7FF   call    004042B8
004915A7|.8D45 FC       lea   eax, dword ptr
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:
004912BF|.64:8920       mov   dword ptr fs:, esp
004912C2|.33DB          xor   ebx, ebx
004912C4|.8D45 FC       lea   eax, dword ptr
004912C7|.8A16          mov   dl, byte ptr           ;假码第一位ASC
004912C9|.E8 AE31F7FF   call    0040447C
004912CE|.8B45 FC       mov   eax, dword ptr       ;假码第一位的ASC
004912D1|.E8 4AFFFFFF   call    00491220                  ;假码第1位的数值 / 4,求商!
004912D6|.8BF8          mov   edi, eax                  ;EDI(初始为0)+商 到EDI
004912D8|.8D45 F8       lea   eax, dword ptr
004912DB|.8A56 01       mov   dl, byte ptr       ;假码第2位
004912DE|.E8 9931F7FF   call    0040447C
004912E3|.8B45 F8       mov   eax, dword ptr       ;假码第2位的ASC
004912E6|.E8 35FFFFFF   call    00491220                  ;假码第2位的数值 / 4,求商!
004912EB|.03F8          add   edi, eax                  ;前面相加后的EDI + 商
004912ED|.8D45 F4       lea   eax, dword ptr
004912F0|.8A56 02       mov   dl, byte ptr       ;假码第3位
004912F3|.E8 8431F7FF   call    0040447C
004912F8|.8B45 F4       mov   eax, dword ptr       ;假码第3位的ASC
004912FB|.E8 20FFFFFF   call    00491220                  ;假码第三位的数值 / 4,求商!
00491300|.03F8          add   edi, eax                  ;再相加
00491302|.8D45 F0       lea   eax, dword ptr
00491305|.8A56 03       mov   dl, byte ptr       ;假码第4位的数值
00491308|.E8 6F31F7FF   call    0040447C
0049130D|.8B45 F0       mov   eax, dword ptr
00491310|.E8 0BFFFFFF   call    00491220                  ;假码第4位的数值 / 4,求商
00491315|.03F8          add   edi, eax                  ;继续相加
00491317|.A1 A4464A00   mov   eax, dword ptr    ;查表!=08
0049131C|.3B38          cmp   edi, dword ptr       ;累加过后的和与8比较
0049131E|.0F85 1C010000 jnz   00491440                  ;貌似一跳就挂了!
00491324|.8D45 EC       lea   eax, dword ptr
00491327|.8A56 04       mov   dl, byte ptr       ;假码第5位的数值
0049132A|.E8 4D31F7FF   call    0040447C
0049132F|.8B45 EC       mov   eax, dword ptr
00491332|.E8 E9FEFFFF   call    00491220                  ;同样求商!
00491337|.8BF8          mov   edi, eax
00491339|.8D45 E8       lea   eax, dword ptr
0049133C|.8A56 07       mov   dl, byte ptr       ;假码第8位的数值
0049133F|.E8 3831F7FF   call    0040447C
00491344|.8B45 E8       mov   eax, dword ptr
00491347|.E8 D4FEFFFF   call    00491220                  ;同样求商!
0049134C|.03F8          add   edi, eax                  ;商继续累加
0049134E|.8D45 E4       lea   eax, dword ptr
00491351|.8A56 0A       mov   dl, byte ptr       ;假码第11位的数值
00491354|.E8 2331F7FF   call    0040447C
00491359|.8B45 E4       mov   eax, dword ptr
0049135C|.E8 BFFEFFFF   call    00491220                  ;同样求商!
00491361|.03F8          add   edi, eax                  ;商继续累加
00491363|.8D45 E0       lea   eax, dword ptr
00491366|.8A56 0D       mov   dl, byte ptr       ;假码第14位的数值
00491369|.E8 0E31F7FF   call    0040447C
0049136E|.8B45 E0       mov   eax, dword ptr
00491371|.E8 AAFEFFFF   call    00491220                  ;同样求商!
00491376|.03F8          add   edi, eax                  ;商继续累加
00491378|.A1 D8464A00   mov   eax, dword ptr    ;查表!=08
0049137D|.3B38          cmp   edi, dword ptr       ;累加的商相等吗
0049137F|.0F85 BB000000 jnz   00491440
00491385|.8D45 DC       lea   eax, dword ptr
00491388|.8A16          mov   dl, byte ptr
0049138A|.E8 ED30F7FF   call    0040447C
0049138F|.8B45 DC       mov   eax, dword ptr
00491392|.E8 89FEFFFF   call    00491220                  ;同样求商!
00491397|.8BF8          mov   edi, eax                  ;商!
00491399|.8D45 D8       lea   eax, dword ptr
0049139C|.8A56 01       mov   dl, byte ptr       ;假码第2位
0049139F|.E8 D830F7FF   call    0040447C
004913A4|.8B45 D8       mov   eax, dword ptr
004913A7|.E8 74FEFFFF   call    00491220                  ;同样求商!
004913AC|.03F8          add   edi, eax                  ;商累加
004913AE|.8D45 D4       lea   eax, dword ptr
004913B1|.8A56 02       mov   dl, byte ptr       ;假码第3位
004913B4|.E8 C330F7FF   call    0040447C
004913B9|.8B45 D4       mov   eax, dword ptr
004913BC|.E8 5FFEFFFF   call    00491220                  ;同样求商!
004913C1|.03F8          add   edi, eax                  ;商累加
004913C3|.8D45 D0       lea   eax, dword ptr
004913C6|.8A56 03       mov   dl, byte ptr       ;假码第4位
004913C9|.E8 AE30F7FF   call    0040447C
004913CE|.8B45 D0       mov   eax, dword ptr
004913D1|.E8 4AFEFFFF   call    00491220                  ;同样求商!
004913D6|.03F8          add   edi, eax                  ;商累加
004913D8|.A1 A4464A00   mov   eax, dword ptr    ;继续查表 =08
004913DD|.3B38          cmp   edi, dword ptr       ;相等吗?
004913DF|.75 5F         jnz   short 00491440
004913E1|.8D45 CC       lea   eax, dword ptr
004913E4|.8A56 06       mov   dl, byte ptr       ;假码第7位
004913E7|.E8 9030F7FF   call    0040447C
004913EC|.8B45 CC       mov   eax, dword ptr
004913EF|.E8 2CFEFFFF   call    00491220                  ;同样求商!
004913F4|.8BF8          mov   edi, eax                  ;商
004913F6|.8D45 C8       lea   eax, dword ptr
004913F9|.8A56 09       mov   dl, byte ptr       ;假码第10位
004913FC|.E8 7B30F7FF   call    0040447C
00491401|.8B45 C8       mov   eax, dword ptr
00491404|.E8 17FEFFFF   call    00491220                  ;同样求商!
00491409|.03F8          add   edi, eax                  ;商累加
0049140B|.8D45 C4       lea   eax, dword ptr
0049140E|.8A56 0C       mov   dl, byte ptr       ;假码第13位
00491411|.E8 6630F7FF   call    0040447C
00491416|.8B45 C4       mov   eax, dword ptr
00491419|.E8 02FEFFFF   call    00491220                  ;同样求商!
0049141E|.03F8          add   edi, eax                  ;商累加
00491420|.8D45 C0       lea   eax, dword ptr
00491423|.8A56 0F       mov   dl, byte ptr       ;假码第16位
00491426|.E8 5130F7FF   call    0040447C
0049142B|.8B45 C0       mov   eax, dword ptr
0049142E|.E8 EDFDFFFF   call    00491220                  ;同样求商!
00491433|.03F8          add   edi, eax                  ;商累加
00491435|.A1 D0434A00   mov   eax, dword ptr    ;还是查表 = 08
0049143A|.3B38          cmp   edi, dword ptr       ;不等就挂了!
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:, edx
00491448|.68 62144900   push    00491462
0049144D|>8D45 C0       lea   eax, dword ptr
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           ;
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                ;下一位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
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 , 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:
004A1475|.64:8920       mov   dword ptr fs:, esp
004A1478|.B3 01         mov   bl, 1
004A147A|.8D45 FC       lea   eax, dword ptr
004A147D|.E8 F689FFFF   call    00499E78
004A1482|.8B45 FC       mov   eax, dword ptr
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           ;EFPP.004A5C14
004A149A|.8B09          mov   ecx, dword ptr
004A149C|.B2 01         mov   dl, 1
004A149E|.A1 FC104A00   mov   eax, dword ptr
004A14A3|.E8 A8A8FDFF   call    0047BD50
004A14A8|.8906          mov   dword ptr , eax
004A14AA|.A1 30454A00   mov   eax, dword ptr
004A14AF|.66:C700 3200mov   word ptr , 32
004A14B4|.E8 9B90F6FF   call    0040A554                         ;取时间?
          0040A554/$83C4 E8       add   esp, -18
          0040A557|.8D4424 08   lea   eax, dword ptr
          0040A55B|.50            push    eax                              ; /pLocaltime
          0040A55C|.E8 CFC1FFFF   call    <jmp.&kernel32.GetLocalTime>   ; \GetLocalTime    ///哈哈,猜对了!
          0040A561|.66:8B4C24 0Emov   cx, word ptr
          0040A566|.66:8B5424 0Amov   dx, word ptr
          0040A56B|.66:8B4424 08mov   ax, word ptr
          0040A570|.E8 6BFDFFFF   call    0040A2E0
          0040A575|.DD1C24      fstp    qword ptr
          0040A578|.9B            wait
          0040A579|.DD0424      fld   qword ptr
          0040A57C|.83C4 18       add   esp, 18
          0040A57F\.C3            retn
004A14B9|.DD5D F4       fstp    qword ptr
004A14BC|.9B            wait
004A14BD|.E8 9687FFFF   call    00499C58                         ;这个CALL里有inf1的内容,俺就不再详写了,有兴趣自己进去看看
004A14C2|.DC6D F4       fsubr   qword ptr
004A14C5|.A1 D8464A00   mov   eax, dword ptr
004A14CA|.DB00          fild    dword ptr
004A14CC|.DED9          fcompp
004A14CE|.DFE0          fstsw   ax
004A14D0|.9E            sahf
004A14D1|.73 78         jnb   short 004A154B
004A14D3|.8B06          mov   eax, dword ptr
004A14D5|.8B80 04030000 mov   eax, dword ptr
004A14DB|.8B40 68       mov   eax, dword ptr
004A14DE|.BA FF000000   mov   edx, 0FF
004A14E3|.E8 7C38F8FF   call    00424D64
004A14E8|.8B06          mov   eax, dword ptr
004A14EA|.8B80 08030000 mov   eax, dword ptr
004A14F0|.8B40 68       mov   eax, dword ptr
004A14F3|.BA FF000000   mov   edx, 0FF
004A14F8|.E8 6738F8FF   call    00424D64
004A14FD|.8B06          mov   eax, dword ptr
004A14FF|.8B80 04030000 mov   eax, dword ptr
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
004A1511|.8B80 08030000 mov   eax, dword ptr
004A1517|.BA 20164A00   mov   edx, 004A1620                  ;you should register the program now to keep it on your pc.
004A151C|.E8 171BFCFF   call    00463038

sdnyzjzx 发表于 2011-1-22 19:58:15

向楼主学习,下一步自己要更加努力!

coolfire1983 发表于 2011-1-22 21:41:43

学习了啊 很详细 谢谢楼主!

月之精灵 发表于 2011-1-23 11:18:48

最近比较高产哈,谢谢分享心得

qq500com 发表于 2011-1-23 14:00:18

谢谢分享!!!!!

whypro 发表于 2011-1-25 19:44:00

太牛了,膜拜了!

A.K.I 发表于 2011-3-14 14:43:32

都是好文章..学习
页: [1]
查看完整版本: Easy File & Folder Protector 5.12追码记