新人的一次破解steam上的Soundp*d demo使用次数限制的尝试
本帖最后由 i2umi 于 2024-7-19 19:32 编辑新人第一次发帖,如有不对的地方请大家指出。
使用软件时发现Soudp*d Demo能够使用正式版的主要功能,但是具有次数限制,只能使用10次,达到上限后需要重启程序。
猜测程序可能使用一个全局flag来控制软件限制,通过整数变量来计数。
然后丢进DIE进行分析,发现无壳。
启动软件,直接上CE,搜索四字节;
猜测可能是反向计数,使用使用未知初始值搜索,也找到了一个内存地址(发现从11计数到1,然后继续使用功能,功能无法使用但此值仍然在减少,这可能是个bug我猜):
尝试修改该值,再使用功能,发现值变了回去,看看是什么访问了这个内存:
接着选择第二个mov指令,点击显示反汇编,再使用x64dbg定位到对应汇编指令地址:
关键可能是在这个r8d寄存器那里,
查看rbx+54 和 r8d,发现这两个值貌似不会相等,这个跳转没有用,直接nop掉。
仔细分析汇编代码注意到了dword ptr ds:,这里的值在前面会赋给r8d,然后r8d再赋值给rbx+54,接着的值赋值给了ecx,后面紧跟一个以ecx自减和条件跳转,这个也许就是破局的关键:
试试强制跳转,即把这个强制跳转变为:
测试发现使用其功能的限制解除了,即破解成功。
然后使用使用x64dbg修改程序,保存,至此,破解结束。
文件就不贴了,steam上可以直接下载。
x64dbg比ida保存文件方便,不用来回切换了。 牛啊牛啊{:1_899:} 思路不错,感谢分享! 牛想学习一下 非常好,续上了 支持一下,{:1_893:} 这个得支持一下{:1_927:} 感谢分享,学习一下 有没有破解辅助加壳的大神在线呀,求支援 感谢分享!