新手逆向练习与详解(5)(详解带有源文件) 65-CrackMe

链接:百度云盘 密码:jl7w

最近一直在学习PE 本来还想写一个简单的加密壳 但是感觉自己水平还差点 所以 打算和我一个小伙伴一起合作  等到开学如果能够写出来 会把源码粘出来 分享给大家 

我这里和大家声明一下 我这个是文件 是来自吾爱破解的creakme 160   导航链接  帖子里面有更厉害的思路  

本帖是编号为65的creakme  

本来不是很想再做一些简单的creakme 但是感觉现在基础还是有点差  打算先做一些基础的 再去做一些难的 我们先来看一下这个程序 

这个看起来好像一般般 但是如果随便输入 然后点开 按钮 发现 没有什么反应 应该是输入正确的 才会出现窗口 然后我们拖入od 先来看看字符串 

 

然后这个就很清楚了 我们只需要点开看看往上找判断的部分就可以了 

我发现了这个 并注释了  

00401344  |.  E8 F3010000   call <jmp.&USER32.GetDlgItemTextA>       ; \GetDlgItemTextA
00401349  |.  09C0          or eax,eax   输入的内容
0040134B  |.  74 32         je short figugegl.0040137F
0040134D  |.  31FF          xor edi,edi
0040134F  |.  EB 15         jmp short figugegl.00401366
00401351  |>  0FBE443D D6   /movsx eax,byte ptr ss:[ebp+edi-0x2A] eax是注册码
00401356  |.  0FBE543D EB   |movsx edx,byte ptr ss:[ebp+edi-0x15] edx是name
0040135B  |.  29FA          |sub edx,edi        edi是索引值 初始值为0
0040135D  |.  39D0          |cmp eax,edx        然后比较两者的值
0040135F  |.  74 04         |je short figugegl.00401365 
00401361  |.  31C0          |xor eax,eax      eax=0
00401363  |.  EB 1A         |jmp short figugegl.0040137F 不成功直接失败
00401365  |>  47            |inc edi                      edi+1
00401366  |>  39F7           cmp edi,esi                  esi为name的长度
00401368  |.^ 7C E7         \jl short figugegl.00401351
0040136A  |.  6A 00         push 0x0                                 ; /Style = MB_OK|MB_APPLMODAL
0040136C  |.  68 48204000   push figugegl.00402048                   ; |Title = "Success"
00401371  |.  68 50204000   push figugegl.00402050                   ; |Text = "Congratulations - you did it!"
00401376  |.  53            push ebx                                 ; |hOwner = 00060824 ('-={ figugegl }=- Crackme #1',class='#32770')
00401377  |.  E8 E4010000   call <jmp.&USER32.MessageBoxA>           ; \MessageBoxA
0040137C  |.  31C0          xor eax,eax

那么我们就可以写出这个算法 还是用python写吧 

name=input()
strr=input()
for i,line in enumerate(name):
    if(ord(line)-i!=ord(strr[i])):
        break

else:
    print("注册成功!")

大概就是这个意思吧

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值