1 学习目标 今天静态逆向mydocument病毒时,看到病毒代码为了防止自身被调试会先检测杀毒软件和调试工具的进程是否存在.如果没有杀毒软件则释放真正的病毒文件,提前熟悉一下枚举进程的反汇编代码. 2 编程思路 2.1 代码原理 这是一段检测指定进程是否存在的代码,使用CreateToolhelp32Snapshot这个API获取进程信息.然后对比有没有杀毒软件的进程. 2.2 编写思路 将这几个功能封装成一个函数. 1. 定义TCHAR数组,数组中存放要检测的进程名 2.获取进程信息 3.遍…
检查进程的存在 kill系统调用还有另一重功用.若将参数sig指定为0(即所谓空信号),则无信号发送. 相反,kill仅会去执行错误检查,查看是否可以向目标进程发送信号. 从另一角度来看,这意味着,可以使用空信号来检测具有特定进程ID的进程是否存在.若发送空信号失败,且errno为ESRCH,则表明目标进程不存在.如果调用失败,且errno为EPERM(表示进程存在,但无权向目标进程发送信号)或者调用成功(有权向进程发送信号),那么就表示进程存在. 验证一个特定进程ID的存在并不能保证特定程序仍…
使用 Native API 创建进程 最近几个星期一直在研究这个题目.因为关于方面的资料比较多(可以看下面的参考文章),所以开始时以为很快就结束了.谁知道真正动起手来才发现有很多要考虑的地方,不过还好今天终于成功了,还是很高兴的.写下来,做个小结吧.(纸上得来终觉浅 , 须知此事要躬行.) 我们一般是使用 CreateProcess 来创建进程的,而使用 Native API 来创建进程其实说白了就是模拟 CreateProcess 的实现.一开始我以为 CreateProcess 就是调用 N…
本文详细的介绍了在Visual Studio(以下简称VS)下实现API钩子的编程方法,阅读本文需要基础:有操作系统的基本知识(进程管理,内存管理),会在VS下编写和调试Win32应用程序和动态链接库(以下简称DLL). API钩子是一种高级编程技巧,常常用来完成一些特别的功能,比如词典软件的屏幕取词,游戏修改软件的数据修改等.当然,此技术更多的是被黑客或是病毒用来攻击其它程序,截获需要的数据或改变目标程序的行为.本文不探讨此技术的应用,只讲实现.同时希望掌握此技术的人都能够合法的应用它,不要去…
#!/bin/sh bin=$(cd ``;pwd) cd ${bin} ### 定义检查函数 chk(){ programName=$ correctNum=$ programSubName=$ # 判断是否带子程序名 if [ -n "${programSubName}" ] then programNum=$(ps -ef|grep -Ewv "grep|less|more|zgrep|zless|vi|vim|gzip"|grep ${programName…
Processes and Threads 英文原文:http://developer.android.com/guide/components/processes-and-threads.html 采集(更新)日期:2014-12-25 搬迁自原博客:http://blog.sina.com.cn/s/blog_48d491300100zjpb.html 在本文中 进程 进程的生命周期 线程 工作线程 线程安全的方法 进程间通讯 如果某个应用程序组件是第一次被启动,且这时应用程序也没有其他组件…
# cat > check_process_is_end.sh while truedo   sleep 30 # seconds   res=`ps -ef | grep RNAhybrid`   count=`grep -o "RNAhybrid" <<<"$res" | wc -l`   if [ "$count" -eq "1" ] ; then        echo $res        …
转载请注明出处:http://blog.csdn.net/droyon/article/details/39938677 在进行Android应用程序开发中,android提供了一个非常好的工具类,来进行參数的检查. Preconditions.checkNotNull(horiz, "missing horiz"); 这个类叫做Preconditions,在framework/base/core/java/com/android.internal/util中. 事实上现为: publ…
wx.checkSession(Object object) 检查登录态是否过期. 通过 wx.login 接口获得的用户登录态拥有一定的时效性.用户越久未使用小程序,用户登录态越有可能失效.反之如果用户一直在使用小程序,则用户登录态一直保持有效.具体时效逻辑由微信维护,对开发者透明.开发者只需要调用 wx.checkSession 接口检测当前用户登录态是否有效. 登录态过期后开发者可以再调用 wx.login 获取新的用户登录态.调用成功说明当前 session_key 未过期,调用失败说明…
以nginx进程为例子 private final static String NAME_STRING = "nginx.exe"; //传入进程名称processName public static boolean findProcess() { BufferedReader bufferedReader = null; try { Process proc = Runtime.getRuntime().exec("tasklist -fi " + '"…