170527 逆向-CrackMe(4)

1625-5 王子昂 总结《2017年5月27日》 【连续第238天总结】

A. CrackMe(4)

B. 先拖到PEiD,无壳,是Delphi

打开,是一个没有按钮的序列号验证

拖入OD,因为没有按钮,也就无法查找MSGBOX的API

直接查找字符串,发现成功提示

跟过去,看一下上下文,下断点

找到了关键跳转和前一条判断“cmp dword ptr ds:[esi+0x30c], 0x85"

把关键跳转NOP掉即爆破成功

序列号算法则非常麻烦:

按照上一个的经验,向上翻到头,开始跟

在尝试中发现这一段代码是在点击图片框的时候开始运行的

逐行运行下去,发现这一段提取了Name,进行了一番运算,但是没有跟关键判断有关的部分

关键判断是该数据是否等于85,推测应该在前方某处进行判断,使得该数据等于85,但是没有找到

无奈,查writeup 

综合3个和自己尝试得到最终结果:

使用Dede Dark来对Delphi反编译更有效,OD对于其常常很无奈

这个程序有三个关键流程,在Dede中可以看到这3个事件:chkcode,click,dbclick

在chkcode的代码中可以看到Dede标注好的函数名,有许多strcat,记下内存地址,进入OD进行跟踪

首先,修改序列号文本时会触发chkcode,进行验证码判断,为"黑头Sun Bird"+(len(Name)+5)+"dseloffc-012-OK"+Name"

如果校验成功,则将[esi+0x30c]的值设置为3e

然后,双击图片框会触发dbclick,如果该值为3e,则修改为85

最后,单机图片框触发click,如果该值为85,则成功

中间夹杂着许多无关的获取Name,计算等等

总的来说,序列号的算法很简单,但是中间的流程比较复杂,OD往往跟不到完整过程,比如双击图片框这个事件在给单击下了断点的情况下是触发不出来的_(:з」∠)_

C. 明日计划

CrackMe(5)

在 [安全攻防进阶篇] 中,有关于逆向分析的教程可以帮助你了解如何使用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、付费专栏及课程。

余额充值