飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 2734|回复: 1

[原创] 英汉互译王V2007 算法分析

[复制链接]
  • TA的每日心情
    开心
    2016-11-4 23:26
  • 签到天数: 5 天

    [LV.2]偶尔看看I

    发表于 2011-2-28 07:56:24 | 显示全部楼层 |阅读模式
    英汉互译王V2007算法分析!!!!!!!
    1.一款快速高效的英汉翻译软件,不仅可以实现英汉互译,还可实现繁简互译。并伴有语音朗读功能。您在平时学习英语的过程中、上网浏览英文站点时、看英文原版书籍时、或是在做翻译工作时。你需要一个工具帮助您,从而使语言不再成为你前进的障碍,体验异彩纷呈的精神文明和文化世界,我们推荐您使用《英汉互译王》。她将是您工作、学习、网上生活的理想小伴侣。娃娃软件,科技开创美丽生活,祝您使用愉快。
    2.用到的软件是PEID OD。
    3。我从看雪论坛精华9看到《英汉互译王V2007 算法分析之“联想分析法”》文章.大家可以看看它是怎么做的。我觉的可以,但我觉得要想了解软件算法,就要认认真真的去分析软件的算法CALL,才能比较完整的了解软件的算法。不是仅凭一些联想就可以找软件的算精要的。
    4。因此有这个算法分析。希望可以给大家一点启示。
    004A974C  /$  55            PUSH EBP
    004A974D  |.  8BEC          MOV EBP,ESP
    004A974F  |.  51            PUSH ECX
    004A9750  |.  B9 07000000   MOV ECX,7
    004A9755  |>  6A 00         /PUSH 0
    004A9757  |.  6A 00         |PUSH 0
    004A9759  |.  49            |DEC ECX
    004A975A  |.^ 75 F9         \JNZ SHORT Ectk.004A9755
    004A975C  |.  874D FC       XCHG DWORD PTR SS:[EBP-4],ECX
    004A975F  |.  53            PUSH EBX
    004A9760  |.  56            PUSH ESI
    004A9761  |.  57            PUSH EDI
    004A9762  |.  894D F8       MOV DWORD PTR SS:[EBP-8],ECX
    004A9765  |.  8955 FC       MOV DWORD PTR SS:[EBP-4],EDX             ;  放入固定字符
    004A9768  |.  8BD8          MOV EBX,EAX                              ;  机器码
    004A976A  |.  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]
    004A976D  |.  E8 C6ADF5FF   CALL Ectk.00404538
    004A9772  |.  33C0          XOR EAX,EAX
    004A9774  |.  55            PUSH EBP
    004A9775  |.  68 4E994A00   PUSH Ectk.004A994E
    004A977A  |.  64:FF30       PUSH DWORD PTR FS:[EAX]
    004A977D  |.  64:8920       MOV DWORD PTR FS:[EAX],ESP
    004A9780  |.  8D55 F4       LEA EDX,DWORD PTR SS:[EBP-C]
    004A9783  |.  8BC3          MOV EAX,EBX
    004A9785  |.  E8 26FFFFFF   CALL Ectk.004A96B0                       ;  把机器码转化为16进制数
    004A978A  |.  8D55 F0       LEA EDX,DWORD PTR SS:[EBP-10]
    004A978D  |.  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]
    004A9790  |.  E8 1BFFFFFF   CALL Ectk.004A96B0                       ;  把固定字符4k6d8r转化为16进制数
    004A9795  |.  8D45 EC       LEA EAX,DWORD PTR SS:[EBP-14]
    004A9798  |.  8B55 F4       MOV EDX,DWORD PTR SS:[EBP-C]
    004A979B  |.  E8 80A9F5FF   CALL Ectk.00404120
    004A97A0  |.  8B45 F0       MOV EAX,DWORD PTR SS:[EBP-10]            ;  把固定字符4k6d8r转化为16进制数给EAX
    004A97A3  |.  E8 A0ABF5FF   CALL Ectk.00404348                       ;  算出把固定字符4k6d8r转化为16进制数的位数
    004A97A8  |.  D1F8          SAR EAX,1                                ;   算出EAX=12算术右移1位EAX=6
    004A97AA  |.  79 03         JNS SHORT Ectk.004A97AF
    004A97AC  |.  83D0 00       ADC EAX,0
    004A97AF  |>  85C0          TEST EAX,EAX
    004A97B1  |.  0F8E 54010000 JLE Ectk.004A990B
    004A97B7  |.  8945 E0       MOV DWORD PTR SS:[EBP-20],EAX            ;  把EAX=6给SS:[EBP-20]。
    004A97BA  |.  BE 01000000   MOV ESI,1
    004A97BF  |>  83FE 01       /CMP ESI,1
    004A97C2  |.  74 0B         |JE SHORT Ectk.004A97CF
    004A97C4  |.  8D45 EC       |LEA EAX,DWORD PTR SS:[EBP-14]
    004A97C7  |.  8B55 E8       |MOV EDX,DWORD PTR SS:[EBP-18]
    004A97CA  |.  E8 51A9F5FF   |CALL Ectk.00404120
    004A97CF  |>  8D45 E8       |LEA EAX,DWORD PTR SS:[EBP-18]
    004A97D2  |.  E8 B1A8F5FF   |CALL Ectk.00404088
    004A97D7  |.  8B45 EC       |MOV EAX,DWORD PTR SS:[EBP-14]
    004A97DA  |.  E8 69ABF5FF   |CALL Ectk.00404348                      ;  算出字符位数是40位的
    004A97DF  |.  8BF8          |MOV EDI,EAX                             ;  给EDI
    004A97E1  |.  D1FF          |SAR EDI,1                               ;   算出EAX=40算术右移1位EAX=20
    004A97E3  |.  79 03         |JNS SHORT Ectk.004A97E8
    004A97E5  |.  83D7 00       |ADC EDI,0
    004A97E8  |>  85FF          |TEST EDI,EDI
    004A97EA  |.  0F8E 11010000 |JLE Ectk.004A9901
    004A97F0  |.  BB 01000000   |MOV EBX,1                               ;  EBX置1
    004A97F5  |>  BA 5C994A00   |/MOV EDX,Ectk.004A995C
    004A97FA  |.  8D45 D8       ||LEA EAX,DWORD PTR SS:[EBP-28]          ;  EAX
    004A97FD  |.  E8 2E94F5FF   ||CALL Ectk.00402C30                     ;  EAX置2 ECX清0 SS:[EBP-28]存入0124
    004A9802  |.  8D45 D4       ||LEA EAX,DWORD PTR SS:[EBP-2C]          ;  堆栈地址=0012ECC4
    004A9805  |.  8BD3          ||MOV EDX,EBX
    004A9807  |.  03D2          ||ADD EDX,EDX                            ;  EDX+EDX
    004A9809  |.  8B4D EC       ||MOV ECX,DWORD PTR SS:[EBP-14]          ;  SS:[EBP-14]中存入的是一个40位数的字符串
    004A980C  |.  8A5411 FE     ||MOV DL,BYTE PTR DS:[ECX+EDX-2]         ;  循环取字任符的奇数位给DL,字符取出是EDI控制的
    004A9810  |.  8850 01       ||MOV BYTE PTR DS:[EAX+1],DL             ;  DL给DS:[EAX+1]
    004A9813  |.  C600 01       ||MOV BYTE PTR DS:[EAX],1                ;  DS:[EAX]置1
    004A9816  |.  8D55 D4       ||LEA EDX,DWORD PTR SS:[EBP-2C]
    004A9819  |.  8D45 D8       ||LEA EAX,DWORD PTR SS:[EBP-28]
    004A981C  |.  B1 02         ||MOV CL,2
    004A981E  |.  E8 DD93F5FF   ||CALL Ectk.00402C00
    004A9823  |.  8D55 D8       ||LEA EDX,DWORD PTR SS:[EBP-28]
    004A9826  |.  8D45 D0       ||LEA EAX,DWORD PTR SS:[EBP-30]
    004A9829  |.  E8 0294F5FF   ||CALL Ectk.00402C30
    004A982E  |.  8D45 D4       ||LEA EAX,DWORD PTR SS:[EBP-2C]
    004A9831  |.  8BD3          ||MOV EDX,EBX
    004A9833  |.  03D2          ||ADD EDX,EDX
    004A9835  |.  8B4D EC       ||MOV ECX,DWORD PTR SS:[EBP-14]          ;  SS:[EBP-14]中存入的是一个40位数的字符串
    004A9838  |.  8A5411 FF     ||MOV DL,BYTE PTR DS:[ECX+EDX-1]         ;  循环取字任符的偶数位给DL,字符取出是EDI控制的
    004A983C  |.  8850 01       ||MOV BYTE PTR DS:[EAX+1],DL
    004A983F  |.  C600 01       ||MOV BYTE PTR DS:[EAX],1
    004A9842  |.  8D55 D4       ||LEA EDX,DWORD PTR SS:[EBP-2C]
    004A9845  |.  8D45 D0       ||LEA EAX,DWORD PTR SS:[EBP-30]
    004A9848  |.  B1 03         ||MOV CL,3
    004A984A  |.  E8 B193F5FF   ||CALL Ectk.00402C00
    004A984F  |.  8D55 D0       ||LEA EDX,DWORD PTR SS:[EBP-30]
    004A9852  |.  8D45 DC       ||LEA EAX,DWORD PTR SS:[EBP-24]
    004A9855  |.  E8 92AAF5FF   ||CALL Ectk.004042EC
    004A985A  |.  8B45 DC       ||MOV EAX,DWORD PTR SS:[EBP-24]
    004A985D  |.  E8 BEEFF5FF   ||CALL Ectk.00408820
    004A9862  |.  8845 E7       ||MOV BYTE PTR SS:[EBP-19],AL            ;  把取的字符存到SS;[EBP—19]中
    004A9865  |.  BA 5C994A00   ||MOV EDX,Ectk.004A995C
    004A986A  |.  8D45 D8       ||LEA EAX,DWORD PTR SS:[EBP-28]
    004A986D  |.  E8 BE93F5FF   ||CALL Ectk.00402C30
    004A9872  |.  8D45 D4       ||LEA EAX,DWORD PTR SS:[EBP-2C]
    004A9875  |.  8BD6          ||MOV EDX,ESI                            ;  只有完成一个大的循环才会加ESI加1
    004A9877  |.  03D2          ||ADD EDX,EDX
    004A9879  |.  8B4D F0       ||MOV ECX,DWORD PTR SS:[EBP-10]          ;  SS:[EBP-10]存放的是固定字符转化的16进制数
    004A987C  |.  8A5411 FE     ||MOV DL,BYTE PTR DS:[ECX+EDX-2]         ;  循环取字任符的奇数位给DL,字符取出是esi控制的
    004A9880  |.  8850 01       ||MOV BYTE PTR DS:[EAX+1],DL
    004A9883  |.  C600 01       ||MOV BYTE PTR DS:[EAX],1
    004A9886  |.  8D55 D4       ||LEA EDX,DWORD PTR SS:[EBP-2C]
    004A9889  |.  8D45 D8       ||LEA EAX,DWORD PTR SS:[EBP-28]
    004A988C  |.  B1 02         ||MOV CL,2
    004A988E  |.  E8 6D93F5FF   ||CALL Ectk.00402C00
    004A9893  |.  8D55 D8       ||LEA EDX,DWORD PTR SS:[EBP-28]
    004A9896  |.  8D45 D0       ||LEA EAX,DWORD PTR SS:[EBP-30]
    004A9899  |.  E8 9293F5FF   ||CALL Ectk.00402C30
    004A989E  |.  8D45 D4       ||LEA EAX,DWORD PTR SS:[EBP-2C]
    004A98A1  |.  8BD6          ||MOV EDX,ESI                            ;  只有完成一个大的循环才会加ESI加1
    004A98A3  |.  03D2          ||ADD EDX,EDX
    004A98A5  |.  8B4D F0       ||MOV ECX,DWORD PTR SS:[EBP-10]          ;  SS:[EBP-10]存放的是固定字符转化的16进制数12位固定数
    004A98A8  |.  8A5411 FF     ||MOV DL,BYTE PTR DS:[ECX+EDX-1]         ;  循环取字任符的奇数位给DL,字符取出是esi控制的
    004A98AC  |.  8850 01       ||MOV BYTE PTR DS:[EAX+1],DL
    004A98AF  |.  C600 01       ||MOV BYTE PTR DS:[EAX],1
    004A98B2  |.  8D55 D4       ||LEA EDX,DWORD PTR SS:[EBP-2C]
    004A98B5  |.  8D45 D0       ||LEA EAX,DWORD PTR SS:[EBP-30]
    004A98B8  |.  B1 03         ||MOV CL,3
    004A98BA  |.  E8 4193F5FF   ||CALL Ectk.00402C00
    004A98BF  |.  8D55 D0       ||LEA EDX,DWORD PTR SS:[EBP-30]
    004A98C2  |.  8D45 CC       ||LEA EAX,DWORD PTR SS:[EBP-34]
    004A98C5  |.  E8 22AAF5FF   ||CALL Ectk.004042EC
    004A98CA  |.  8B45 CC       ||MOV EAX,DWORD PTR SS:[EBP-34]
    004A98CD  |.  E8 4EEFF5FF   ||CALL Ectk.00408820
    004A98D2  |.  3245 E7       ||XOR AL,BYTE PTR SS:[EBP-19]            ;  把40位数足的2位数和12位固定数的2位进行逻辑或运算
    004A98D5  |.  8845 E6       ||MOV BYTE PTR SS:[EBP-1A],AL            ;  把结果存到SS:[EBP-1A]中
    004A98D8  |.  8D45 C4       ||LEA EAX,DWORD PTR SS:[EBP-3C]
    004A98DB  |.  8A55 E6       ||MOV DL,BYTE PTR SS:[EBP-1A]
    004A98DE  |.  E8 8DA9F5FF   ||CALL Ectk.00404270
    004A98E3  |.  8B45 C4       ||MOV EAX,DWORD PTR SS:[EBP-3C]
    004A98E6  |.  8D55 C8       ||LEA EDX,DWORD PTR SS:[EBP-38]
    004A98E9  |.  E8 C2FDFFFF   ||CALL Ectk.004A96B0
    004A98EE  |.  8B55 C8       ||MOV EDX,DWORD PTR SS:[EBP-38]
    004A98F1  |.  8D45 E8       ||LEA EAX,DWORD PTR SS:[EBP-18]
    004A98F4  |.  E8 57AAF5FF   ||CALL Ectk.00404350
    004A98F9  |.  43            ||INC EBX
    004A98FA  |.  4F            ||DEC EDI
    004A98FB  |.^ 0F85 F4FEFFFF |\JNZ Ectk.004A97F5
    004A9901  |>  46            |INC ESI
    004A9902  |.  FF4D E0       |DEC DWORD PTR SS:[EBP-20]
    004A9905  |.^ 0F85 B4FEFFFF \JNZ Ectk.004A97BF
    004A990B  |>  8B45 F8       MOV EAX,DWORD PTR SS:[EBP-8]
    004A990E  |.  8B55 E8       MOV EDX,DWORD PTR SS:[EBP-18]
    004A9911  |.  E8 C6A7F5FF   CALL Ectk.004040DC
    004A9916  |.  33C0          XOR EAX,EAX
    004A9918  |.  5A            POP EDX
    004A9919  |.  59            POP ECX
    004A991A  |.  59            POP ECX
    004A991B  |.  64:8910       MOV DWORD PTR FS:[EAX],EDX
    004A991E  |.  68 55994A00   PUSH Ectk.004A9955
    004A9923  |>  8D45 C4       LEA EAX,DWORD PTR SS:[EBP-3C]
    004A9926  |.  BA 03000000   MOV EDX,3
    004A992B  |.  E8 7CA7F5FF   CALL Ectk.004040AC
    004A9930  |.  8D45 DC       LEA EAX,DWORD PTR SS:[EBP-24]
    004A9933  |.  E8 50A7F5FF   CALL Ectk.00404088
    004A9938  |.  8D45 E8       LEA EAX,DWORD PTR SS:[EBP-18]
    004A993B  |.  BA 04000000   MOV EDX,4
    004A9940  |.  E8 67A7F5FF   CALL Ectk.004040AC
    004A9945  |.  8D45 FC       LEA EAX,DWORD PTR SS:[EBP-4]
    004A9948  |.  E8 3BA7F5FF   CALL Ectk.00404088
    004A994D  \.  C3            RETN
    004A994E   .^ E9 39A1F5FF   JMP Ectk.00403A8C
    004A9953   .^ EB CE         JMP SHORT Ectk.004A9923
    004A9955   .  5F            POP EDI
    004A9956   .  5E            POP ESI
    004A9957   .  5B            POP EBX
    004A9958   .  8BE5          MOV ESP,EBP
    004A995A   .  5D            POP EBP
    004A995B   .  C3            RETN
    \\*********************************************************************************\\
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2015-8-3 23:07
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    发表于 2011-2-28 13:35:51 | 显示全部楼层
    完了??后面没有了?
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

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