160个练手CrackMe-029

1、无壳,VC

2、搜索字符串

004014F5  |.  E8 AA030000   call <jmp.&MFC42.#3876>                  ;  len(Name)
004014FA  |.  8945 EC       mov [local.5],eax
004014FD  |.  837D EC 05    cmp [local.5],0x5
00401501  |.  7F 05         jg Xcosh_3.00401508
00401503  |.  E9 BB000000   jmp cosh_3.004015C3
00401508  |>  8B4D E0       mov ecx,[local.8]
0040150B  |.  83C1 60       add ecx,0x60
0040150E  |.  E8 91030000   call <jmp.&MFC42.#3876>                  ;  len(Serial)
00401513  |.  8945 E8       mov [local.6],eax
00401516  |.  837D E8 05    cmp [local.6],0x5
0040151A  |.  7F 05         jg Xcosh_3.00401521
0040151C  |.  E9 A2000000   jmp cosh_3.004015C3
00401521  |>  8B45 E0       mov eax,[local.8]
00401524  |.  05 E0000000   add eax,0xE0
00401529  |.  50            push eax
0040152A  |.  8B4D E0       mov ecx,[local.8]
0040152D  |.  81C1 A0000000 add ecx,0xA0
00401533  |.  E8 66030000   call <jmp.&MFC42.#3874>                  ;  Name
00401538  |.  8B4D E0       mov ecx,[local.8]
0040153B  |.  81C1 E4000000 add ecx,0xE4
00401541  |.  51            push ecx
00401542  |.  8B4D E0       mov ecx,[local.8]
00401545  |.  83C1 60       add ecx,0x60
00401548  |.  E8 51030000   call <jmp.&MFC42.#3874>                  ;  Serial
0040154D  |.  8B55 E0       mov edx,[local.8]
00401550  |.  81C2 E0000000 add edx,0xE0
00401556  |.  52            push edx
00401557  |.  8D4D E4       lea ecx,[local.7]
0040155A  |.  E8 39030000   call <jmp.&MFC42.#858>
0040155F  |.  8B45 E0       mov eax,[local.8]
00401562  |.  05 E4000000   add eax,0xE4
00401567  |.  50            push eax
00401568  |.  8D4D F0       lea ecx,[local.4]
0040156B  |.  E8 28030000   call <jmp.&MFC42.#858>
00401570  |.  33C0          xor eax,eax
00401572  |.  33DB          xor ebx,ebx
00401574  |.  33C9          xor ecx,ecx
00401576  |.  B9 01000000   mov ecx,0x1
0040157B  |.  33D2          xor edx,edx
0040157D  |.  8B45 E4       mov eax,[local.7]                        ;  处理Name
00401580  |>  8A18          /mov bl,byte ptr ds:[eax]
00401582  |.  32D9          |xor bl,cl
00401584  |.  8818          |mov byte ptr ds:[eax],bl
00401586  |.  41            |inc ecx
00401587  |.  40            |inc eax
00401588  |.  8038 00       |cmp byte ptr ds:[eax],0x0
0040158B  |.^ 75 F3         \jnz Xcosh_3.00401580
0040158D  |.  33C0          xor eax,eax
0040158F  |.  33DB          xor ebx,ebx
00401591  |.  33C9          xor ecx,ecx
00401593  |.  B9 0A000000   mov ecx,0xA
00401598  |.  33D2          xor edx,edx
0040159A  |.  8B45 F0       mov eax,[local.4]                        ;  处理Serial
0040159D  |>  8A18          /mov bl,byte ptr ds:[eax]
0040159F  |.  32D9          |xor bl,cl
004015A1  |.  8818          |mov byte ptr ds:[eax],bl
004015A3  |.  41            |inc ecx
004015A4  |.  40            |inc eax
004015A5  |.  8038 00       |cmp byte ptr ds:[eax],0x0
004015A8  |.^ 75 F3         \jnz Xcosh_3.0040159D
004015AA  |.  8B45 E4       mov eax,[local.7]
004015AD  |.  8B55 F0       mov edx,[local.4]
004015B0  |>  33C9          /xor ecx,ecx                             ;  对比
004015B2  |.  8A18          |mov bl,byte ptr ds:[eax]
004015B4  |.  8A0A          |mov cl,byte ptr ds:[edx]
004015B6  |.  3AD9          |cmp bl,cl
004015B8  |.  75 09         |jnz Xcosh_3.004015C3
004015BA  |.  40            |inc eax
004015BB  |.  42            |inc edx
004015BC  |.  8038 00       |cmp byte ptr ds:[eax],0x0
004015BF  |.^ 75 EF         \jnz Xcosh_3.004015B0
004015C1  |.  EB 16         jmp Xcosh_3.004015D9
004015C3  |>  6A 00         push 0x0
004015C5  |.  68 6C304000   push cosh_3.0040306C                     ;  ERROR
004015CA  |.  68 40304000   push cosh_3.00403040                     ;  One of the Details you entered was wrong
004015CF  |.  8B4D E0       mov ecx,[local.8]
004015D2  |.  E8 BB020000   call <jmp.&MFC42.#4224>
004015D7  |.  EB 14         jmp Xcosh_3.004015ED
004015D9  |>  6A 00         push 0x0
004015DB  |.  68 34304000   push cosh_3.00403034                     ;  YOU DID IT
004015E0  |.  68 20304000   push cosh_3.00403020                     ;  Well done,Cracker
004015E5  |.  8B4D E0       mov ecx,[local.8]
004015E8  |.  E8 A5020000   call <jmp.&MFC42.#4224>

3、注册机

name = input("Name:")
print(''.join([chr((ord(s[i-1]) ^ i) ^ (0x0A + i)) for i in range(1, len(name))]))
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 [安全攻防进阶篇] 中,有关于逆向分析的教程可以帮助你了解如何使用OllyDbg逆向CrackMe程序。 OllyDbg是一种常用的逆向工具,可以用于分析和修改程序的执行流程和内存。使用内存断点和普通断点,可以在程序执行过程中捕获关键的代码位置,帮助我们找到CrackMe程序的OEP(Original Entry Point),即程序的入口点。 在 [安全攻防进阶篇] 中还有关于逆向分析两个CrackMe程序的详细教程,包括逆向分析和源码还原的步骤。这些教程将帮助你理解逆向分析的基本概念和技巧,提升你的安全能力。 如果你想深入学习如何使用OllyDbg逆向CrackMe程序,可以参考这些教程。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [[安全攻防进阶篇] 六.逆向分析之OllyDbg逆向CrackMe01-02及加壳判断](https://blog.csdn.net/Eastmount/article/details/107777190)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [逆向crackme之ESp定律脱壳](https://blog.csdn.net/qq_58970968/article/details/125357834)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值