2021 腾讯游戏安全技术初赛 pc 客户端安全 wp
本帖最后由 shyoshyo 于 2021-4-18 12:33 编辑点开是个 OpenGL 程序,鼠标控制像机参数,可以旋转,相机坐标固定
动态调试,在配置 MVP 矩阵的 glUniformMatrix* 函数上下断,发现有若干次调用,其中一个疑似是在设置 view 矩阵的
前方有配置 view 矩阵的地方
一开始几句应该是在计算相机到目标点的向量,并单位化,然后通过叉积求上向量和右向量,类似于 lookUp(vec3f camera, vec3f object, vec3f up) 函数
目标点位置存储在
.data:00464CC4 x0 dd 0 ; DATA XREF: sub_4064D0:loc_406D4F↑r
.data:00464CC4 ; set_view_matrix+13↑r ...
.data:00464CC8 y0 dd 0 ; DATA XREF: sub_4064D0+88D↑r
.data:00464CC8 ; set_view_matrix+20↑r ...
.data:00464CCC z0 dd 40400000h ; DATA XREF: sub_4064D0+895↑r
.data:00464CCC ; set_view_matrix+2D↑r ...
初始值是 0.f, 0.f, 3.f
通过修改该坐标可以变化视角
看到了 flag 字样
最终可以得到 flag:dogod
勘误:
lookUp(vec3f camera, vec3f object, vec3f up) -> lookAt(vec3f camera, vec3f object, vec3f up) womaromar 发表于 2021-4-27 19:52
没有看懂,不过感觉好厉害
熟悉opengl的API就行,一位游戏图形程序员路过 牛X,看不懂 完全看不懂.....连这些知识是什么领域的都没懂,真的完全两个世界 这真的是蒙蔽进来懵逼出去 虽然看不懂,但是感觉很厉害 逻辑太强了,膜拜 大佬永远滴神! 大佬这些技术都是怎么学的,入门要学什么呢 厉害,厉害...完全没想到还能这么玩...
页:
[1]
2