[2019红帽杯]Snake

29 篇文章 1 订阅

[2019红帽杯]Snake-CSDN博客

unity的题

下载下来看看是什么类型就是

这道题就是贪吃蛇

unity无脑找Assembly

用dnspy打开

一般就在这里慢慢找

但是你可以发现没有任何的信息

这里外接库

只能从这里下手试试

64位链接库的意思

 

游戏题,win!很关键

进入了Gameobject

看a1,小于100

只传入了一个参数,结合游戏,应该是分数?

下面400多行,不看了(WP大法)

确实只传入了一个参数,一个参数就能获得所有

这里注意了

64位只能用64位编译器(为了这个我还专门去下了)

python脚本

import ctypes

for i in range(0, 100) :
    dll = ctypes.cdll.LoadLibrary(r"D:\CTF\questions\buuctf\[2019红帽杯]Snake\Snake\Snake_Data\Plugins\Interface.dll")
    dll.GameObject(i)

 C++

#include<iostream>
#include<Windows.h>
#include"D:\CTF\Re\IDA_Pro_7.7\IDA_Pro_7.7\plugins\hexrays_sdk\include\defs.h"//ida自带的头文件
//函数指针
typedef signed __int64(*Dllfunc)(int);
using namespace std;
int main()
{
	Dllfunc GameObject;//GameObject是dll中想要调用的函数名称
	HINSTANCE hdll = NULL;
	hdll = LoadLibrary(TEXT("D:\CTF\questions\buuctf\[2019红帽杯]Snake\Snake\Snake_Data\Plugins\Interface.dll"));//用LoadLibrary加载dll
	if (hdll == NULL)
	{
		cout << "加载失败\n";
	}
	else
	{
		GameObject = (Dllfunc)GetProcAddress(hdll, "GameObject");//到dll中定位函数
		if (GameObject == NULL)
		{
			cout << "加载函数失败\n";
		}
		else
		{
			for (int i = 0; i <= 99; i++)
			{
				signed __int64 res = GameObject(i);
			}
		}
	}
	FreeLibrary(hdll);//释放dll
	return 0;
}

但是我C++跑不动,G

python跑的

  • 9
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_Nickname

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值