shyoshyo 发表于 2021-4-18 12:10

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

shyoshyo 发表于 2021-4-19 12:27

勘误:

lookUp(vec3f camera, vec3f object, vec3f up) -> lookAt(vec3f camera, vec3f object, vec3f up)

zhhispig 发表于 2021-12-19 21:05

womaromar 发表于 2021-4-27 19:52
没有看懂,不过感觉好厉害

熟悉opengl的API就行,一位游戏图形程序员路过

blindcat 发表于 2021-4-19 09:56

牛X,看不懂

amo今天学习了吗 发表于 2021-4-19 11:11

完全看不懂.....连这些知识是什么领域的都没懂,真的完全两个世界

thi 发表于 2021-4-19 14:04

这真的是蒙蔽进来懵逼出去

beautifulbaby 发表于 2021-4-19 16:17

虽然看不懂,但是感觉很厉害

爱国者宇少 发表于 2021-4-19 17:39

逻辑太强了,膜拜

hlrlqy 发表于 2021-4-19 18:08

大佬永远滴神!

zyr2017 发表于 2021-4-20 10:28

大佬这些技术都是怎么学的,入门要学什么呢

rainforestyu 发表于 2021-4-20 16:10

厉害,厉害...完全没想到还能这么玩...
页: [1] 2
查看完整版本: 2021 腾讯游戏安全技术初赛 pc 客户端安全 wp