今天分析下该加密工具内的一个功能:
[color=]禁止开启其它程序
1.jpg (84.58 KB, 下载次数: 4)
下载附件
2020-12-10 11:21 上传
使用该加密工具加密个视频,运行播放加密视频。就会发现,桌面打开的所有进程全部被关闭。OD都被结束了!真是屌炸天(恶心极了)。。。。。。。
首先要考虑,它是如何获取到桌面运行的程序? 从编程角度来考虑,应该是遍历桌面所有的窗口,得到进程ID和句柄进行关闭。用到的函数有:OpenProcess、EnumProcessModules、EnumWindows、GetWindowThreadProcessId等。。。。具体如何获取桌面所有窗口和进程句柄,想了解的自行找百度。
知道调用
[color=]EnumWindows
可以遍历桌面所有窗口,我们直接从这函数进行分析。
在OD内 对
[color=]EnumWindows
下断点,运行播放器播放视频。OD断下如图:
2.jpg (175.71 KB, 下载次数: 0)
下载附件
2020-12-10 11:21 上传
反汇编地址,就看到程序中调用的地方。该处跳转:008A98BE /75 0E jnz X专用播放.008A98CE 找到函数调用处,我们直接将它跳过去,不让它遍历我们的桌面程序。是不是就达到避开程序关闭了?
于是将地址:
[color=]008A98BE
直接改成 JZ或JMP跳过,视频正常播放。并没有结束进程!成功破解关闭全部进程的限制。
[color=]重要的还是思路,思路决定出路。
发这文章看虽简单,实际也是经过好多次的跟踪和分析进行的总结。
文章仅做为学习和技术交流!