某 VR 驱动分析过程
使用dnSpy反编译程序,发现程序经过混淆,连字符串也都经过加密,直接搜索关键词毫无收获
多次下断点尝试可以找到还原出字符串的函数,通过关键词发现验证过程调用了https,由此知道程序使用的是远程校验
当还原到https相关字符串时,多次跳出到上层函数,可以找到这里
发现验证结果是在#=zh_evm3DAVz_x
处通过https返回的,程序会调用#=zr6xZhswgs$DC
反序列化传入的json,随后将验证结果传入到#=zYjs5e20=
进行校验
验证过程如下,如果是有效的key,程序会执行6431行处的分支
这里直接编辑IL指令,跳转到注册成功的分支
修改跳转位置如下
改变后的分支
运行修改后的程序,注册成功