buuctf re findKey

参考:http://t.csdnimg.cn/hUKRJ

参考:http://t.csdnimg.cn/kIk4i

32位,ida打开

f5,先不管呢

winmain函数

看看字符串

进到flag那里,没法反编译

寻找

看汇编,发现两个一样的push(不理解怎么找到的,毕竟好多好多代码)

应该是花指令

Nop掉第二个,然后p,f5,

直接右键Nop不知道和下图有啥区别,应该问题不大吧

分析发现,一共两个主要函数

先进入1005函数

写个脚本

cpp 复制代码
#include<stdio.h>
int main()
{
	int i,j,v5=2,a3=32,result;
	char a1[]="SS";
	char a2[]="0kk`d1a`55k222k2a776jbfgd`06cjjb";
 
 	for(i = 0; ; ++i )
 	{
  	result = i;
   	 	if ( i >= a3 )
     	break;
    *(i + a2) ^= a1[i %2];
  }
 
	puts(a2);
	return 0;
}

运行得到

提交发现错误,再分析另一个函数

哈希标识符:ALG_ID (Wincrypt.h) - Win32 apps | Microsoft Learn

函数介绍:(全都是英文,看不懂QAQ)

CryptCreateHash function (wincrypt.h) - Win32 apps | Microsoft Learn

具体参考:http://t.csdnimg.cn/rd5mJ

CryptCreateHash 函数的参数包括:

hProv:加密服务提供者的句柄。

Algid:指定要使用的哈希算法的 ALG_ID 值。

hKey:如果哈希算法是带密钥的,则传入密钥的句柄;否则为0。

dwFlags:标志位,通常为0。

phHash:指向新创建的哈希对象句柄的指针。

CryptHashData 函数的参数包括:

hHash:哈希对象的句柄。

pbData:指向要进行哈希处理的数据的指针。

dwDataLen:要进行哈希处理的数据的长度。

dwFlags:标志位,通常为0。

CryptGetHashParam 函数的参数包括:

hHash:哈希对象的句柄。

dwParam:指定要获取的哈希参数。

pbData:指向存储参数数据的缓冲区的指针。

pdwDataLen:指向存储参数数据长度的变量的指针。

dwFlags:标志位,通常为0。

MD5解密网站:MD5在线加密/解密/破解---MD5在线 (sojson.com)

然后就是两种不同方法:

方法一动态调试--有待学习

把string1改成123321

运行所给程序

方法二:继续分析函数

下面还有一个函数,和上面那个异或的是一个函数

第一个-492没有找到对应的字符串,所以推测是刚刚得到的123321,要不然前面也没啥用了

后面那个字符串,数据没办法一次全部导出来,也可能我打开方式不对,就一个个敲得,刚刚把5B写成58了,导致i变成j了,服了QAQ

运行即可

cpp 复制代码
#include<stdio.h>
int main()
{
	int i,j,v5=6,a3=19;
	char a1[]="123321";
	char a2[]={0x57,0x5E,0x52,0x54,0x49,0x5F,0x1,0x6D,0x69,0x46,0x2,0x6E,0x5F,0x2,
	0x6C,0x57,0x5B,0x54,0x4C};
 
 	for(i = 0; ;i++)
 	{
   	 	if(i>=a3)
     	break;
    *(i+a2)^= a1[i%6];
  }
	puts(a2);
	return 0;
}

flag{n0_Zu0_n0_die}

相关推荐
@PHARAOH20 分钟前
WHAT - cursor cli 开发范式
前端·ai·ai编程
子兮曰1 小时前
深入 HTML-in-Canvas:当 Canvas 学会了渲染 DOM,前端图形生态要变天了
前端·javascript·canvas
ws_qy1 小时前
从大模型原理到前端 AI Coding 工程化实践
前端·ai编程
倾颜2 小时前
React 19 源码主线拆解 04:Fiber 到底是什么,React 为什么需要 Fiber?
前端·react.js·源码阅读
AI攻城狮2 小时前
国产大模型能力大比拼,社区有话说
前端
IT_陈寒2 小时前
Vite的public文件夹放静态资源?这坑我替你踩了
前端·人工智能·后端
涵涵(互关)3 小时前
GoView各项目文件中的相关语法2
前端·javascript·vue.js
子兮曰3 小时前
别让爬虫白嫖你的导航站了:纯免费,手把手实现加密字体防爬
前端·javascript·后端
小村儿3 小时前
连载06 - Hooks 源码深度解析:Claude Code 的确定性自动化体系
前端·后端·ai编程
心中无石马3 小时前
uniapp引入tailwindcss4.x
前端·css·uni-app