攻防世界--->crackme

做题笔记。

下载 查壳。

OK,压缩壳。

额,reverse肯定是需要掌握手动脱壳的,而不能一直依赖脱壳机。

手动脱壳。

可以用Ollydbg + LoadPE + ImportREC 实现 脱壳 dump 修补表 得到最终脱壳的.exe

不过,挺麻烦的(我反正 LoadPE + ImportREC 用的不是很熟。)

可以考虑用X32dbg去实现脱壳、dump、修补表(选择它,是因为它的插件很好用。)

题外话:32位和64位脱壳的方式并不一样。

(手动脱壳 详细教程:X32dbg)

F9 

进行dump操作。

修复表:

验证:

题外话:(部分)

推荐去看《加密与解密》挺厉害的。

脱壳之后做题:

32ida打开。

进入main函数。

脚本:

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

int main()
{
	char encode[] = { 0x12 ,0x4, 0x8, 0x14, 0x24, 0x5C, 0x4A, 0x3D, 0x56, 0x0A, 0x10, 0x67, 0x0,0x41, 0x0 ,
		0x1, 0x46, 0x5A, 0x44, 0x42, 0x6E, 0x0C, 0x44, 0x72, 0x0C, 0x0D, 0x40, 0x3E, 0x4B,
		0x5F, 0x2, 0x1, 0x4C, 0x5E, 0x5B, 0x17, 0x6E, 0x0C, 0x16, 0x68, 0x5B, 0x12,'\0'};
	unsigned char key[] =
	{
		116, 104, 105, 115, 95, 105, 115, 95, 110, 111,
		116, 95, 102, 108, 97, 103, 0
	};
	char flag[50] = " ";
	for (int i = 0; i <=42; i++)
	{
		flag[i] = key[i % 16] ^ encode[i];
		printf("%c", flag[i]);
	}

	printf("\n");
	system("pause");
	return 0;
}


flag{59b8ed8f-af22-11e7-bb4a-3cf862d1ee75}

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

余额充值