韩梦飞沙 yue31313 韩亚飞 han_meng_fei_sha  313134555@qq.com =========== Android 进程常驻(0)----MarsDaemon使用说明…
---恢复内容开始--- 首先,我要说一件很重要的事,本人文采不好,如果哪里说的尴尬了,那你就尴尬着听吧...... SSDT HOOK最初貌似源于Rookit,但是Rookit之前有没有其他病毒使用,这就不清楚了,总之这个功能很不错,那么什么是SSDT呢,SSDT全称是(System Services Descriptor Table),它将ring3的Win32 API和ring0的内核函数联系起来,SSDT 并不仅仅只包含一个庞大的地址索引表,它还包含着一些其它有用的信息,诸如地址索引的基…
文章目录:                   1. 引子 – Demo 实现效果: 2. 进程隐藏与进程保护概念: 3. SSDT Hook 框架搭建: 4. Ring0 实现进程隐藏: 5. Ring0 实现进程保护: 6. 隐藏进程列表和保护进程列表的维护: 7. 小结: 1. 引子 – Demo 实现效果: 上一篇<进程隐藏与进程保护(SSDT Hook 实现)(一)>呢把 SSDT 说得差不多了, 博文地址: http://www.cnblogs.com/BoyXiao/archiv…
本文分为两个部分,第一部分为双Service守护,第二部分为双进程守护 第一部分: 一.Service简介:Java.lang.Object ↳Android.content.Context  ↳android.content.ContextWrapper  ↳android.app.Service Service是应用程序Application的一个组件(component).它的作用有两点:1.用来提供一个长期在后台运行并且不与用户交互的操作,2.也可以为其他应用程序提供服务.Service…
做过android开发的人应该都知道应用会在系统资源匮乏的情况下被系统杀死!当后台的应用被系统回收之后,如何重新恢复它呢?网上对此问题有很多的讨论.这里先总结一下网上流传的各种解决方案,看看这些办法是不是真的可行.1.提高优先级这个办法对普通应用而言,应该只是降低了应用被杀死的概率,但是如果真的被系统回收了,还是无法让应用自动重新启动!    2.让service.onStartCommand返回START_STICKY通过实验发现,如果在adb shell当中kill掉进程模拟应用被意外杀死的…
本文分为两个部分,第一部分为双Service守护,第二部分为双进程守护 第一部分: 一.Service简介:Java.lang.Object ↳Android.content.Context  ↳android.content.ContextWrapper  ↳android.app.Service Service是应用程序Application的一个组件(component).它的作用有两点:1.用来提供一个长期在后台运行并且不与用户交互的操作,2.也可以为其他应用程序提供服务.Service…
双进程守护如果从进程管理器观察会发现新浪微博.支付宝和QQ等都有两个以上相关进程,其中一个就是守护进程,由此可以猜到这些商业级的软件都采用了双进程守护的办法. 什么是双进程守护呢?顾名思义就是两个进程互相监视对方,发现对方挂掉就立刻重启!不知道应该把这样的一对进程是叫做相依为命呢还是难兄难弟好呢,但总之,双进程守护的确是一个解决问题的办法!相信说到这里,很多人已经迫切的想知道如何实现双进程守护了.这篇文章就介绍一个用NDK来实现双进程保护的办法,不过首先说明一点,下面要介绍的方法中,会损失不少的…
做过android开发的人应该都知道应用会在系统资源匮乏的情况下被系统杀死!当后台的应用被系统回收之后,如何重新恢复它呢?网上对此问题有很多的讨论.这里先总结一下网上流传的各种解决方案,看看这些办法是不是真的可行.1.提高优先级这个办法对普通应用而言,应该只是降低了应用被杀死的概率,但是如果真的被系统回收了,还是无法让应用自动重新启动!    2.让service.onStartCommand返回START_STICKY通过实验发现,如果在adb shell当中kill掉进程模拟应用被意外杀死的…
最近项目用到Service常驻后台,研究了一下发现手Q和微信都是使用了双进程来保证一键清理后自动复活,copy网上双进程Service的例子,再结合onTrimMemory(),基本实现一键清理后自动复活. 使用双进程Service,关键是在AndroidManifest.xml里面定义Service时加入Android:process=":service1": <service android:enabled="true" android:name=&quo…
由于我们做的是机器人上的软件,而机器人是24小时不间断服务的,这就要求我们的软件不能退出到系统桌面.当然最好是能够做到程序能够不卡顿,不崩溃,自己不退出.由于我们引用了很多第三方的开发包,也不能保证他们的稳定性,所以,要做到完全不崩溃也是不可能的. 退而求其次,如果崩溃了我们就要保证程序能够被拉起来,期间也看过很多保活的方案,比如service前台的方法,比如jni里写守护进程,比如接收系统广播唤醒,比如用alarmmanager唤醒等等,感觉不是效率底,就是被系统屏蔽了.经过不断筛选,我认为使…
前段时间,一哥们,去杀Linux服务器的进程,发现kill命令失灵了,怎么杀都杀不死. 然后上网查了下资料,原来是要被杀的进程,成为了僵尸进程. 僵尸进程的查看方法: 利用命令ps,可以看到有标记为Z的进程就是僵尸进程. 知道了原因,就想怎么去把这个僵尸进程干掉.网上说了两种方法,一种最简单的方法,重启服务器,相当于清理内存了.方法很简单,但是不是很实用,因为服务器,不是你一个人在用,服务器是不能随随便便重启的.第二种方法,杀掉其父进程,父进程干掉后,该僵尸进程也就消失了. 可以用  ps -e…
paip.杀不死进程的原因--僵尸进程的解决.txt 作者Attilax  艾龙,  EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http://blog.csdn.net/attilax 1. 产生原因: 在UNIX 系统中,一个进程结束了,但是他的父进程没有等待(调用wait / waitpid)他,那么他将变成一个僵尸进程.通过ps命令查看其带有defunct的标志.僵尸进程是一个早已死亡的进程,但在进程表(processs table)中仍占了一个位置…
转自:http://klob.diandi.life/?p=21#symple-tab-%e8%b0%83%e6%9f%a5%e5%af%b9%e8%b1%a1 情景还原: 我的应用调用了Notification,但是如果被流氓清理软件杀死,在有些机型出现Notification没有被抹除的情况,因为丧失了对Notification的引用,用户也无法抹除这个Notification,这将大大降低用户体验.于是,我想出了如果我的应用可以不死,主动清除Notification. 既然开始做了,干脆做…
Linux下tomcat的shutdown命令可以关闭服务但是杀不死进程 原因: 一般造成这种原因是因为项目中有非守护线程的存在: 解决方案: 一.从Tomcat上解决 方案1:(推荐的方案:因为一台机器里可能有很多tomcat,不能kill所有) 基本原理为启动tomcat时记录启动tomcat的进程id(pid),关闭时强制杀死该进程 (1),在tomcat/bin/catalina.sh脚本的代码前,加入以下语句: #####################################…
tomcat在windows下可以直接关闭,但是貌似在Linux下有时候shutdown.sh 没有关闭tomcat进程:国庆前最后一天没事,解决你~~~~ 现象: 在Linux下shutdown.sh ,然后查看tomcat进程发现没有完全关闭: #查看tomcat进程是否关闭语句 ps -ef | grep tomcat 实验:(为什么原来在Linux下没有发现这个问题呢???) 实验一:   安装一个纯净的tomcat放在linux上,启动->查看tomcat进程->关闭–>查看t…
tomcat在windows下可以直接关闭,但是貌似在Linux下有时候shutdown.sh 没有关闭tomcat进程; 现象:在Linux下shutdown.sh ,然后查看tomcat进程发现没有完全关闭: #查看tomcat进程是否关闭语句 ps -ef | grep tomcat 实验:(为什么原来在Linux下没有发现这个问题呢???) 实验一:   安装一个纯净的tomcat放在linux上,启动—>查看tomcat进程—>关闭–>查看tomcat进程...........…
 场景:实现安装一个apk应用程序的过程.界面如下: 编写如下应用,应用结构如下: <RelativeLayout   编写activity_main.xml布局: <RelativeLayout 版本开始的 .setContentText("我是内容") .setSmallIcon(R.drawable.notification) .setLargeIcon(BitmapFactory.decodeResource(getResources(), R.drawable…
本节内容主要是讲解ActivityManager的使用,通过ActivityManager我们可以获得系统里正在运行的activities,包括 进程(Process)等.应用程序/包.服务(Service).任务(Task)信息. 计划如下:  第一部分:获取系统可用内存以及所有的正在运行的进程信息 ;                   第二部分:获取每个进程里运行的应用程序信息和所有正在运行的应用程序                   第三部分:获取正在运行的服务和任务信息. 每部分都准…
前提: 大家运行的脚本程序经常会碰到系统异常关闭.或被其他用户错杀的情况.这样就需要一个进程保护的工具. 本文结合windows 的计划任务,实现一个简单的进程保护的功能. 利用py2exe生产 exe 文件. py2exe是一个将python脚本转换成windows上的可独立执行的可执行程序(*.exe)的工具,这样,你就可以不用装python而在windows系统上运行这个可执行程序. 下载地址:从http://prdownloads.sourceforge.net/py2exe 创建py2…
该类教程网上有很多,但是很多不全,给小白用户造成了很多困扰.我也是按照网上的教程刷了半天,才熟悉了是怎么个回事.这里整理成教程. 注意: 请看教程步骤走,不要跳跃性刷机.不懂的术语.软件,若本文无介绍,请自行搜索. 不希望看到"为什么刷不了?"."进不去刷机模式"等问题.本文纯属兴趣,无义务一一回答各位网友提的问题,但看到会不定时回复. 刷机有风险,出现问题自行承担! 机型:C301 CPU Atheros AR9344 rev 3内存 128MB DDR2闪存 M…
56个问题都是经常用到的,可以深入研究下,也是必须掌握的开发必备知识. 安卓Android面试题汇总 搜集了一些Android面试题目,供将要面试或者正在面试的朋友参考. 1, 谈谈你对Activity的理解? 2, Activity的生命周期? 3, Acitvity启动模式? 4, 在onCreate方法中Bundle savedInstanceState 这个参数有什么作用? 5, 谈谈你对BroadCastRceiver的理解? 6, 广播分几种?他们有什么区别? 7, 广播的生命周期?…
......上一节,我们编写了一个基本的lkm模块,从功能上来说它还没有rootkit的特征,这次我们给它添加一点有意思的功能.我们让一个指定的进程杀不死, 曾经,想写一个谁也杀不死的进程,进程能捕捉到SIGTERM,就是kill默认发送的signal,能捕捉到SIGINT,你平时按下Ctrl-C就是这个操作,但是无论如何你也无法阻止, SIGKILL,及终极杀人王火云邪神的必杀kill -9 pid. 作为一个小强,怎么能被现实如此的摧残,我们要对命运说不,so 有个几种解决方案,一中方案:两…
Android采取了一种有别于Linux的进程管理策略,有别于Linux的在进程活动停止后就结束该进程,Android把这些进程都保留在内存中,直到系统需要更多内存为止.这些保留在内存中的进程通常情况下不会影响整体系统的运行速度,并且当用户再次激活这些进程时,提升了进程的启动速度. 那Android什么时候结束进程?结束哪个进程呢?之前普遍的认识是Android是依据一个名为LRU(last recently used 最近使用过的程序)列表,将程序进行排序,并结束最早的进程.   其实安卓的内…
本文主要介绍Android的lowmemorykiller的oom_adj的相关概念,以及根据一些案例来阐述了解oom_adj对于做Android应用开发的重要意义. 一.lowmeorykiller中进程的分类以及各类进程的adj值         在Android的lowmemroykiller机制中,会对于所有进程进行分类,对于每一类别的进程会有其oom_adj值的取值范围,oom_adj值越高则代表进程越不重要,在系统执行低杀操作时,会从oom_adj值越高的开始杀.系统lowmemeo…
目录 SSDT Hook效果图 SSDT简介 SSDT结构 SSDT HOOK原理 Hook前准备 如何获得SSDT中函数的地址呢 SSDT Hook流程 SSDT Hook实现进程保护 Ring3与Ring0的通信 如何安装启动停止卸载服务 参考文献 源码附件 版权 SSDT Hook效果图 加载驱动并成功Hook  NtTerminateProcess函数: 当对 指定的进程进行保护后,尝试使用“任务管理器”结束进程的时候,会弹出“拒绝访问”的窗口,说明,我们的目的已经达到: SSDT简介…
本文转自EasyDarwin团队John的博客:http://blog.csdn.net/jyt0551/article/details/60802145 我们在开发安卓Android流媒体音视频播放器时,可能会需要播放器静音或者降低音量的功能.比如说某款音乐播放器,当在后台播放时,如果此时有另外的系统通知声音发出,可能播放器会把音量降低,系统声音结束后,再调高:如果有来电了,播放器可能会把音乐暂停,等通话结束后再继续播放.还有,比方说我们在某个场合放个视频,不料音量很大,会引来很多目光(很尴尬…
各位坐稳扶好,我们要开车了.不过在开车之前,我们还是例行回顾一下上期分享的要点. 项庄舞剑意在沛公,而咱们上期主要借助应用服务器 Resin 的源码,体验了一次 JMX 的真实应用.鉴于 9012 年的很多攻城狮从未接触过 Resin 应用服务器,咱们也没有挖的太深,点到为止. 今天我们说些什么?先抛个问题:“如何实现 Java 应用进程的状态监控,如果被监控的进程 down 掉,是否有机制能启动起来?” 你或许对问题本身还有点不解,暂不针对问题本身进行作答,先不妨一起体验体验 Resin 应用…
各位坐稳扶好,我们要开车了.不过在开车之前,我们还是例行回顾一下上期分享的要点. 上期我们抛了一个砖:“如何实现 Java 应用进程的状态监控,如果被监控的进程 down 掉,是否有机制能启动起来?”并结合 Resin 应用服务器背后启动的进程,更详细的阐述了一下问题. 我们依然不考虑自己怎么去实现,而是先看看 Resin 这款技术轮子,是不是按照我们的猜想设计的呢?是不是可以模仿一二? 好了,熟读唐诗三百首,不会作诗也会吟,抱着疑问,我们再深入一次 Resin 的源码,如果不感兴趣,或者脑仁疼…
进程保护部分参考 http://bbs.pediy.com/showthread.php?t=168023 进程保护,在任务管理器不能结束进程 #ifndef CXX_PROTECTPROCESSX64_H #define CXX_PROTECTPROCESSX64_H #include <ntifs.h> #define PROCESS_TERMINATE 0x0001 #define PROCESS_VM_OPERATION 0x0008 #define PROCESS_VM_READ 0…
64位下Hook NtOpenProcess的实现进程保护 + 源码 (升级篇 ) [PS: 如果在64位系统下,出现调用测试demo,返回false的情况下,请修改Hook Dll的代码] glhHook = SetWindowsHookEx(WH_SHELL,ShellHookProc, 0 , 0); //改成跟X86下一样的 glhHook = SetWindowsHookEx(WH_SHELL,ShellHookProc,glhInstance, 0); 2013.09.11代码修改,…