精华内容
下载资源
问答
  • 易语言源码易语言汇编修改进程pid源码.rar 易语言源码易语言汇编修改进程pid源码.rar 易语言源码易语言汇编修改进程pid源码.rar 易语言源码易语言汇编修改进程pid源码.rar 易语言源码易语言汇编修改进程pid源码....
  • 易语言汇编修改进程pid源码
  • SuperPid修改进程PID工具界面是VB些的,底层驱动是C语言写的。作者提供源代码,可惜源代码要180元....如今先拿他的成品软件用用 。还有次工具 别名为 "SP伪装进程"。说白了和 他之前的SuperHide差不多,只是SuperPid...
  • 易语言修改进程自身ID失败源码,修改进程自身ID失败,取PID指针,写PID,GetCurrentProcessId
  • 当然,不单单是外挂程序会修改进程内存数据,还有很多安全类软件也都会有修改进程内存数据的功能,方便分析人员进行分析。 而且,Windows也提供了相应的进程内存读写的API函数 ReadProcessMemory 和 ...

    背景

    如果对外挂有了解的同学,应该知道,修改进程内存应该是外挂入门学习的必修技术点。当然,不单单是外挂程序会修改进程内存数据,还有很多安全类软件也都会有修改进程内存数据的功能,方便分析人员进行分析。

    而且,Windows也提供了相应的进程内存读写的API函数 ReadProcessMemory 和 WriteProcessMemory,我们实现的程序,正是基于这两个函数实现的。

    现在,本文就对这个功能的实现过程进行整理,形成文档,分享给大家。

    点击此处下载文档和源码

     

    展开全文
  • 【Linux】修改进程优先级

    千次阅读 2018-12-23 16:25:38
    进程优先级简介 Linux操作系统是一个多用户、多任务的操作系统,Linux系统中通常运行着非常多的进程。...nice命令可以给新执行的命令直接赋予NI值,但是不能修改已经存在进程的NI值。 选项: -n NI值:给命令...

    一 进程优先级简介
    Linux操作系统是一个多用户、多任务的操作系统,Linux系统中通常运行着非常多的进程。但是CPU在同一个时钟周期内只能运算一个指令。进程优先级决定了每个进程处理先后顺序。
     
    二 示例


    三 修改NI值时注意事项

     
    四 nice命令
    nice [选项] 命令
    nice命令可以给新执行的命令直接赋予NI值,但是不能修改已经存在进程的NI值。
    选项:
    -n NI值:给命令赋予NI值
    例如
    nice -n -5 service httpd start
     
    五 renice命令
    renice [优先级] PID
    renice命令是修改已经存在进程的NI值得命令
     
    例如
    renice -10 2125
     
    [root@localhost ~]# renice -10 8092
    8092 (process ID) old priority 0, new priority -10
    [root@localhost ~]# ps -le | grep httpd
    4 S 0 8082 1 0 80 0 - 55479 poll_s ? 00:00:00 httpd
    5 S 48 8091 8082 0 80 0 - 56000 inet_c ? 00:00:00 httpd
    5 S 48 8092 8082 0 70 -10 - 56000 inet_c ? 00:00:00 httpd
    5 S 48 8093 8082 0 80 0 - 56000 inet_c ? 00:00:00 httpd
    5 S 48 8094 8082 0 80 0 - 56000 inet_c ? 00:00:00 httpd
    5 S 48 8095 8082 0 80 0 - 56000 inet_c ? 00:00:00 httpd

    转自:https://blog.csdn.net/chengqiuming/article/details/78602024 

    展开全文
  • Linux下修改进程名称

    千次阅读 2016-11-17 19:11:34
    原文 ... catalog ...3. 通过修改进程argv[0]修改进程名 4. 通过bash exec命令修改一个进程的cmdline信息 1. 应用场景 1. 标识父子进程名称,防止被误杀 2. 构造假的进程名及参数,引导非法进
    原文 
    

      http://www.cnblogs.com/LittleHann/p/4991600.htm

    catalog

    1. 应用场景
    2. 通过Linux prctl修改进程名
    3. 通过修改进程argv[0]修改进程名
    4. 通过bash exec命令修改一个进程的cmdline信息

    1. 应用场景

    1. 标识父子进程名称,防止被误杀
    2. 构造假的进程名及参数,引导非法进入人员到蜜罐系统,取证
    3. 恶意程序、木马会通过"檫除"自己的进程名,使ps的时候显示的是一个无名字的进程,同时删除进程对应磁盘上的文件
    l

    Relevant Link:

    http://blog.chinaunix.net/uid-29482215-id-4120748.html

    2. 通过Linux prctl修改进程名

    虽然Linux将所有资源对象都抽象为了文件,但是对一些特殊作用的文件特别定制了一些特别的API集合,对其进行特殊操作,prctl就是其中一个例子

    prctl - operations on a process
    #include <sys/prctl.h>
    int prctl(int option, unsigned long arg2, unsigned long arg3,unsigned long arg4, unsigned long arg5);

    prctl() is called with a first argument describing what to do (with values defined in <linux/prctl.h>), and further arguments with a significance depending on the first one. The first argument can be:

    1. PR_CAPBSET_READ
    2. PR_CAPBSET_DROP 
    3. PR_SET_CHILD_SUBREAPER 
    4. PR_GET_CHILD_SUBREAPER 
    5. PR_SET_DUMPABLE 
    6. PR_SET_ENDIAN 
    7. PR_GET_ENDIAN 
    8. PR_SET_FPEMU 
    9. PR_GET_FPEMU 
    10. PR_SET_FPEXC 
    11. PR_GET_FPEXC 
    12. PR_SET_KEEPCAPS 
    13. PR_GET_KEEPCAPS 
    14. PR_SET_NAME 
    	1) Set the name of the calling thread, using the value in the location pointed to by (char *) arg2.  
    	2) The name can be up to 16 bytes long, including the terminating null byte. (If the length of the string, including the terminating null byte, exceeds 16 bytes, the string is silently truncated.) 
    	3) This is the same attribute that can be set via pthread_setname_np and retrieved using pthread_getname_np.  
    	4) The attribute is likewise accessible via /proc/self/task/[tid]/comm, where tid is the name of the calling thread.
    15. PR_GET_NAME 
    16. PR_SET_NO_NEW_PRIVS 
    17. PR_GET_NO_NEW_PRIVS 
    18. PR_SET_PDEATHSIG 
    19. PR_GET_PDEATHSIG 
    20. PR_SET_PTRACER 
    21. PR_SET_SECCOMP 
    22. PR_GET_SECCOMP 
    23. PR_SET_SECUREBITS 
    24. PR_GET_SECUREBITS 
    25. PR_SET_THP_DISABLE 
    26. PR_GET_THP_DISABLE 
    27. PR_GET_TID_ADDRESS 
    28. PR_SET_TIMERSLACK 
    29. PR_GET_TIMERSLACK 
    30. PR_SET_TIMING 
    31. PR_GET_TIMING 
    32. PR_TASK_PERF_EVENTS_DISABLE 
    33. PR_TASK_PERF_EVENTS_ENABLE 
    34. PR_SET_TSC 
    35. PR_GET_TSC 
    36. PR_SET_UNALIGN
    37. PR_GET_UNALIGN
    38. PR_MCE_KILL 
    39. PR_MCE_KILL_GET 
    40. PR_SET_MM 
    41. PR_MPX_ENABLE_MANAGEMENT, PR_MPX_DISABLE_MANAGEMENT
    

    0x1: Code Example

    /*
    gcc changetitle.c -o changetitle
    */
    #include <stdio.h>
    #include <sys/prctl.h>
    int main(int argc, char *argv[], char *envp[])
    {
    	char *new_name = "littlehann-program";
    	getchar();
    	prctl(PR_SET_NAME, new_name);
    	getchar();
    	return 0;
    }
    

    但是prctl修改的进程名,只能是16个字节(包括'\0'),同时,过ps -aux 查看,进程名称并没有改变,改变的只是/prco/$(PID)/stat和/prco/$(PID)/status的值,而/prco/$(PID)/cmdline并没有改变

    Relevant Link:

    http://man7.org/linux/man-pages/man2/prctl.2.html
    http://blog.csdn.net/dahailantian1/article/details/5950824
    http://www.cppblog.com/beautykingdom/archive/2009/11/08/100419.aspx

    3. 通过修改进程argv[0]修改进程名 

    /*
    gcc test.c -o test
    */
    #include <stdio.h>
    #include <string.h>
    extern char **environ;
    int main(int argc , char *argv[])
    {
    	int i;
    	printf("argc:%d\n" , argc);
    	for (i = 0; i < argc; ++i)
    	{
    		printf("argv[%d](0x%x):%s\n" , i , (unsigned int)argv[i], argv[i]);
    	}
    	printf("evriron=0x%x\n" , (unsigned int)environ[0]);
    	return 0;
    }
    

    通过代码运行结果可以看出,我们只需要在进程启动时修改argv[0]所指向的内存空间的内容,就可以修改进程名

    1. 如果新名称比argv[0]的长度小,我们可以直接修改,并把多余的部分请0
    2. 如果新名称比argv[0]长我们需要两步 
        1) 申请新内存保存环境变量信息和argv[1...argc-1]参数信息
        2) 修改argv[0],将新名称往后到environ的最后一项清0

    0x1: Code Example

    /*
    gcc changetitle.c -o changetitle
    */
    #include <unistd.h>
    #include <stdio.h>
    #include <stdarg.h>
    #include <string.h>
    #include <stdlib.h>
    #include <sys/prctl.h>
    # define MAXLINE 2048
    extern char **environ;
    static char **g_main_Argv = NULL;	/* pointer to argument vector */
    static char *g_main_LastArgv = NULL;	/* end of argv */
    void setproctitle_init(int argc, char **argv, char **envp)
    {
    	int i;
    	for (i = 0; envp[i] != NULL; i++) // calc envp num
    		continue;
    	environ = (char **) malloc(sizeof (char *) * (i + 1)); // malloc envp pointer
    	for (i = 0; envp[i] != NULL; i++)
    	{
    		environ[i] = malloc(sizeof(char) * strlen(envp[i]));
    		strcpy(environ[i], envp[i]);
    	}
    	environ[i] = NULL;
    	g_main_Argv = argv;
    	if (i > 0)
    		g_main_LastArgv = envp[i - 1] + strlen(envp[i - 1]);
    	else
    		g_main_LastArgv = argv[argc - 1] + strlen(argv[argc - 1]);
    }
    void setproctitle(const char *fmt, ...)
    {
    	char *p;
    	int i;
    	char buf[MAXLINE];
    	extern char **g_main_Argv;
    	extern char *g_main_LastArgv;
    	va_list ap;
    	p = buf;
    	va_start(ap, fmt);
    	vsprintf(p, fmt, ap);
    	va_end(ap);
    	i = strlen(buf);
    	if (i > g_main_LastArgv - g_main_Argv[0] - 2)
    	{
    		i = g_main_LastArgv - g_main_Argv[0] - 2;
    		buf[i] = '\0';
    	}
    	//修改argv[0]
    	(void) strcpy(g_main_Argv[0], buf);
    	p = &g_main_Argv[0][i];
    	while (p < g_main_LastArgv)
    		*p++ = '\0';
    	g_main_Argv[1] = NULL;
    	//调用prctl
    	prctl(PR_SET_NAME,buf);
    }
    int main(int argc, char *argv[])
    {
    	char argv_buf[MAXLINE] = {0}; // save argv paramters
    	int i;
    	for( i = 1; i < argc; i++)
    	{
    		strcat(argv_buf, argv[i]);
    		strcat(argv_buf, " ");
    	}
    	//修改argv[0]所指向的内存空间的内容
    	setproctitle_init(argc, argv, environ);
    	//调用prctl修改进程名
    	setproctitle("%s@%s %s", "littlehann-prog", "ip", argv_buf);
    	for (i = 0; environ[i] != NULL; i++)
    		free(environ[i]);
    	getchar();
    	return 0;
    }
    

    Relevant Link:

    http://blog.chinaunix.net/uid-29482215-id-4120748.html

    4. 通过bash exec命令修改一个进程的cmdline信息

    exec -l -a "littlehann-prog" bash
    ps
    ps -l 29116

    Relevant Link:

    http://blog.ailms.me/2014/05/24/bash-exec-usage-example.html

    Copyright (c) 2015 LittleHann All rights reserved

    展开全文
  • Linux修改进程优先级

    千次阅读 2017-11-22 12:14:22
    进程优先级简介 Linux操作系统是一个多用户、多任务的操作系统,Linux系统中通常运行着非常多的进程。但是CPU在同一个时钟周期内只能...nice命令可以给新执行的命令直接赋予NI值,但是不能修改已经存在进程的NI值
    一 进程优先级简介
    Linux操作系统是一个多用户、多任务的操作系统,Linux系统中通常运行着非常多的进程。但是CPU在同一个时钟周期内只能运算一个指令。进程优先级决定了每个进程处理先后顺序。
     
    二 示例


     
     
    三 修改NI值时注意事项


     
     
    四 nice命令
    nice [选项] 命令
    nice命令可以给新执行的命令直接赋予NI值,但是不能修改已经存在进程的NI值。
    选项:
    -n NI值:给命令赋予NI值
    例如
    nice -n -5 service httpd start
     
    五 renice命令
    renice [优先级] PID
    renice命令是修改已经存在进程的NI值得命令
     
    例如
    renice -10 2125
     
    [root@localhost ~]# renice -10 8092
    8092 (process ID) old priority 0, new priority -10
    [root@localhost ~]# ps -le | grep httpd
    4 S 0 8082 1 0 80 0 - 55479 poll_s ? 00:00:00 httpd
    5 S 48 8091 8082 0 80 0 - 56000 inet_c ? 00:00:00 httpd
    5 S 48 8092 8082 0 70 -10 - 56000 inet_c ? 00:00:00 httpd
    5 S 48 8093 8082 0 80 0 - 56000 inet_c ? 00:00:00 httpd
    5 S 48 8094 8082 0 80 0 - 56000 inet_c ? 00:00:00 httpd
    5 S 48 8095 8082 0 80 0 - 56000 inet_c ? 00:00:00 httpd
    • 大小: 232.8 KB
    • 大小: 227.8 KB
    展开全文
  • Windows下通过进程名称获取进程pid

    千次阅读 2020-09-29 17:04:55
    例如,通过devenv.exe找到进程id号为14376 在msdn查到api接口为: DWORD GetProcessId( HANDLE Process ); 需要传入一个HANDLE,那问题又来了,怎样获得这个HANDLE呢? 网上找了很久的答案,最后在stack ...
  • 进程地址空间的隔离 是现代操作系统的一个显著特征。这也是区别于 “古代”操作系统 的显著特征。 进程地址空间隔离意味着进程P1无法以随意的方式访问进程P2的内存,除非这块内存被声明是共享的。 这非常容易理解...
  • 找出Java进程ID pid的N种方法

    万次阅读 2017-02-27 20:28:00
    拿到进程ID pid能做些什么呢?暴力的杀掉它,比如:...使用 jinfo:可以输出并修改运行时的java 进程的opts(选项,项目项)。如:jinfo 56860Attaching to process ID 56860, please wait...Debugger attached success
  • 场景:后台运行多个springboot或者npm的前端项目, 使用nohup提交后,使用ps -ef |grep spring 产生了多个pid, 不方便管理程序 1,借鉴kylin后台运行脚本:kylin.sh 运行kylin.sh start 的时候,实际调用的是如下...
  • 进程地址空间的隔离 是现代操作系统的一个显著特征。这也是区别于 “古代”操作系统 的显著特征。进程地址空间隔离意味着进程P1无法以随意的方式访问进程P2的内存,除非这块内...
  • 根据进程名字查找pid

    千次阅读 2016-10-16 14:00:04
    Liunx中通过进程名查找进程PID可以通过 pidof [进程名] 来查找。反过来 ,相同通过PID查找进程名则没有相关命令。在linux根目录中,有一个/proc的VFS(虚拟文件系统),系统当前运行的所有进程都对应于该目录下的一个...
  • 2.通过GetWindowThreadProcessId找到进程id(pid) 3.OpenProcess打开进程 4.WriteProcessMemory修改内存   源代码: #include #include int main() {  HWND h=FindWindow(NULL,"Super Mario XP") ...
  • 修改进程优先级(实验linux命令)

    千次阅读 2018-03-26 20:54:40
    Linux下,关于进程优先级及其修改问题:   Ps -el:显示系统所有进程UID(进程拥有者),PID进程标识符),PPID(父进程标识符),PRI(进程优先级),NI(优先级调整因子)调整因子NI取值(-20到19),真正的优先级...
  • chrt 修改进程的调度策略和优先级

    千次阅读 2018-10-15 09:33:58
    从下图可以看出,目前存在6中调度策略。用chrt命令可以方便的修改进程的调度策略和优先级
  • hadoop进程pid文件问题

    千次阅读 2011-10-31 14:48:07
    由于机器服务器维护需要,要求hadoop集群的一台服务器停止服务,于是我就到那台服务器去停止hadoop的datanode和...但是查看进程,却发现datanode和tasktracker都还在运行,尝试了好几次都是同样结果,最后我试
  • 通过进程PID获取 HWND

    千次阅读 2014-02-12 16:19:34
    // dddddddddd.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include HWND GetWindowHandleByPID...通过 网络上找了很多资料,然后修改了一下。。。。。
  • linux下如何修改进程优先级

    千次阅读 2015-06-24 17:46:36
    Linux 与其他现代操作系统一样,也可以运行多个进程。它在多个进程之间共享 CPU 和其他资源。如果一个进程占用了 100% 的 CPU,那么其他进程将无法响应。 如果运行 top 命令,默认将按照 CPU 使用量的降序显示进程...
  • 在Android中修改进程nice值

    千次阅读 2012-05-08 10:01:34
    命令: renice [nice] -g [pid] [nice]是要修改的nice值,范围从-20--19,值越小,优先级越高。Android默认都是0。 [pid]进程的process id。
  • 进程,是对正在运行的程序的一个抽象。 进程 进程由三部分组成 程序段 相关的数据段 PCB ——进程控制块,即 PCB(Process Control Block) CPU由一个进程快速切换至另一个进程,使得每个进程运行几十或几...
  • 修改任意Linux进程地址空间实施代码注入

    千次阅读 多人点赞 2020-09-16 23:44:29
    正如读写/dev/mem可以手工完成crash+gdb的功能hack内核一样,每一个用户态进程也有一个mem文件,即 /proc/$pid/mem 。 我不敢保证每一个系统该文件都可写,但一旦它可写就好玩了。 /proc/$pid/mem文件抽象的一个...
  • 找出Java进程ID pid的几种方法

    千次阅读 2017-02-27 06:44:02
    拿到进程ID pid能做些什么呢?暴力的杀掉它,比如:kill -9 123, taskkill /PID 123, 123也就是你要kill的pid。使用 jinfo:...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 202,761
精华内容 81,104
关键字:

修改进程pid