GGLHY 发表于 2011-3-3 01:03:47

简单任务之一分钟学算法:某录像软件的注册算法分析

本帖最后由 GGLHY 于 2012-3-16 13:13 编辑

简单任务之一分钟学算法:某录像软件的注册算法分析

很简单,确实很简单!适合新手。

0043060B    E8 E0E6FFFF   CALL VideoRec.0042ECF0                   ; 重启验证的call!
00430610    85C0            TEST EAX,EAX
00430612    0F85 E5000000   JNZ VideoRec.004306FD

00431A05    E8 E6D2FFFF   CALL VideoRec.0042ECF0                   ; 录像时调用!00431A0A    85C0            TEST EAX,EAX
00431A0C    75 09         JNZ SHORT VideoRec.00431A17            ; 不跳则有2分钟的限制
00431A0E    C745 F4 0000000>MOV DWORD PTR SS:,0            ;注意这里
00431A15    EB 07         JMP SHORT VideoRec.00431A1E
00431A17    C745 F4 0100000>MOV DWORD PTR SS:,1   ;还有这里。赋值不同!
ok,直接来到:0042ED1C    C745 F0 CE2BE30>MOV DWORD PTR SS:,0E32BCE            ; 这里赋值常数0E32BCE给
0042ED23    C745 E8 2540743>MOV DWORD PTR SS:,35744025                        ; 这里赋值常数:35744025给
0042ED2A    8D4D EC         LEA ECX,DWORD PTR SS:
0042ED2D    E8 6E2AFDFF   CALL VideoRec.004017A0
0042ED32    C745 FC 0000000>MOV DWORD PTR SS:,0
0042ED39    8D4D D8         LEA ECX,DWORD PTR SS:
0042ED3C    E8 5F2AFDFF   CALL VideoRec.004017A0
0042ED41    C645 FC 01      MOV BYTE PTR SS:,1
0042ED45    C745 DC C800000>MOV DWORD PTR SS:,0C8
0042ED4C    6A 00         PUSH 0
0042ED4E    6A 00         PUSH 0
0042ED50    6A 00         PUSH 0
0042ED52    6A 00         PUSH 0
0042ED54    8D45 E0         LEA EAX,DWORD PTR SS:
0042ED57    50            PUSH EAX
0042ED58    6A 00         PUSH 0
0042ED5A    6A 00         PUSH 0
0042ED5C    68 CC454900   PUSH VideoRec.004945CC**** Hidden Message *****0042EDAB    85C0            TEST EAX,EAX                                 ; (保存的)注册码长度为空则跳
0042EDAD    74 71         JE SHORT VideoRec.0042EE20
0042EDAF    8D85 0CFFFFFF   LEA EAX,DWORD PTR SS:                  ; 保存的注册码!
0042EDB5    50            PUSH EAX
0042EDB6    8D4D D8         LEA ECX,DWORD PTR SS:
0042EDB9    E8 F23CFDFF   CALL VideoRec.00402AB0
0042EDBE    6A 10         PUSH 10
0042EDC0    6A 00         PUSH 0
0042EDC2    8D4D D8         LEA ECX,DWORD PTR SS:
0042EDC5    E8 E6F4FDFF   CALL VideoRec.0040E2B0
0042EDCA    50            PUSH EAX
0042EDCB    E8 049F0200   CALL VideoRec.00458CD4
0042EDD0    83C4 0C         ADD ESP,0C
0042EDD3    8945 E4         MOV DWORD PTR SS:,EAX               ; 保存的注册码!
0042EDD6    8B4D E4         MOV ECX,DWORD PTR SS:
0042EDD9    334D E8         XOR ECX,DWORD PTR SS:               ; 保存的注册码xor 常数35744025
0042EDDC    894D E4         MOV DWORD PTR SS:,ECX               ; 结果为机器码的数值形式
0042EDDF    8B55 E4         MOV EDX,DWORD PTR SS:
0042EDE2    3355 F0         XOR EDX,DWORD PTR SS:               ; 机器码的数值形式 xor 常数00E32BCE
0042EDE5    8955 E4         MOV DWORD PTR SS:,EDX               ; 得到的结果!
**** Hidden Message *****0042EDEE    75 30         JNZ SHORT VideoRec.0042EE20                   ; 不等则跳,下面会弹出注册框!
0042EDF0    C785 A0FDFFFF 0>MOV DWORD PTR SS:,1
0042EDFA    C645 FC 00      MOV BYTE PTR SS:,0
0042EDFE    8D4D D8         LEA ECX,DWORD PTR SS:
0042EE01    E8 BA29FDFF   CALL VideoRec.004017C0
0042EE06    C745 FC FFFFFFF>MOV DWORD PTR SS:,-1
0042EE0D    8D4D EC         LEA ECX,DWORD PTR SS:
0042EE10    E8 AB29FDFF   CALL VideoRec.004017C0
0042EE15    8B85 A0FDFFFF   MOV EAX,DWORD PTR SS:
0042EE1B    E9 07030000   JMP VideoRec.0042F127
0042EE20    0FB64D 08       MOVZX ECX,BYTE PTR SS:
0042EE24    85C9            TEST ECX,ECX
0042EE26    0F84 D0020000   JE VideoRec.0042F0FC
0042EE2C    8D8D 04FFFFFF   LEA ECX,DWORD PTR SS:
0042EE32    E8 6929FDFF   CALL VideoRec.004017A0
0042EE37    C645 FC 02      MOV BYTE PTR SS:,2
0042EE3B    68 E8454900   PUSH VideoRec.004945E8                         ; ASCII "UseTimes3"
0042EE40    8D8D A4FDFFFF   LEA ECX,DWORD PTR SS:
0042EE46    E8 F53BFDFF   CALL VideoRec.00402A40
0042EE4B    C645 FC 03      MOV BYTE PTR SS:,3
0042EE4F    68 F4454900   PUSH VideoRec.004945F4                         ; ASCII "Time"
0042EE54    8D8D A8FDFFFF   LEA ECX,DWORD PTR SS:
0042EE5A    E8 E13BFDFF   CALL VideoRec.00402A40
(省略部分代码)
0042EF20    E8 DB2BFDFF   CALL VideoRec.00401B00
0042EF25    83C4 0C         ADD ESP,0C
0042EF28    8D8D ACFDFFFF   LEA ECX,DWORD PTR SS:
0042EF2E    E8 E2E40300   CALL VideoRec.0046D415                        ;调出注册框!
0042EF33    83F8 01         CMP EAX,1
0042EF36    0F85 21010000   JNZ VideoRec.0042F05D
0042EF3C    8D95 20FEFFFF   LEA EDX,DWORD PTR SS:
0042EF42    52            PUSH EDX
0042EF43    8D4D D8         LEA ECX,DWORD PTR SS:
0042EF46    E8 952BFDFF   CALL VideoRec.00401AE0
0042EF4B    8D8D ACFDFFFF   LEA ECX,DWORD PTR SS:
0042EF51    E8 DA35FFFF   CALL VideoRec.00422530
0042EF56    8985 9CFDFFFF   MOV DWORD PTR SS:,EAX
0042EF5C    8B85 9CFDFFFF   MOV EAX,DWORD PTR SS:
0042EF62    50            PUSH EAX
0042EF63    E8 32310400   CALL VideoRec.0047209A
0042EF68    83C4 04         ADD ESP,4
0042EF6B    6A 10         PUSH 10
0042EF6D    6A 00         PUSH 0
0042EF6F    8D4D D8         LEA ECX,DWORD PTR SS:
0042EF72    E8 39F3FDFF   CALL VideoRec.0040E2B0
0042EF77    50            PUSH EAX                                       ; 假码15987530
0042EF78    E8 579D0200   CALL VideoRec.00458CD4
0042EF7D    83C4 0C         ADD ESP,0C
0042EF80    8945 E4         MOV DWORD PTR SS:,EAX                  ; 假码15987530
0042EF83    8B4D E4         MOV ECX,DWORD PTR SS:
0042EF86    334D E8         XOR ECX,DWORD PTR SS:                  ; 假码 XOR 35744025
0042EF89    894D E4         MOV DWORD PTR SS:,ECX                  ; xoR的结果
0042EF8C    8B55 E4         MOV EDX,DWORD PTR SS:                  ; xoR的结果
0042EF8F    3355 F0         XOR EDX,DWORD PTR SS:                  ; 再 xor 00E32BCE
0042EF92    8955 E4         MOV DWORD PTR SS:,EDX                  ; 结果
0042EF95    8B45 E4         MOV EAX,DWORD PTR SS:                  ; 设为K2
**** Hidden Message *****0042EF9B    0F85 AC000000   JNZ VideoRec.0042F04D                        ; 不等就错了!
0042EFA1    8D4D EC         LEA ECX,DWORD PTR SS:
0042EFA4    E8 07F3FDFF   CALL VideoRec.0040E2B0
0042EFA9    50            PUSH EAX
0042EFAA    68 14464900   PUSH VideoRec.00494614                         ; ASCII "UserID"
0042EFAF    68 1C464900   PUSH VideoRec.0049461C                         ; ASCII "MySoft"
0042EFB4    FF15 74C34800   CALL DWORD PTR DS:                     ; kernel32.WriteProfileStringA
0042EFBA    8D4D D8         LEA ECX,DWORD PTR SS:
0042EFBD    E8 EEF2FDFF   CALL VideoRec.0040E2B0
0042EFC2    50            PUSH EAX
0042EFC3    68 24464900   PUSH VideoRec.00494624                         ; ASCII "RegCode"
0042EFC8    68 2C464900   PUSH VideoRec.0049462C                         ; ASCII "MySoft"
0042EFCD    FF15 74C34800   CALL DWORD PTR DS:                     ; kernel32.WriteProfileStringA
0042EFD3    6A 00         PUSH 0
0042EFD5    6A 00         PUSH 0
文件注册信息保存在:
**** Hidden Message *****


