您的位置:首页精文荟萃破解文章 → 自由英语 XP v1.00算法分析

自由英语 XP v1.00算法分析

时间:2004/10/15 0:55:00来源:本站整理作者:蓝点我要评论(0)



trw2000 bpx hmemcpy   g
       f12 7次
f10达到 call 005267FC (f8进入)
       

0177:005267FC  PUSH     EBP
0177:005267FD  MOV      EBP,ESP
0177:005267FF  PUSH     ECX
0177:00526800  MOV      ECX,06
0177:00526805  PUSH     BYTE +00
0177:00526807  PUSH     BYTE +00
0177:00526809  DEC      ECX
0177:0052680A  JNZ      00526805
0177:0052680C  PUSH     ECX
0177:0052680D  XCHG     ECX,[EBP-04]
0177:00526810  PUSH     EBX
0177:00526811  PUSH     ESI
0177:00526812  PUSH     EDI
0177:00526813  MOV      [EBP-0C],ECX
0177:00526816  MOV      [EBP-08],EDX
0177:00526819  MOV      [EBP-04],EAX
0177:0052681C  MOV      EAX,[EBP-04]
0177:0052681F  CALL     00405034
0177:00526824  MOV      EAX,[EBP-08]
0177:00526827  CALL     00405034
0177:0052682C  MOV      EAX,[EBP-0C]
0177:0052682F  CALL     00405034
0177:00526834  MOV      EAX,[EBP+0C]
0177:00526837  CALL     00405034
0177:0052683C  MOV      EAX,[EBP+08]
0177:0052683F  CALL     00405034
0177:00526844  XOR      EAX,EAX
0177:00526846  PUSH     EBP
0177:00526847  PUSH     DWORD 00526B00
0177:0052684C  PUSH     DWORD [FS:EAX]
0177:0052684F  MOV      [FS:EAX],ESP
0177:00526852  XOR      EAX,EAX
0177:00526854  MOV      [EBP-10],EAX
0177:00526857  XOR      EBX,EBX
0177:00526859  MOV      ESI,01
0177:0052685E  MOV      EAX,[EBP-04]
0177:00526861  ADD      BL,[EAX+ESI-01]  第一框的每一位相加得到a1
0177:00526865  INC      ESI
0177:00526866  CMP      ESI,BYTE +06
0177:00526869  JNZ      0052685E
0177:0052686B  MOV      ESI,01
0177:00526870  MOV      EAX,[EBP-08]
0177:00526873  ADD      BL,[EAX+ESI-01]  a1舆第二框的每一位相加得到a2
0177:00526877  INC      ESI
0177:00526878  CMP      ESI,BYTE +06
0177:0052687B  JNZ      00526870
0177:0052687D  MOV      ESI,01
0177:00526882  MOV      EAX,[EBP-0C]
0177:00526885  ADD      BL,[EAX+ESI-01]   a2舆第三框的每一位相加得到a3
0177:00526889  INC      ESI
0177:0052688A  CMP      ESI,BYTE +06
0177:0052688D  JNZ      00526882
0177:0052688F  MOV      ESI,01
0177:00526894  MOV      EAX,[EBP+0C]
0177:00526897  ADD      BL,[EAX+ESI-01]  a3舆第四框的每一位相加得到a4
0177:0052689B  INC      ESI
0177:0052689C  CMP      ESI,BYTE +06
0177:0052689F  JNZ      00526894
0177:005268A1  MOV      ESI,01
0177:005268A6  MOV      EAX,[EBP+08]
0177:005268A9  ADD      BL,[EAX+ESI-01]   a3舆第五框的每一位(只相加前四位)相加得到a5
0177:005268AD  INC      ESI
0177:005268AE  CMP      ESI,BYTE +05
0177:005268B1  JNZ      005268A6
0177:005268B3  MOV      EAX,EBX
0177:005268B5  CALL     00525914
0177:005268BA  MOV      EDX,[EBP+08]
0177:005268BD  CMP      AL,[EDX+04]     第五框的最后一位
0177:005268C0  JNZ      NEAR 00526ACB    (下x fl z,不能jump)  第五框的最后一位舆a5比较
0177:005268C6  MOV      DWORD [EBP-10],1E61
0177:005268CD  LEA      EAX,[EBP-18]
0177:005268D0  CALL     00404B78
0177:005268D5  MOV      ESI,01
0177:005268DA  MOV      EAX,[EBP-04]
0177:005268DD  MOV      BL,[EAX+ESI-01]  取第一框的每一位c1
0177:005268E1  MOV      EAX,[EBP-08]      
0177:005268E4  MOV      AL,[EAX+ESI-01]    取第二框的每一位c2
0177:005268E8  MOV      [EBP-11],AL        [EBP-11]=第二框的每一位c2
0177:005268EB  MOV      EDI,[00532914]     D EDI(可见软件的运算常数)
0177:005268F1  MOV      AL,[EDI]           [edi]的第一位给AL  C21
0177:005268F3  ADD      AL,BL               C21+C1=AL
0177:005268F5  XOR      AL,[EDI+01]         AL XOR [edi+01]的第二位=AL
0177:005268F8  MOV      DL,[EDI+02]         [edi+02]的第一位给DL
0177:005268FB  CALL     00477BA8            AL ROR DL (AL移位DL次)=AL  (注意是循环右移)
0177:00526900  MOV      DL,[EDI+03]         [edi+03]的第一位给DL
0177:00526903  ADD      DL,[EBP-11]         DL=DL+C2(取第二框的每一位c2)
0177:00526906  XOR      AL,DL               AL=AL XOR DL
0177:00526908  CALL     00525914             (AL MOD 24=AL ,IF ALA THEN

                                                            AL+30=AL       AL+57=AL
0177:0052690D  MOV      EDX,EAX
0177:0052690F  LEA      EAX,[EBP-1C]
0177:00526912  CALL     00404D58             把得到的AL转换成数字或字母
0177:00526917  MOV      EDX,[EBP-1C]
0177:0052691A  LEA      EAX,[EBP-18]
0177:0052691D  CALL     00404E54
0177:00526922  INC      ESI
0177:00526923  CMP      ESI,BYTE +06    (开始循环)
0177:00526926  JNZ      005268DA
0177:00526928  MOV      EAX,[EBP-18]
0177:0052692B  MOV      EDX,[EBP-0C]
0177:0052692E  CALL     00404F90       (比较得到的五位AL转换成数字或字母舆第三个框数字比较)
0177:00526933  JNZ      NEAR 00526ACB  (下x fl z,不能jump)
0177:00526939  LEA      EAX,[EBP-18]
0177:0052693C  CALL     00404B78
0177:00526941  MOV      ESI,01
0177:00526946  MOV      EAX,[EBP-04]
0177:00526949  MOV      BL,[EAX+ESI-01]
0177:0052694D  MOV      EAX,[EBP-08]
0177:00526950  MOV      AL,[EAX+ESI-01]
0177:00526954  MOV      [EBP-11],AL
0177:00526957  MOV      EDI,[00532824]
0177:0052695D  MOV      AL,[EBP-11]
0177:00526960  XOR      AL,BL
0177:00526962  SUB      AL,[EDI+02]
0177:00526965  ADD      AL,[EDI+01]
0177:00526968  MOV      DL,[EDI+03]
0177:0052696B  CALL     00477BA8      AL ROR DL (AL移位DL次)=AL
0177:00526970  XOR      AL,[EDI]
0177:00526972  XOR      AL,BL
0177:00526974  CALL     00525914      (AL MOD 24=AL ,IF ALA THEN

                                                            AL+30=AL       AL+57=AL
0177:00526979  MOV      EDX,EAX
0177:0052697B  LEA      EAX,[EBP-20]
0177:0052697E  CALL     00404D58         把得到的AL转换成数字或字母
0177:00526983  MOV      EDX,[EBP-20]
0177:00526986  LEA      EAX,[EBP-18]
0177:00526989  CALL     00404E54
0177:0052698E  INC      ESI
0177:0052698F  CMP      ESI,BYTE +06
0177:00526992  JNZ      00526946
0177:00526994  MOV      EAX,[EBP-18]
0177:00526997  MOV      EDX,[EBP+0C]
0177:0052699A  CALL     00404F90      (比较得到的五位AL转换成数字或字母舆第四个框数字比较)
0177:0052699F  JNZ      NEAR 00526ACB   (下x fl z,不能jump)
0177:005269A5  LEA      EAX,[EBP-18]
0177:005269A8  CALL     00404B78
0177:005269AD  MOV      ESI,01
0177:005269B2  MOV      EAX,[EBP-04]
0177:005269B5  MOV      BL,[EAX+ESI-01]
0177:005269B9  MOV      EAX,[EBP-08]
0177:005269BC  MOV      AL,[EAX+ESI-01]
0177:005269C0  MOV      [EBP-11],AL
0177:005269C3  MOV      EDI,[00532950]
0177:005269C9  MOV      AL,[EBP-11]
0177:005269CC  ADD      AL,BL
0177:005269CE  ADD      AL,[EDI+03]
0177:005269D1  SUB      AL,[EDI+02]
0177:005269D4  ADD      AL,[EDI]
0177:005269D6  MOV      DL,[EBP-11]
0177:005269D9  CALL     00477BB0     (AL ROL B1(第二框的每一位数字))(注意是循环左移)
0177:005269DE  MOV      DL,[EDI+01]
0177:005269E1  SUB      DL,BL
0177:005269E3  XOR      AL,DL
0177:005269E5  CALL     00525914    (AL MOD 24=AL ,IF ALA THEN

                                                            AL+30=AL       AL+57=AL
0177:005269EA  MOV      EDX,EAX
0177:005269EC  LEA      EAX,[EBP-24]
0177:005269EF  CALL     00404D58    把得到的AL转换成数字或字母
0177:005269F4  MOV      EDX,[EBP-24]
0177:005269F7  LEA      EAX,[EBP-18]
0177:005269FA  CALL     00404E54
0177:005269FF  INC      ESI
0177:00526A00  CMP      ESI,BYTE +05  (注意循环4次)
0177:00526A03  JNZ      005269B2
0177:00526A05  LEA      EAX,[EBP-2C]
0177:00526A08  MOV      EDX,[EBP+08]
0177:00526A0B  MOV      DL,[EDX+04]   第五框的最后一位=DL
0177:00526A0E  CALL     00404D58
0177:00526A13  MOV      ECX,[EBP-2C]
0177:00526A16  LEA      EAX,[EBP-28]
0177:00526A19  MOV      EDX,[EBP-18] (共4位数字或字母)a111
0177:00526A1C  CALL     00404E98
0177:00526A21  MOV      EAX,[EBP-28]
0177:00526A24  MOV      EDX,[EBP+08]
0177:00526A27  CALL     00404F90     (其实是a111舆第五框的前三位比较)
0177:00526A2C  JZ       NEAR 00526AC4    (下x fl z,不能jump)
0177:00526A32  LEA      EAX,[EBP-18]

暴力破戒,只需用trw调试是将上面要跳转的下x fl z不让跳转即可!!










相关阅读 Windows错误代码大全 Windows错误代码查询激活windows有什么用Mac QQ和Windows QQ聊天记录怎么合并 Mac QQ和Windows QQ聊天记录Windows 10自动更新怎么关闭 如何关闭Windows 10自动更新windows 10 rs4快速预览版17017下载错误问题Win10秋季创意者更新16291更新了什么 win10 16291更新内容windows10秋季创意者更新时间 windows10秋季创意者更新内容kb3150513补丁更新了什么 Windows 10补丁kb3150513是什么

文章评论
发表评论

热门文章 去除winrar注册框方法

最新文章 比特币病毒怎么破解 比去除winrar注册框方法 华为无线路由器HG522-C破解教程(附超级密码JEB格式文件京东电子书下载和阅读限制破解教UltraISO注册码全集(最新)通过Access破解MSSQL获得数据

人气排行 华为无线路由器HG522-C破解教程(附超级密码JEB格式文件京东电子书下载和阅读限制破解教UltraISO注册码全集(最新)qq相册密码破解方法去除winrar注册框方法(适应任何版本)怎么用手机破解收费游戏华为无线猫HG522破解如何给软件脱壳基础教程