本帖最后由 wangjunbin345 于 2024-01-29 21:55 编辑
使用软件时发现Soudpad Demo能够使用正式版的主要功能,但是具有次数限制,只能使用10次,达到上限后需要重启程序。 ![](/images/article/2b40cfef-10f7-4e83-a084-96b797769935.png)
猜测程序可能使用一个全局flag来控制软件限制,通过整数变量来计数。
然后丢进DIE进行分析,发现无壳。
DIE分析 ![](/images/article/965d2fb6-2252-48ee-a0bc-655dd773dd49.png)
启动软件,直接上CE,搜索四字节;
猜测可能是反向计数,使用使用未知初始值搜索,也找到了一个内存地址(发现从11计数到1,然后继续使用功能,功能无法使用但此值仍然在减少,这可能是个bug我猜): ![](/images/article/69826c3c-7cfe-4f64-803c-78aa60c9d08f.png)
尝试修改该值,再使用功能,发现值变了回去,看看是什么访问了这个内存: ![](/images/article/45279968-bb96-473d-a985-b0e074f20872.png)
接着使用x64dbg定位到对应汇编指令地址: ![](/images/article/ac09b3bb-2339-4dd7-aab3-d279b39c6619.png)
关键可能是在这个r8d寄存器那里, 查看rbx+54 和 r8d,发现这两个值貌似不会相等,这个跳转没有用,直接nop掉。
仔细分析汇编代码注意到了dword ptr ds:[rcx+rax*4],这个也许是破局的关键: ![](/images/article/861672fa-d7fb-4308-9776-9b883bab8d62.png)
试试强制跳转: ![](/images/article/9dbab125-f85e-42ca-b674-afef4f8c2467.png)
测试发现破解成功了。
然后使用IDApro跳转到指定汇编地址对程序进行修改,保存,破解结束。
文件就不贴了,steam上可以直接下载。 ![](/images/article/9813fe80-996e-4ebb-a542-f45dde5c61f7.png)
注:若转载请注明大神论坛来源(本贴地址)与作者信息。
|