Ustinain Ustinain
4年前
利用CreateRemoteThread( ) 实现远程线程注入
前言首先想法是强制创建一个目标进程的线程,把我自己的恶意DLL加载进去被注入的DLL拥有目标进程内存的访问权限,所以我们可以通过该向某个进程注入DLL时的方法主要有以下三种:•创建远程线程(CreateRemoteThread()API)•使用注册表(AppInitDLLs值)•消息钩取(SetWindowsHookEx())小试牛刀目前尝试第一
简
4年前
深度剖析APP保活案例
这是作者在去年处理的一个关于进程保活的案例一.引言1.1保活概述什么是保活?保活就是在用户主动杀进程,或者系统基于当前内存不足状态而触发清理进程后,该进程设法让自己免于被杀的命运或者被杀后能立刻重生的手段。保活是”应用的蜜罐,系统的肿瘤“,应用高保活率给自己赢得在线时长,甚至做各种应用想做而用户不期望的行为,给系统带来的是不必要的耗电,以及系统额外的性
Stella981 Stella981
4年前
Android low memory killer 机制
Android中,进程的生命周期都是由系统控制的。即使用户在界面上关掉一个应用,切换到了别的应用,那个应用的进程依然是存在于内存之中的。这样设计的目的是为了下次启动应用能更加快速。当然,随着系统运行时间的增长,内存中的进程可能会越来越多,而可用的内存则将会越来越少。AndroidKernel会定时执行一次检查,杀死一些进程,释放掉内存。那么,如何来判断
Stella981 Stella981
4年前
Skywalking源码分析系列文章
目录1\.Skywalking整体架构2.Skywalkingagent篇2.1字节码技术2.2Skywalkingagent如何设计2.3Skywalkingagent 技术细节3\.Skywalking通信篇3.1GRPC通信原理详解3.2Skywal
Wesley13 Wesley13
4年前
HTTPS是如何保证安全的
HTTP存在的问题1.窃听风险:通信使用明文(不加密),内容可能会被窃听(第三方可能获知通信内容)2.冒充风险:不验证通信方的身份,因此有可能遭遇伪装3.篡改风险:无法证明报文的完整性,所以有可能已遭篡改HTTPS!(https://osci
Wesley13 Wesley13
4年前
Java基础学习总结(18)——网络编程
一、网络基础概念    首先理清一个概念:网络编程 !\网站编程,网络编程现在一般称为TCP/IP编程。二、网络通信协议及接口三、通信协议分层思想四、参考模型五、IP协议  每个人的电脑都有一个独一无二的IP地址,这样互相通信时就不会传
Wesley13 Wesley13
4年前
View动画和Drawable动画
View动画你可以使用view动画系统执行Views的补间动画。补间动画通过诸如起始点,终止点,大小,旋转,和一个动画其他通用的aspects等信息来计算动画。一个补间动画可以在一个View对象的内容上执行一系列简单的变换(位置,大小,旋转,透明度)。因此,如果你有一个TextView(https://www.oschina.net
Wesley13 Wesley13
4年前
C#与PLC通信开发之松下FP系列PLC
这里写自定义目录标题前言松下FP系列PLC通信协议帧格式BCC的计算指令常用指令举例结语前言首先,C与PLC通信的开发,要和PLC程序开发区分开,C与PLC通信的开发,是上位机软件开发,PLC程序开发,是编写在PLC里运行的程序,是PLC程序猿的事
Wesley13 Wesley13
4年前
Java线程与多线程
1线程与多线程1.1线程是什么?线程(Thread)是一个对象(Object)。用来干什么?Java线程(也称JVM线程)是Java进程内允许多个同时进行的任务。该进程内并发的任务成为线程(Thread),一个进程里至少一个线程。Java程序采用多线程方式来支持大量的并发请求处理,程序如果在
Wesley13 Wesley13
4年前
Java 内存模型基础
一、并发编程模型的两个关键问题1\.线程之间如何通信通信是指线程之间以何种机制来交换信息。在命令式编程中,线程之间的通信机制有两种:共享内存和消息传递。在共享内存的并发模型里,线程之间共享程序的公共状态,通过写读内存中的公共状态进行隐式通信。在消息传递的并发模型里,线程之间没有公共状态,线程之间必须通过发送消息来显式