吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 5231|回复: 3
收起左侧

[分享] MAKE in H&Y算法分析

[复制链接]
shenaset 发表于 2009-3-14 09:54
本帖最后由 shenaset 于 2009-3-14 10:52 编辑

【文章标题】: MAKE in H&Y算法分析
【文章作者】: .........
【作者邮箱】: .........
【作者主页】: .........
【作者QQ号】: .........
【软件名称】: MAKE in H&Y
【下载地址】: http://bbs.52pojie.cn/thread-20354-1-1.html
【作者声明】: 有些地方可能分析的不是很好,请大虾指点
--------------------------------------------------------------------------------
【详细过程】
  
004016C0  /.  55            PUSH EBP
004016C1  |.  8BEC          MOV EBP,ESP
004016C3  |.  83E4 F8       AND ESP,FFFFFFF8
004016C6  |.  83EC 20       SUB ESP,20
004016C9  |.  53            PUSH EBX
004016CA  |.  55            PUSH EBP
004016CB  |.  56            PUSH ESI
004016CC  |.  57            PUSH EDI
004016CD  |.  6A 01         PUSH 1
004016CF  |.  8BF9          MOV EDI,ECX
004016D1  |.  E8 98700000   CALL cm2.0040876E
004016D6  |.  8DAF 20010000 LEA EBP,DWORD PTR DS:[EDI+120]
004016DC  |.  8BF5          MOV ESI,EBP
004016DE  |.  E8 1D020000   CALL cm2.00401900
004016E3  |.  84C0          TEST AL,AL
004016E5  |.  0F85 4E010000 JNZ cm2.00401839                         ;  第一处不能为空
004016EB  |.  8DB7 CC010000 LEA ESI,DWORD PTR DS:[EDI+1CC]
004016F1  |.  E8 0A020000   CALL cm2.00401900
004016F6  |.  84C0          TEST AL,AL
004016F8  |.  0F85 3B010000 JNZ cm2.00401839                         ;  第二处不能为空
004016FE  |.  8D9F 24020000 LEA EBX,DWORD PTR DS:[EDI+224]
00401704  |.  8BF3          MOV ESI,EBX
00401706  |.  E8 F5010000   CALL cm2.00401900
0040170B  |.  84C0          TEST AL,AL
0040170D  |.  0F85 26010000 JNZ cm2.00401839                         ;  第三处不能为空
00401713  |.  8DB7 7C020000 LEA ESI,DWORD PTR DS:[EDI+27C]
00401719  |.  E8 E2010000   CALL cm2.00401900
0040171E  |.  84C0          TEST AL,AL
00401720  |.  0F85 13010000 JNZ cm2.00401839                         ;  第四处不能为空
00401726  |.  8B1B          MOV EBX,DWORD PTR DS:[EBX]               ;  第三个框数值放到EBX里
00401728  |.  53            PUSH EBX                                 ; /Arg1
00401729  |.  E8 76D60100   CALL cm2.0041EDA4                        ; \eax=1EA0
0040172E  |.  DD5424 2C     FST QWORD PTR SS:[ESP+2C]                ;  保存第三个框
00401732  |.  DD05 B8A24300 FLD QWORD PTR DS:[43A2B8]                ;  装入430
00401738  |.  83C4 04       ADD ESP,4
0040173B  |.  D8D9          FCOMP ST(1)                              ;  430与第三个框数值比较
0040173D  |.  DFE0          FSTSW AX                                 ;  把FST放入AX
0040173F  |.  F6C4 05       TEST AH,5
00401742  |.  0F8A E0000000 JPE cm2.00401828
00401748  |.  DD05 B0A24300 FLD QWORD PTR DS:[43A2B0]                ;  装入612
0040174E  |.  D8D9          FCOMP ST(1)                              ;  612与第三个框数值比较
00401750  |.  DFE0          FSTSW AX                                 ;  把FST放入AX
00401752  |.  F6C4 41       TEST AH,41
00401755  |.  0F85 CD000000 JNZ cm2.00401828                         ;  430<第三个框数值<612
0040175B  |.  D9E8          FLD1
0040175D  |.  B8 02000000   MOV EAX,2
00401762  |.  DD5424 20     FST QWORD PTR SS:[ESP+20]                ;  保存1
00401766  |>  A8 01         /TEST AL,1
00401768  |.  74 02         |JE SHORT cm2.0040176C
0040176A  |.  D8C9          |FMUL ST,ST(1)
0040176C  |>  D1E8          |SHR EAX,1
0040176E  |.  74 06         |JE SHORT cm2.00401776
00401770  |.  D9C1          |FLD ST(1)                               ;  装入第三个框数值
00401772  |.  DECA          |FMULP ST(2),ST                          ;  第3个框数值*第3个框数值
00401774  |.^ EB F0         \JMP SHORT cm2.00401766
00401776  |>  8B45 00       MOV EAX,DWORD PTR SS:[EBP]               ;  第一个框放到EAX里
00401779  |.  DDD9          FSTP ST(1)                               ;  装入第3个框数值*第3个框数值
0040177B  |.  50            PUSH EAX                                 ; /Arg1
0040177C  |.  DD5C24 24     FSTP QWORD PTR SS:[ESP+24]               ; |
00401780  |.  E8 48D60100   CALL cm2.0041EDCD                        ; \第一个框转成十六进制
00401785  |.  8BD8          MOV EBX,EAX                              ;  第一个框放到EBX里
00401787  |.  8D83 6BFDFFFF LEA EAX,DWORD PTR DS:[EBX-295]           ;  FA放到EAX里
0040178D  |.  83C4 04       ADD ESP,4
00401790  |.  895C24 1C     MOV DWORD PTR SS:[ESP+1C],EBX
00401794  |.  3D FA000000   CMP EAX,0FA                              ;  第一个框的数值转成十六进制与0FA比较
00401799  |.  0F87 8B000000 JA cm2.0040182A                          ;  第一个框数值(H)-295<0FA
0040179F  |.  8B06          MOV EAX,DWORD PTR DS:[ESI]               ;  第4个框放到EAX
004017A1  |.  50            PUSH EAX                                 ; /Arg1
004017A2  |.  E8 26D60100   CALL cm2.0041EDCD                        ; \第4个框转成十六进制
004017A7  |.  894424 1C     MOV DWORD PTR SS:[ESP+1C],EAX
004017AB  |.  05 F8FDFFFF   ADD EAX,-208                             ;  第4个框-208
004017B0  |.  83C4 04       ADD ESP,4
004017B3  |.  3D C8000000   CMP EAX,0C8                              ;  与C8比较
004017B8  |.  0F87 AF000000 JA cm2.0040186D                          ;  第四个框数值(H)-208<0C8
004017BE  |.  8B87 CC010000 MOV EAX,DWORD PTR DS:[EDI+1CC]           ;  第二个框数值放到EAX
004017C4  |.  50            PUSH EAX                                 ; /Arg1
004017C5  |.  E8 DAD50100   CALL cm2.0041EDA4                        ; \cm2.0041EDA4
004017CA  |.  DD05 A8A24300 FLD QWORD PTR DS:[43A2A8]                ;  装入480
004017D0  |.  D8D9          FCOMP ST(1)                              ;  480与第二个框数值比较
004017D2  |.  83C4 04       ADD ESP,4
004017D5  |.  DFE0          FSTSW AX
004017D7  |.  F6C4 41       TEST AH,41
004017DA  |.  0F84 8B000000 JE cm2.0040186B
004017E0  |.  DD05 A0A24300 FLD QWORD PTR DS:[43A2A0]                ;  装入690
004017E6  |.  D8D9          FCOMP ST(1)                              ;  690与第二个框数值比较
004017E8  |.  DFE0          FSTSW AX                                 ;  FST放入AX
004017EA  |.  F6C4 05       TEST AH,5
004017ED  |.  7B 7C         JPO SHORT cm2.0040186B                   ;  480<第二个框数值(D)<690
004017EF  |.  8BCB          MOV ECX,EBX                              ;  第一个框数值转成十六进制放到ECX里
004017F1  |.  0FAFCB        IMUL ECX,EBX                             ;  g=第一个框数值*第一个框数值
004017F4  |.  894C24 14     MOV DWORD PTR SS:[ESP+14],ECX            ;  
004017F8  |.  DB4424 14     FILD DWORD PTR SS:[ESP+14]               ;  g转成十进制
004017FC  |.  DC6424 20     FSUB QWORD PTR SS:[ESP+20]               ;  d=g-第3个框数值*第3个框数值
00401800  |.  DB4424 18     FILD DWORD PTR SS:[ESP+18]               ;  第4个框装入
00401804  |.  DEC2          FADDP ST(2),ST                           ;  a=第二个框+第4个框
00401806  |.  DB4424 1C     FILD DWORD PTR SS:[ESP+1C]               ;  第一个框装入
0040180A  |.  DC6424 28     FSUB QWORD PTR SS:[ESP+28]               ;  b=第一个框-第三个框
0040180E  |.  DECA          FMULP ST(2),ST                           ;  c=a*b
00401810  |.  DAE9          FUCOMPP                                  ;  c与d比较
00401812  |.  DFE0          FSTSW AX                                 ;  把FST放到AX
00401814  |.  F6C4 44       TEST AH,44
00401817  |.  7A 54         JPE SHORT cm2.0040186D                  
00401819  |.  8BCF          MOV ECX,EDI
0040181B  |.  E8 60000000   CALL cm2.00401880
00401820  |.  5F            POP EDI
00401821  |.  5E            POP ESI
00401822  |.  5D            POP EBP
00401823  |.  5B            POP EBX
00401824  |.  8BE5          MOV ESP,EBP
00401826  |.  5D            POP EBP
00401827  |.  C3            RETN
00401828  |>  DDD8          FSTP ST
0040182A  |>  8BCF          MOV ECX,EDI
0040182C  |.  E8 9F000000   CALL cm2.004018D0
00401831  |.  5F            POP EDI
00401832  |.  5E            POP ESI
00401833  |.  5D            POP EBP
00401834  |.  5B            POP EBX
00401835  |.  8BE5          MOV ESP,EBP
00401837  |.  5D            POP EBP
00401838  |.  C3            RETN
00401839  |>  6A 00         PUSH 0                                   ; /Arg1 = 00000000
0040183B  |.  8D4F 78       LEA ECX,DWORD PTR DS:[EDI+78]            ; |
0040183E  |.  E8 0BA70000   CALL cm2.0040BF4E                        ; \cm2.0040BF4E
00401843  |.  8DB7 CC000000 LEA ESI,DWORD PTR DS:[EDI+CC]
00401849  |.  6A 00         PUSH 0                                   ; /Arg1 = 00000000
0040184B  |.  8BCE          MOV ECX,ESI                              ; |
0040184D  |.  E8 FCA60000   CALL cm2.0040BF4E                        ; \cm2.0040BF4E
00401852  |.  6A 64         PUSH 64                                  ; /Timeout = 100. ms
00401854  |.  FF15 A8424300 CALL DWORD PTR DS:[<&KERNEL32.Sleep>]    ; \Sleep
0040185A  |.  6A 05         PUSH 5                                   ; /Arg1 = 00000005
0040185C  |.  8BCE          MOV ECX,ESI                              ; |
0040185E  |.  E8 EBA60000   CALL cm2.0040BF4E                        ; \cm2.0040BF4E
00401863  |.  5F            POP EDI
00401864  |.  5E            POP ESI
00401865  |.  5D            POP EBP
00401866  |.  5B            POP EBX
00401867  |.  8BE5          MOV ESP,EBP
00401869  |.  5D            POP EBP
0040186A  |.  C3            RETN


--------------------------------------------------------------------------------
【经验总结】
  算法:
       第一个框数值(H)-295<0FA   '661-910之间的数都行
       480<第二个框数值(D)<690   
       430<第三个框数值(D)<612
       第四个框数值(H)-208<0C8   '521-719之间的数都行
       最后一步:第一个框数值*第一个框数值-第三个框数值*第三个框数值=(第二个框数值+第四个框数值)*(第一个框数值-第三个框数值)

附注册码一个:900-650-431-681
  
--------------------------------------------------------------------------------
【版权声明】: 怎么会有版权呢,没版权,只要不用偶名字乱来就行了

                                                     2009-3-14

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

CHHSun 发表于 2009-3-14 10:43
爆是爆了,就是不会算法分析,向楼主学习了。
最好是写篇教程记录下内容。
菠萝包 发表于 2009-3-14 11:03
算法分析这个难度很大,不知道有没有什么工具可以帮助的?
streamload 发表于 2009-3-14 13:48
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 20:49

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表