试着录了2分46秒的视频,可能是没有选好解码器的缘故吧,生成的录像文件近50M。



另外,顺便贴个如何查看盘符卷标序列号的命令:
-------我是分割线(不要复制我,复制下面的内容)---
ECHO " HELLO , GGLHY !"
fsutil fsinfo volumeinfo c:\
pause
----------我是分割线(不要复制我)-----------

将其另存为:查看C盘卷序列号.bat
运行即可查看C盘卷序列号
看这里:Volumen Serial Number : 0X.....(16进制)


另盘符可以自己更改!

















设置回复可见是让刚入门的真心想学习的兄弟姐妹们看的。如果只是想观光,这种简单算法也就不必浪费阁下的时间了!/:017




老万 发表于 2011-3-3 07:17:53

本帖最后由 老万 于 2011-3-3 20:51 编辑

录像软件,学习了

月之精灵 发表于 2011-3-3 14:41:08

老G,改风格了哈,

a1250377248 发表于 2011-3-3 17:36:40

哇!!!学习了 支持你

GGLHY 发表于 2011-3-4 11:32:07

顺便贴个如何查看盘符卷标序列号的命令:
-----------我是分割线(不要复制我,复制下面的内容)-------
ECHO " HELLO , GGLHY !"
fsutil fsinfo volumeinfo c:\
pause
----------我是分割线(不要复制我)-----------

将其另存为:查看C盘卷序列号.bat
运行即可查看C盘卷序列号
看这里:Volumen Serial Number : 0X.....(16进制)


另盘符可以自己更改!

my1229 发表于 2011-3-4 13:26:58

我也来学习并支持楼主的分享。

DaShanRen 发表于 2011-3-5 10:52:06

是什么录像软件?

lcylcyll 发表于 2011-3-5 11:36:48

学习了 支持你

lcylcyll 发表于 2011-3-5 11:37:33

学习了 支持你

lcylcyll 发表于 2011-3-5 11:40:01

还是看不明白是什么意思啊!
看来我对算法还是不行啊
页: [1] 2 3 4
查看完整版本: 简单任务之一分钟学算法:某录像软件的注册算法分析