Crackme 23[通俗易懂]

Crackme 23[通俗易懂]Crackme23这题很好,一环扣一环。题目出的比较细致,有很多细节问题需要注意。也有此题看出,Crackme不能急,要一步一步的来

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

这题很好,一环扣一环。
首先PEID查看
这里写图片描述
第一次见MASM32 汇编直接编写。前几道题有高级语言编写,有现成的反编译工具。但这道题没有,只能手工OD调试
用OD加载搜索字符串
这里写图片描述
发现激活成功教程成功的条件是ax == 0x10,
这里写图片描述
于是找给ax 赋值的代码,ax的值与[403166]有关
这里写图片描述
于是利用内存断点,找到所有写入[403166]有关的代码
这里写图片描述
设置内存断点,发现了猫腻
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
分析得[403188] + 0x9112478 必须为0
将内存断点设在[403188],找到了下面的算法

00401361   .  8D3D 8C314000 LEA EDI,DWORD PTR DS:[40318C]                   ; name
00401367   .  0FBE05 683140>MOVSX EAX,BYTE PTR DS:[403168]                  ; ax = i
0040136E   .  03F8          ADD EDI,EAX
00401370   .  FE05 68314000 INC BYTE PTR DS:[403168]                        ; i ++
00401376   .  A1 88314000   MOV EAX,DWORD PTR DS:[403188]                   ; 密码的16进制
0040137B   .  8B25 A0314000 MOV ESP,DWORD PTR DS:[4031A0]
00401381   .  40            INC EAX                                         ; 密码 ++
00401382   .  FF05 88314000 INC DWORD PTR DS:[403188]
00401388   .  3307          XOR EAX,DWORD PTR DS:[EDI]                      ; 密码 ^ name[i] 这里有个坑4字节异或
0040138A   .  A3 88314000   MOV DWORD PTR DS:[403188],EAX                   ; 密码 = 上式
0040138F   .  803D 68314000>CMP BYTE PTR DS:[403168],10                     ; if i != 10 loop

Jetbrains全家桶1年46,售后保障稳定

算法有了注意这里有个坑,00401388 . 3307 XOR EAX,DWORD PTR DS:[EDI]这里是与四字节异或,小端序要转成大端序
最后写出exploit

name = raw_input("name:")
s = 'A'+name+'\x00'*(0x14-len(name)) #A 用来填充
s = bytes(s).decode('ascii')
print s
sub = 0xffffffff - 0x9112478 + 1
for i in range (0x10,0,-1):
    string = '0x'+'0'*(2-len(hex(ord(s[i+3]))[2:]))+hex(ord(s[i+3]))[2:]+ '0'*(2-len(hex(ord(s[i+2]))[2:]))+hex(ord(s[i+2]))[2:] + '0'*(2-len(hex(ord(s[i+1]))[2:]))+hex(ord(s[i+1]))[2:]+ '0'*(2-len(hex(ord(s[i]))[2:]))+hex(ord(s[i]))[2:]
    sub ^= int(string,16)
    sub -= 1
print sub
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/215454.html原文链接:https://javaforall.net

(0)
上一篇 2025年7月15日 下午3:43
下一篇 2025年7月15日 下午4:15


相关推荐

  • 温故知新-SpringCloud架构图(总结)[通俗易懂]

    温故知新-SpringCloud架构图(总结)[通俗易懂]最近学习了SpringCloud相关的知识点,使用下图来做一个知识总结,如果有相关的疑问,欢迎各位同学指出????:

    2022年5月20日
    36
  • FAF挖矿程序搭建教程(中文版)

    FAF挖矿程序搭建教程(中文版)FAF FairlyAdvanc 是全球首发的第一条 CDN 公链 致力于打造真正去中心化的互联网网络生态 其作为公共型公链 由所有区块链爱好者共同打造的内容分发技术 更是全球范围内首个 CDN 区块链技术 不仅具有实际落地分布式网络应用 实体服务器搭建节点 合理利用闲置网络 还兼具缓存创造收益 加强分布式防御和传输功能等多种优势 换言之 FAF 正占据着 CDN 技术的最高点 更值得一提的是 FAF 所具有的缓存访问权限 防止盗版 自动过滤屏蔽违规信息等功能 将贯穿使用互联网的各个角落 同时其布局

    2026年3月17日
    3
  • pip怎么卸载安装包_python pip升级

    pip怎么卸载安装包_python pip升级pip卸载安装的所有python包

    2022年10月19日
    4
  • java类型强制转换异常例子_java.lang.unsatisfiedlinkerror

    java类型强制转换异常例子_java.lang.unsatisfiedlinkerrorClassCastException,从字面上看,是类型转换错误,通常是进行强制类型转换时候出的错误。下面对产生ClassCastException异常的原因进行分析,然后给出这种异常的解决方法。这种异常是如何产生的呢?举一个比较形象的例子。Animal表示动物,Dog表示狗,是动物的子类,Cat表示猫,是动物的子类。看下面的代码:Animala1=newDog();//1A…

    2025年10月1日
    7
  • Idea激活码最新教程2018.2.8版本,永久有效激活码,亲测可用,记得收藏

    Idea激活码最新教程2018.2.8版本,永久有效激活码,亲测可用,记得收藏Idea 激活码教程永久有效 2018 2 8 激活码教程 Windows 版永久激活 持续更新 Idea 激活码 2018 2 8 成功激活

    2025年5月24日
    9
  • SAP WebIDE里OData service catalog的实现原理「建议收藏」

    SAP WebIDE里OData service catalog的实现原理「建议收藏」我们在SAPWebIDE里创建UI5应用时,可以从Servicecatalog里选择需要的OData服务,如下图所示:这个ag3-backend是什么意思?是我在SAPCloudPlatform的Destination标签页里维护的一个Destination:这个destination指向了一个OnpremiseABAPNetweaver系统,AG3,通过SAPCloud…

    2022年10月18日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号