阳光网驿-企业信息化交流平台【DTC零售连锁全渠道解决方案】

 找回密码
 注册

QQ登录

只需一步,快速开始

扫描二维码登录本站

手机号码,快捷登录

老司机
查看: 3120|回复: 1

菜鸟教程之万能断点追玛

[复制链接]
  • TA的每日心情
    开心
    2021-8-30 00:00
  • 签到天数: 35 天

    [LV.5]常住居民I

    发表于 2007-1-25 22:32:07 | 显示全部楼层 |阅读模式
      【文章标题】: 菜鸟教程之万能断点追玛
    【文章作者】: 妈妈不让说
    【作者邮箱】: 妈妈不让说
    【作者主页】: 妈妈不让说
    【作者QQ号】: 妈妈不让说
    【软件名称】: crackme
    【下载地址】: 教程打包下载
    【加壳方式】: 无壳
    【保护方式】: 无保护
    【编写语言】: VB
    【使用工具】: OD任何版本
    【操作平台】: Windows Sp1
    【作者声明】: crackme区人气不高,特此来灌灌水.顺便提高骗技!另外失误之处敬请诸位大侠赐教!
    --------------------------------------------------------------------------------
    【详细过程】
      注:此教程只适合跟我一样的菜鸟朋友学习,高手请勿见笑.适合明码比较的追玛教程!
      
      crackme区人气不高,特此来灌灌水.
      
      依然还是菜鸟学习篇,高手依然飘过.
      
      例1(VB程序):
      打开crackme,采用的是用户名+注册码的方式.并查壳,Microsoft Visual Basic 5.0 / 6.0
      
      
      OD载入
      
      00401228 >  68 540F4100    PUSH crackme.00410F54        //停在这里
      0040122D   E8 EEFFFFFF    CALL <JMP.&MSVBVM60.#100>
      00401232   0000        ADD BYTE PTR DS:[EAX],AL
      00401234   0000        ADD BYTE PTR DS:[EAX],AL
      00401236   0000        ADD BYTE PTR DS:[EAX],AL
      00401238   3000        XOR BYTE PTR DS:[EAX],AL
      0040123A   0000        ADD BYTE PTR DS:[EAX],AL
      0040123C   3800        CMP BYTE PTR DS:[EAX],AL
      0040123E   0000        ADD BYTE PTR DS:[EAX],AL
      00401240   0000        ADD BYTE PTR DS:[EAX],AL
      00401242   0000        ADD BYTE PTR DS:[EAX],AL
      00401244  ^ E2 BD        LOOPD SHORT crackme.00401203
      00401246   E3 30        JECXZ SHORT crackme.00401278
      00401248   2A34D5 11A375BB SUB DH,BYTE PTR DS:[EDX*8+BB75A311]
      0040124F   0ADF        OR BL,BH
      00401251   97          XCHG EAX,EDI
      00401252   75 47        JNZ SHORT crackme.0040129B
      00401254   0000        ADD BYTE PTR DS:[EAX],AL
      
      
      F9运行,也许你问我是不是有病,其实是告诉大家另外一个方法追玛而已,转到正题```
      
      
      这个时候 点crackme上的注册 姓名输入 kanxue 注册玛输入 5201314 这个时候千万别点确定!
      
      在代码区点右键,查看----选模块USER32就到了USER32中如下代码段
      
      
      77D11000 >  44          INC ESP
      77D11001   0C F6        OR AL,0F6
      77D11003   77 6B        JA SHORT <&ntdll.RtlActivateActivationCo>
      77D11005   11F5        ADC EBP,ESI
      77D11007   77 08        JA SHORT USER32.77D11011
      77D11009   30FC        XOR AH,BH
      77D1100B  - 77 A1        JA SHORT USER32.77D10FAE
      77D1100D   16          PUSH SS
      77D1100E   F5          CMC
      77D1100F  - 77 FE        JA SHORT USER32.77D1100F
      77D11011   4F          DEC EDI
      77D11012   F677 16      DIV BYTE PTR DS:[EDI+16]
      77D11015   12F6        ADC DH,DH
      77D11017  - 77 CF        JA SHORT USER32.77D10FE8
      77D11019   0D F777CEFC    OR EAX,FCCE77F7
      77D1101E   F677 4C      DIV BYTE PTR DS:[EDI+4C]
      
      
      在代码区点右键,查找----二进制字串,输入:F3 A5 8B C8 83 E1 03 F3 A4 E8,点确定就来到了我门的万能断点的代码
      
      
      
      77D29303   F3:A5        REP MOVS DWORD PTR ES:[EDI],DWORD PTR DS>  //这个就是万能断点代码拉^-^
      77D29305   8BC8        MOV ECX,EAX
      77D29307   83E1 03      AND ECX,3
      77D2930A   F3:A4        REP MOVS BYTE PTR ES:[EDI],BYTE PTR DS:[>
      77D2930C   E8 04F9FFFF    CALL USER32.77D28C15
      77D29311   5F          POP EDI
      77D29312   5E          POP ESI
      
      
      
      
      在这里F2或双击下断点后,点确定!按F9观察寄存器中的值直到第一次看到我们输入的假码《我这里输入的是5201314》就停止按F9,寄存器如下:
      
      EAX 00000007
      ECX 00000001
      EDX 00140608
      EBX 00000007
      ESP 0012F074
      EBP 0012F084
      ESI 001512C0 ASCII "5201314"
      EDI 00D521D0
      EIP 77D29303 USER32.77D29303
      
      我门在出现假码的下一行,点右键,选数据窗口中跟随,来到数据窗口如下处
      
      
      00D521D0  00000000
      
      在此行点右键,选断点----内存访问;F9运行,中断
      
      7340BC99   84C0        TEST AL,AL        //断在这里
      7340BC9B   74 0E        JE SHORT MSVBVM60.7340BCAB
      7340BC9D   3C 1E        CMP AL,1E
      7340BC9F   74 04        JE SHORT MSVBVM60.7340BCA5
      7340BCA1   3C 1F        CMP AL,1F
      7340BCA3   75 03        JNZ SHORT MSVBVM60.7340BCA8
      7340BCA5   C601 26      MOV BYTE PTR DS:[ECX],26
      7340BCA8   41          INC ECX
      7340BCA9  ^ EB EC        JMP SHORT MSVBVM60.7340BC97
      7340BCAB   C3          RETN
      7340BCAC   53          PUSH EBX
      7340BCAD   56          PUSH ESI
      7340BCAE   57          PUSH EDI
      7340BCAF   8B7C24 10     MOV EDI,DWORD PTR SS:[ESP+10]
      7340BCB3   85FF        TEST EDI,EDI
      7340BCB5   74 7C        JE SHORT MSVBVM60.7340BD33
      7340BCB7   33C0        XOR EAX,EAX
      7340BCB9   33C9        XOR ECX,ECX
      7340BCBB   3807        CMP BYTE PTR DS:[EDI],AL
      7340BCBD   B3 26        MOV BL,26
      7340BCBF   74 13        JE SHORT MSVBVM60.7340BCD4
      7340BCC1   381C38       CMP BYTE PTR DS:[EAX+EDI],BL
      7340BCC4   75 07        JNZ SHORT MSVBVM60.7340BCCD
      
      
      
      
      
      
      ALT +F9按很多次就可以返回到程序领空到以下段,我这里是17次.你那里我就不知道了?-,-
      
      00413020   85C0        TEST EAX,EAX        //返回到这里
      00413022   DBE2        FCLEX
      00413024   7D 12        JGE SHORT crackme.00413038
      00413026   68 A0000000    PUSH 0A0
      0041302B   68 481A4100    PUSH crackme.00411A48
      00413030   57          PUSH EDI
      00413031   50          PUSH EAX
      00413032   FF15 24104000  CALL DWORD PTR DS:[<&MSVBVM60.__vbaHresu>; MSVBVM60.__vbaHresultCheckObj
      00413038   8B55 C8      MOV EDX,DWORD PTR SS:[EBP-38]
      0041303B   8D4D CC      LEA ECX,DWORD PTR SS:[EBP-34]
      0041303E   C745 C8 0000000>MOV DWORD PTR SS:[EBP-38],0
      00413045   FFD6        CALL ESI
      00413047   8D4D B8      LEA ECX,DWORD PTR SS:[EBP-48]
      0041304A   FF15 C0104000  CALL DWORD PTR DS:[<&MSVBVM60.__vbaFreeO>; MSVBVM60.__vbaFreeObj
      00413050   8B55 D0      MOV EDX,DWORD PTR SS:[EBP-30]
      00413053   8B45 CC      MOV EAX,DWORD PTR SS:[EBP-34]
      00413056   52          PUSH EDX
      00413057   50          PUSH EAX
      00413058   6A 00        PUSH 0
      0041305A   FF15 98104000  CALL DWORD PTR DS:[<&MSVBVM60.__vbaStrCo>; MSVBVM60.__vbaStrComp
      00413060   66:85C0      TEST AX,AX
      00413063   0F85 08010000  JNZ crackme.00413171
      00413069   A1 10404100    MOV EAX,DWORD PTR DS:[414010]
      0041306E   85C0        TEST EAX,EAX
      00413070   75 19        JNZ SHORT crackme.0041308B
      00413072   8B3D 7C104000  MOV EDI,DWORD PTR DS:[<&MSVBVM60.__vbaNe>; MSVBVM60.__vbaNew2
      
      
      
      F8一步一步的往下跟就可以看到注册码了
      
      EAX 001508D4 UNICODE "5201314"
      ECX 00D51214
      EDX 00151414 UNICODE "UEKAAN"
      EBX 733B3FA7 MSVBVM60.__vbaObjSet
      ESP 0012F3A0
      EBP 0012F488
      ESI 733B4422 MSVBVM60.__vbaStrMove
      EDI 00D51CE4
      EIP 00413056 crackme.00413056
      
      输入一下,成功了.是不是感觉有点成就感.-_-
    楼主热帖
    启用邀请码注册,提高发帖质量,建设交流社区

    该用户从未签到

    发表于 2007-4-9 22:24:54 | 显示全部楼层
    此教程好像在哪里见过的,事楼主的大作?佩服!
    启用邀请码注册,提高发帖质量,建设交流社区
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

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