欢迎来到 嗅灵易学

零基础也能上手的脚本技术课,一对一答疑带你入门

由于昨晚朋友过生日,今天睡过头了!:) 才迟迟贴出《duelist crackme 3 破解》 (4千字)

由于昨晚朋友过生日,今天睡过头了!:) 才迟迟贴出《duelist crackme 3 破解》 (4千字)

duelist crackme 3 破解      (希望转载的时候保持完整)
作者    丁丁虾  ddxia/[CCG]
E_mail        ddxia@263.net (如果Crackme教学文章中有错,请来信:))
Web            http://go18.163.com/~ddxia
目标     duelist crackme 3
目标URL    http:\\go.163.com\~ddxia\crackme\DueList\Due-cm3.zip
工具          SoftIce4.01 for NT ExeScope    winapi.hlp 
    这个Crackme就做得比较COOL,不信,你运行起来看一看,有两行18个CheckBox,
你要Crack it ,必须要选中其中的几个CheckBox,你可以试一试说不定,好运气,一试就对了!
呵呵~~~ 。在主界面中还有一句话说你一定要使用资源编辑器。(这句话也是让我百思不得其解N
分钟,随着深入代码,然后就会慢慢的明白了,也非常有趣)
    bpx  messagebox
    F11 回到程序代码中
    在SoftIce中截下如下代码(来!我们"烟酒" "烟酒"  "烟酒")
:u 401117 L9a
001B:00401117  33F6                XOR      ESI,ESI
001B:00401119  33D2                XOR      EDX,EDX
001B:0040111B  89355E214000        MOV      [0040215E],ESI
001B:00401121  893562214000        MOV      [00402162],ESI
001B:00401127  0FBE8EFE204000      MOVSX    ECX,BYTE PTR [ESI+004020FE]
                  ^^^^^^^^^^^^^^^^---->4020FE中存放着CheckBox的ID号
001B:0040112E  83F94D              CMP      ECX,4D
                      ^^^^^^^^^^^^^^^^---->判断是否到最后一个CheckBox    
001B:00401131  742F                JZ        00401162
001B:00401133  890D5E214000        MOV      [0040215E],ECX
001B:00401139  51                  PUSH      ECX
001B:0040113A  FF7508              PUSH      DWORD PTR [EBP+08]
001B:0040113D  E8D0010000          CALL      USER32!IsDlgButtonChecked
                      ^^^^^^^^^^^^^^^^---->判断CheckBox是否被选中
                            ECX中存放CheckBox的ID号
001B:00401142  46                  INC      ESI
001B:00401143  83F800              CMP      EAX,00
001B:00401146  74DF                JZ        00401127
                      ^^^^^^^^^^^^^^^^---->如果没有被选中就跳到401127
                            检查下一个CheckBox
001B:00401148  A15E214000          MOV      EAX,[0040215E]
                      ^^^^^^^^^^^^^^^^---->把当前的ID号放入EAX                
001B:0040114D  0FBE8EFE204000      MOVSX    ECX,BYTE PTR [ESI+004020FE]
                      ^^^^^^^^^^^^^^^^---->把下一个的ID号放入EAX
001B:00401154  0FAFC1              IMUL      EAX,ECX
001B:00401157  0FAFC6              IMUL      EAX,ESI
001B:0040115A  010562214000        ADD      [00402162],EAX
                      ^^^^^^^^^^^^^^^^^^^^^^^^---->>在00402162进行累加    
001B:00401160  EBC5                JMP      00401127
001B:00401162  A162214000          MOV      EAX,[00402162]
001B:00401167  6BC04D              IMUL      EAX,EAX,4D
                      ^^^^^^^^^^^^^^^^^^^^^^^--->累加的值乘于4D放入EAX
001B:0040116A  3D6654F300          CMP      EAX,00F35466
001B:0040116F  7520                JNZ      00401191
                  ^^^^^^^^^^^^^^^^^^^^^^^--->比较EAX的最后的值是否
                                  为00F35466    
001B:00401171  6800200000          PUSH      00002000
001B:00401176  6801204000          PUSH      00402001
001B:0040117B  6817204000          PUSH      00402017
001B:00401180  6A00                PUSH      00
001B:00401182  E855010000          CALL      USER32!MessageBoxA
001B:00401187  B801000000          MOV      EAX,00000001
001B:0040118C  E969FFFFFF          JMP      004010FA
001B:00401191  6800200000          PUSH      00002000
001B:00401196  6801204000          PUSH      00402001
001B:0040119B  6868204000          PUSH      00402068
001B:004011A0  6A00                PUSH      00
001B:004011A2  E835010000          CALL      USER32!MessageBoxA
001B:004011A7  B800000000          MOV      EAX,00000000
001B:004011AC  E949FFFFFF          JMP      004010FA
    相信各位已经把上面的算法弄清了吧!接下来我们来凑数00F35466!
    1、我们先把4020FE的数据给弄到手。
:d 4020fe 40210e
0023:004020FE 16 49 5E 15 27 26 21 25-1D 59 53 37 31 48 5D 0C  .I^.'&!%.YS71H].
0023:0040210E 61 52 4D 00 00 00 00 00-00 00 00 00 00 00 00 00  aRM.............
0023:0040211E 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00  ................
0023:0040212E 03 40 00 00 AB 10 40 00-00 00 00 00 00 00 00 00  .@....@.........
0023:0040213E 00 00 40 00 8E 1A 73 00-08 00 01 00 00 00 00 00  ..@...s.........
0023:0040214E 00 00 00 00 00 00 00 00-00 00 00 00 00 00 40 00  ..............@.
0023:0040215E 5E 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00  ^...............
0023:0040216E 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00  ................
    
    2、计算出正确的ID号。
          缺一段程序!!不知道那位大虾愿意赐教 :)        
    你得到了ID号后,并没有大功告成哦!!^_^这些ID号的排列,并不是按界面那样
进行排列的!这时就会明白为什么要用资源编辑器,查看那些CheckBox的ID号,再进行正确
的选择,这样就可以说收工了!(其实在readme.txt中有提示:))


                 13:46

注意:上传附件及图片大小不得大于30M。

⚠️ 版权声明:
本博客所有内容(含教程、源码、工具)仅供个人技术学习与研究交流使用,严禁商用、倒卖、二次分发及非法用途
未经作者书面授权,任何组织或个人不得转载、复制或用于其他平台,违者将追究相关责任。

0 0 0 举报
复制成功