做逆向的时候经常遇到Windows服务方面的东西,以前有没有写过这方面的程序,感觉很吃力。
找到一篇介绍很详细的文章,共享:https://www.cnblogs.com/lzjsky/archive/2010/09/06/1819053.html
防止文件链接丢失,PDF文件下载地址:https://download.csdn.net/download/singleyellow/10443164
关于Windows服务的调试,在韩国棒子那本书里面已经写得很详细了。
调试方法:
1、更改源程序,在EP处修改2个字节的汇编代码为EB FE。
2、注册表添加服务启动超时,HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control——ServicesPipeTimeout
REG_DWORD值为十进制的86400000。
3、使用OD附加到进程,把EP处的EB FE修改回原来汇编代码。
调试过多遍这种方法准确无误,就是感觉有点麻烦。
我的方法是:
1、找到ServerMain( )中的SetServicesStatus( ),把SetServicesStatus( )下一条指令的起始2个字节修改成EB FE
2、od附加到进程,修改回来。
这样的调试步骤会简单很多。
续一:
在WinMain函数中调用S