本帖最后由 wangjunbin345 于 2024-01-29 21:55 编辑
使用软件时发现Soudpad Demo能够使用正式版的主要功能,但是具有次数限制,只能使用10次,达到上限后需要重启程序。 
猜测程序可能使用一个全局flag来控制软件限制,通过整数变量来计数。
然后丢进DIE进行分析,发现无壳。
DIE分析 
启动软件,直接上CE,搜索四字节;
猜测可能是反向计数,使用使用未知初始值搜索,也找到了一个内存地址(发现从11计数到1,然后继续使用功能,功能无法使用但此值仍然在减少,这可能是个bug我猜): 
尝试修改该值,再使用功能,发现值变了回去,看看是什么访问了这个内存: 
接着使用x64dbg定位到对应汇编指令地址: 
关键可能是在这个r8d寄存器那里, 查看rbx+54 和 r8d,发现这两个值貌似不会相等,这个跳转没有用,直接nop掉。
仔细分析汇编代码注意到了dword ptr ds:[rcx+rax*4],这个也许是破局的关键: 
试试强制跳转: 
测试发现破解成功了。
然后使用IDApro跳转到指定汇编地址对程序进行修改,保存,破解结束。
文件就不贴了,steam上可以直接下载。 
注:若转载请注明大神论坛来源(本贴地址)与作者信息。
|