精华内容
下载资源
问答
  • windows启动jar的黑窗口名称与进程名称修改命令
    千次阅读
    2020-05-18 18:38:30
    @echo off
    title jenkins-%date%-%time%-%cd%
    echo 修改进程的影像名称
    copy "%JAVA_HOME%\bin\javaw.exe" "%JAVA_HOME%\bin\java-jenkins.exe"
    java-jenkins -jar D:\jenkins\war\jenkins.war --ajp13Port=-1 --httpPort=7000 > jenkins.log
    
    更多相关内容
  • WIN下 修改,伪装进程路径。支持XP,WIN7 WIN764
  • python修改进程名

    千次阅读 2020-12-09 19:25:09
    一般情况下,我们直接启动python程序后使用ps查看,显示的结果为pyton xxx.py,web类应用使用netstat或ss查看显示为python。...setproctitle.setproctitle("进程别名") 导入模块,在程序的入口设置就好了。 .

    一般情况下,我们直接启动python程序后使用ps查看,显示的结果为pyton xxx.py,web类应用使用netstat或ss查看显示为python。 太不个性,太一般,很普通,也不太好管理。 我们可以借助第三方库setproctitle来解决这个问题。

    这次是使用top查看后台进程,发现有些Python进程总是关不掉,如果按照Python名去关闭,又容易误关其他软件,所以想给自己的代码进程命名,根据自己命名去关闭进程。

    一、安装

    pip install setproctitle

    或者下载源码安装。

    二、使用

    import setproctitle
    setproctitle.setproctitle("进程别名")

    导入模块,在程序的入口设置就好了,程序的入口可以是import那部分,在入口或是开启新进程的文件import部分加入上面代码。

    展开全文
  • SuperPid修改进程PID工具界面是VB些的,底层驱动是C语言写的。作者提供源代码,可惜源代码要180元....如今先拿他的成品软件用用 。还有次工具 别名为 "SP伪装进程"。说白了和 他之前的SuperHide差不多,只是SuperPid...
  • 修改Windows系统单进程使用的内存上限,例:某程序调用内存因WINDOWS系统上限为2G,为使该程序完全的使用4GB内存,可以通过文档中的方法修改
  • 如何修改java程序的进程名把javaw.exe改名 同样的,你把java.exe改名,比如改成 myjava.exe 启动程序的时候 myjava your_class 这样进程就是myjava那些已经犯过的错误,有一些是因为来不及,有一些是因为刻意躲避,...

    如何修改java程序的进程名

    把javaw.exe改名 同样的,你把java.exe改名,比如改成 myjava.exe 启动程序的时候 myjava your_class 这样进程就是myjava那些已经犯过的错误,有一些是因为来不及,有一些是因为刻意躲避,更多的时候是茫然地站到了一边。小编们就这样错了一次又一次,却从不晓得从中汲取教训,做一些反省。

    更改java运行时进程的名字你会不会觉得别人都不懂你没有人给过你想要的关心。

    linux中java启动进程时设置不同的进程名在linux,java启动两个jar获得的进程名相同,为了避免kill其中一个进程好像不行,不过你可以带个无用的参数,这么杀的时候,判一下命令的参数也就是了。

    如何改java程序的进程名?

    运行一个java程序的时候,control+alt+del可以看见进程为javaw.exe,可javaw.exe是虚拟机的进程 java中没有进程的概念,都是线程。

    java怎么获取任务管理器中的应用程序名称。不是进就像这个,怎么知道哪个应用程序正在运行?遇见是两个人的事,离开却是一个人的决定,遇见是一个开始,离开却是为了遇见下一个离开。这是一个流行离开的世界,但是小编们都不擅长告别。

    Runtime.getRuntime().exec("tasklist /v");//显示了所有的程序详细信息,其中包括窗口标题等其他信息高考分数出来后,当同学都在感叹你的分数时,你能非常有底气的说一句你都不知道小编有多努力!”

    小编想把qora弄成小编自己想要的名字 这能实现吗 别人说meta inf里面有 小编看这程序大不,要是不大的话,你把它发到网盘上(或者在百度Hi上发给小编),小编帮你找。 另外,这个程序的标题完全是可以写在java代码里的。在初始化这个程序窗口的时候,即new JFrame("xxx"),这个xxx就是程序窗口标题栏的字,人家完全可以写死。

    如何修改JAVA游戏(程序)的名称

    JAVA游戏多半是英文名或缩写名称,游戏安装一多,有时就会分不清了。经网上几位好友的帮助指导,发现用WINRAR可以对JAVA安装程序进行改名。小编的电脑系统是WINXP(其它系统没试过),软件是WINRAR3.51。双击JAR文件,打开解压窗口。

    如何用Java关闭一个进程

    解决这个问题,要看这个进程是java程序自定义的进程,还是操作系统的进程,操作系统的进程,又可以分为windows进程和Linux进程 一、针对操作系统的进程: 1,首先java用户,要具有操作进程的权限 2. 针对windows操作系统的进程。

    展开全文
  • windows平台下的进程内存修改

    千次阅读 2016-07-25 00:44:03
    介绍如何实现windows平台下修改其他进程的地址空间

    Windows内存修改

    你可能用过金山游侠,GameMaster8,Cheat Engine,那你有没有想过自己实现一个简易的内存修改工具?本文将介绍在Windows平台下实现一个简易内存修改工具的方法,只要你有一些windows内存管理机制的基本知识以及一定的c++编程能力,你就可以利用本文介绍的Windows内存管理API自己实现一个简易的内存修改工具。
    本文将先介绍Windows的相关API,然后介绍下利用其实现内存修改工具的思路,最后介绍一个自己在windows api基础上封装的API(以下称内存管理及修改API或内存修改API),包括各API函数的说明以及如何通过对这套API的简单调用实现内存修改。
    关于内存管理API以及简易的演示程序,代码较长,感兴趣的朋友可去https://github.com/jimth001/Windows-Memory-Modification.git 查看。

    相关的windows API

    1) GetSystemInfo

    用来填充SYSTEM_INFO结构体信息,函数原型如下:

    
    voidWINAPI GetSystemInfo(_Out_ LPSYSTEM_INFO lpSystemInfo)

    lpSystemInfo:指向一个供函数返回信息的SYSTEM_INFO结构体。SYSTEM_INFO定义如下:

    typedefstruct _SYSTEM_INFO {
    
    union {
    
    DWORD dwOemId;// Obsoletefield...do not use
    
    struct {
    
           WORD wProcessorArchitecture;//处理器架构
    
    WORD wReserved;
    
    } DUMMYSTRUCTNAME;
    
    } DUMMYUNIONNAME;
    
    DWORD dwPageSize;//分页大小
    
    LPVOID lpMinimumApplicationAddress;//最小寻址空间
    
    LPVOID lpMaximumApplicationAddress;//最大寻址空间
    
    DWORD_PTR dwActiveProcessorMask;//处理器掩码
    
    DWORD dwNumberOfProcessors;//处理器数目
    
    DWORD dwProcessorType;//处理器类型
    
    DWORD dwAllocationGranularity;//虚拟内存空间的粒度
    
    WORD wProcessorLevel;//处理器等级
    
    WORD wProcessorRevision;//处理器版本
    
    } SYSTEM_INFO, *LPSYSTEM_INFO;

    2) GetPerformanceInfo

    用来填充PERFORMANCE_INFORMATION结构体信息,用法类似于GetSystemInfo,比GetSystemInfo多一个参数,第二个参数是结构体的大小

    PERFORMANCE_INFORMATION结构体定义如下:

    typedef struct _PERFORMANCE_INFORMATION {
    
    DWORD  cb;//该结构体大小,调用GetPerformanceInfo前要先将其初始化
    
    SIZE_T CommitTotal;// 系统当前提交的页面总数
    
    SIZE_T CommitLimit;// 系统可提交的页面总数
    
    SIZE_T CommitPeak;// 系统历史提交页面峰值
    
    SIZE_T PhysicalTotal;// 按页分配的总的物理内存
    
    SIZE_T PhysicalAvailable;// 系统当前提交的页面总数
    
    SIZE_T SystemCache;
    
    SIZE_T KernelTotal;
    
    SIZE_T KernelPaged;
    
    SIZE_T KernelNonpaged;
    
    SIZE_T PageSize;// The size of a page, in bytes.
    
    DWORD  HandleCount;// The current number of open //handles.
    
    DWORD ProcessCount;//
    
    DWORD ThreadCount;//
    
    }PERFORMANCE_INFORMATION, *PPERFORMANCE_INFORMATION;

    3) CreateToolhelp32Snapshot

    CreateToolhelp32Snapshot可以通过获取进程信息为指定的进程、进程使用的堆[HEAP]、模块[MODULE]、线程建立一个快照。

    函数原型如下:

    HANDLE WINAPI CreateToolhelp32Snapshot(DWORD dwFlags, //用来指定“快照”中需要返回的对象,可以是TH32CS_SNAPPROCESS(在快照中包含系统中所有的进程)等

    DWORD th32ProcessID //一个进程ID号,用来指定要获取哪一个进程的快照,当获取系统进程列表或获取 当前进程快照时可以设为0

    );

    调用成功,返回快照的句柄,否则返回INVALID_HANDLE_VALUE

    4) Process32First

    process32First是一个进程获取函数,当我们利用函数CreateToolhelp32Snapshot()获得当前运行进程的快照后,我们可以利用process32First函数来获得第一个进程的句柄。

    函数原型如下:

    
    BOOL WINAPI Process32First(
    
    HANDLE hSnapshot,//_in(in表示该参数是导入数据的)
    
    LPPROCESSENTRY32 lppe//_out(out表示该参数是导出数据的)
    
    //是指向PROCESSENTRY32结构的指针
    
    );

    PROCESSENTRY32 结构定义如下:

    typedef struct tagPROCESSENTRY32 {
    
    DWORD dwSize; // 结构大小;
    
    DWORD cntUsage; // 此进程的引用计数;
    
    DWORD th32ProcessID; // 进程ID;
    
    DWORD th32DefaultHeapID; // 进程默认堆ID;
    
    DWORD th32ModuleID; // 进程模块ID;
    
    DWORD cntThreads; // 此进程开启的线程计数;
    
    DWORD th32ParentProcessID;// 父进程ID;
    
    LONG pcPriClassBase; // 线程优先权;
    
    DWORD dwFlags; // 保留;
    
    WCHAR szExeFile[MAX_PATH]; // 进程全名;
    
    } PROCESSENTRY32;

    5) Process32Next

    Process32Next是一个进程获取函数,当我们利用函数CreateToolhelp32Snapshot()获得当前运行进程的快照后,我们可以利用Process32Next函数来获得下一个进程的句柄。

    函数原型如下:

    Process32Next(Handle hsnapShot,LPPROCESSENTRY32 lppe)

    若成功获取了下一个进程的信息则返回TRUE,与CreateToolhelp32Snapshot,Process32First搭配使用,用来枚举当前系统快照相关的所有进程。

    6) GetProcessMemoryInfo

    用于获取指定进程的内存使用情况。

    函数原型如下:

    GetProcessMemoryInfo(
    
    HANDLE Process,
    
    PPROCESS_MEMORY_COUNTERS ppsmemCounters,
    
    DWORD cb
    
    );

    Process是获取内存使用情况的进程句柄。

    ppsmemCounters是返回内存使用情况的结构。

    cb是结构的大小。

    PPROCESS_MEMORY_COUNTERS结构定义如下:

    
    typedef struct _PROCESS_MEMORY_COUNTERS{
    
       DWORD  cb;
    
       DWORD  PageFaultCount;//缺页中断次数.
    
       SIZE_T PeakWorkingSetSize;//使用内存峰值(峰值工作集)
    
       SIZE_T WorkingSetSize;//当前使用内存(当前工作集)
    
       SIZE_T QuotaPeakPagedPoolUsage;// 使用页面缓存池高峰
    
       SIZE_T QuotaPagedPoolUsage;//当前使用页面缓存池
    
    SIZE_T QuotaPeakNonPagedPoolUsage;// 使用非分页缓存池高//峰
    
       SIZE_T QuotaNonPagedPoolUsage;// 使用非分页缓存池
    
       SIZE_T PagefileUsage;// 使用分页文件
    
       SIZE_T PeakPagefileUsage;// 使用分页文件高峰
    
    } PROCESS_MEMORY_COUNTERS,*PPROCESS_MEMORY_COUNTERS;

    7) OpenProcess

    OpenProcess 函数用来打开一个已存在的进程对象,并返回进程的句柄。

    函数原型如下:

    HANDLE OpenProcess(
    
    DWORD dwDesiredAccess, //期望得到的访问权限(标志)
    
    BOOL bInheritHandle, // 是否继承句柄
    
    DWORD dwProcessId// 进程标识符
    
    ); 

    如成功,返回值为指定进程的句柄。

    如失败,返回值为空,可调用GetLastError获得错误代码。

    8) VirtualQueryEx

    用来查询地址空间中内存地址的信息。

    DWORD VirtualQueryEx(
    
    HANDLE hProcess,
    
    LPCVOID lpAddress,
    
    PMEMORY_BASIC_INFORMATION lpBuffer,
    
    DWORD dwLength
    
    );

    参数说明如下:

    hProcess 进程句柄。

    lpAddress 查询内存的地址。

    lpBuffer 指向MEMORY_BASIC_INFORMATION结构的指针,用于接收内存信息。

    dwLength MEMORY_BASIC_INFORMATION结构的大小。

    返回值:函数写入lpBuffer的字节数,如果不等于sizeof(MEMORY_BASIC_INFORMATION)表示失败

    MEMORY_BASIC_INFORMATION定义如下:

    
    typedef struct _MEMORY_BASIC_INFORMATION {
    
    PVOID  BaseAddress;// 与lpAddress参数的值相同,但是四舍五入为页面的边界值。
    
    PVOID  AllocationBase;// 指明用VirtualAlloc函数分配内存区域的基地址。lpAddress在该区域之内。
    
    DWORD  AllocationProtect;//区域被初次保留时赋予的保护属性
    
    SIZE_T RegionSize;// 用于指明内存块从基地址即BaseAddress开始的所有页面的大小(以字节为计量单位)这些页面与含有用LpAddress参数设定的地址的页面拥有相同的保护属性、状态和类型。
    
    DWORD State;//页面的状态,有三种可能值://MEM_COMMIT、MEM_FREE和MEM_RESERVE,
    
    //committed:已在物理介质上存在
    
    //free:空闲的,不可访问,可分配的。
    
    //reserved:预留的
    
    DWORD  Protect;//页面的属性,其可能的取值与//AllocationProtect相同
    
    DWORD  Type;//该内存块的类型,有三种可能值://MEM_IMAGE、MEM_MAPPED和MEM_PRIVATE
    
    } MEMORY_BASIC_INFORMATION,*PMEMORY_BASIC_INFORMATION;

    9) ReadProcessMemory

    读取指定进程私有地址空间中指定地址的数据。

    函数原型如下:

    
    BOOL ReadProcessMemory(
    
    HANDLE hProcess,// [in]远程进程句柄。被读取者,若为//INVALID_HANDLE_VALUE,则目标进程为自身进程
    
    PVOID pvAddressRemote,// [in]远程进程中的内存地址。从何处读取
    
    PVOIDpvBufferLocal, // [out]本地进程中内存地址. 函数将读取的//内容写入此处
    
    DWORD dwSize, // [in]要传送的字节数。要写入多少
    
    PDWORDpdwNumBytesRead//[out]实际传送的字节数. 函数返回时报告//实际写入多少
    
    );

    10) WriteProcessMemory

    将数据写到指定进程的指定地址。

    函数原型和参数说明基本同ReadProcessMemory,只是数据流向不同。

    11) VirtualAllocEx

    VirtualAllocEx函数的作用是在指定进程的虚拟空间保留或提交内存区域,除非指定MEM_RESET参数,否则将该内存区域置0。

    函数原型如下:

    
    LPVOID VirtualAllocEx(
    
    HANDLE hProcess,// 申请内存所在进程的句柄
    
    LPVOIDlpAddress,// 保留页面的内存地址;一般用NULL自//动分配 。
    
    SIZE_TdwSize,// 欲分配的内存大小,字节单位;注意实际//分配的内存大小是页内存大小的整数倍
    
    DWORD flAllocationType,//
    
    DWORD flProtect//
    
    );

    执行成功就返回分配内存的首地址,否则返回NULL。

    12) VirtualFreeEx

    在其他进程中释放申请的虚拟内存空间。

    
    BOOL WINAPI VirtualFreeEx(
    
    HANDLEhProcess,// 目标进程的句柄。该句柄必须拥有//PROCESS_VM_OPERATION 权限。
    
    LPVOIDlpAddress,//指向要释放的虚拟内存空间首地址的指//针。如果 dwFreeType 为 MEM_RELEASE, 则该参数必须为//VirtualAllocEx的返回值
    
    SIZE_T dwSize,// 虚拟内存空间的字节数。
    
    //如果 dwFreeType 为MEM_RELEASE,则 dwSize 必须为0 . //按 VirtualAllocEx审请时的大小全部释放。
    
    //如果dwFreeType 为MEM_DECOMMIT, 则释放从lpAddress //开始的一个或多个字节 ,即 lpAddress +dwSize
    
    DWORDdwFreeType
    
    );

    返回值:

    成功:为非0值(零)。

    失败:为0(零)。可调用GetLastError获取失败的消息。

    13) GetModuleFileNameEx

    获取指定进程已加载模块的文件的完整路径

    
    DWORD WINAPI GetModuleFileNameEx(
    
     _In_   HANDLE  hProcess,//指定进程的句柄
    
     _In_opt_ HMODULE  hModule,// 要处理的模块
    
      _Out_   LPTSTR  lpFilename,// 指向接收到模块的完全限定路//径null结尾的缓冲区。如果文件名的大小比n大小参数的值越大,//文件名被截断
    
     _In_   DWORD   nSize//nSize是这个缓冲区的大小,用于防止溢出
    
    );

    如果函数成功,返回值指定复制到缓冲区中的字符串的长度。如果函数失败,返回值是零。若想获得更多的错误信息,调用GetLastError。

    14) VirtualProtectEx

    
    BOOL WINAPI VirtualProtectEx(
    
     _In_  HANDLE hProcess,
    
     _In_  LPVOID lpAddress,
    
     _In_  SIZE_T dwSize,
    
     _In_  DWORD  flNewProtect,
    
      _Out_PDWORD lpflOldProtect
    
    );

    内存修改实现的基本原理:

    在权限足够的情况下,打开想要修改的进程,我们可以获得其私有地址空间所有内存块的信息,然后进行筛选作为搜索的候选块。首次搜索时,使用ReadProcessMemory读取这些候选块,根据选择的内存对齐原则进行遍历,把读取到的数据转化为搜索类型,比对是否一致,若一致,将其地址信息记录在相应的数据结构中(search_info)。当想要搜索的数据变动后,再次搜索,这时只按照search_info记录的地址进行读取,这样就能逐渐搜索出想要找的变量。若确定了想要找的变量,将想要写入的值转换为字符串(本项目中使用unsigned char*),使用WriteProcessMemory写入,这样就完成了修改。

    内存管理及修改API(made by myself)说明:

    1) 获取机器分页大小

     DWORD  WINAPI getSystemPageSize();

    2) 提升权限

     BOOL WINAPIEnablePrivileges();

    3) 获取进程列表

    /* OUTvector<PROCESS_MEMORY_COUNTERS>&
     OUTvector<PROCESSENTRY32>&
     return string描述进程信息*/
     string  WINAPIgetProcessList(vector<PROCESS_MEMORY_COUNTERS>& vct_pmc,vector<PROCESSENTRY32>& vct_pe32);

    4) 首次搜索

    /*
     vector<MEMORY_BASIC_INFORMATION>memInfo,筛选出的待搜索块
    
     search_info&v_s_rslt,保存搜索结果的数据结构
    
     HANDLE handle,进程句柄
    
     DWORD s_type,搜索类型,支持FLOAT_T INT_TDOUBLE_T STRING_T
    
     DWORD pagesize,系统页面大小
    
     char* charexpval,要搜索的STRING_T值
    
     int *intexpval,要搜索的INT_T值
    
     float*floatexpval,要搜索的FLOAT_T值
    
     double*doubleexpval要搜索的DOUBLE_T值
    
     */
    
     BOOL WINAPIsearchAll(vector<MEMORY_BASIC_INFORMATION> memInfo, search_info&v_s_rslt, HANDLE handle, DWORD s_type, DWORD pagesize, char* charexpval,int *intexpval, float *floatexpval, double *doubleexpval);

    5) 附加到进程(打开进程)

    /*
     DWORD IN pid,要打开的进程
    
     DWORD OUT hProcess成功后返回的进程句柄
    
     */
    
     BOOL WINAPIattachToProcess(DWORD Pid, HANDLE & hProcess);

    6) 按属性筛选要搜索的内存块

    /*
    HANDLE INhProcess 进程句柄
    
    vector OUTmemInfo 保存内存块信息的数据
    
    vector<MEMORY_BASIC_INFORMATION>
    
    DWORD INstateFilter 按state类型过滤内存块
    
    DWORD IN typeFilter 按type类型过滤内存块
    
    DWORD IN protectFilter 按protect类型过滤内存块
    
    */
    
    BOOL WINAPI getProcessMemBlockEX(HANDLE hProcess, 
    
    vector<MEMORY_BASIC_INFORMATION>& memInfo,DWORD stateFilter, DWORD 
    
    typeFilter, DWORD protectFilter, DWORD* memSize);

    7) 申请一块虚存区

    /*
     int size,申请的虚存大小
    
     HANDLE handle进程句柄
    
     */
    
     LPVOID WINAPI AllocVirtual(intsize, HANDLE handle);

    8) 释放虚存区

    /*
     LPVOID Buffer,释放的虚地址指针
    
     HANDLE handle进程句柄
    
     */
    
     BOOL WINAPIFreeVirtual(LPVOID Buffer, HANDLE handle);

    9) 再次搜索

    /*
     HANDLE hProcess,//进程句柄
    
     search_info &v_s_rslt,//保存上次搜索信息的数据结构
    
     LPVOIDexpected_val//新的搜索值,对字符串传入char*而不是string *
    
     */
    
    BOOL WINAPI nextScan(HANDLE hProcess,search_info & v_s_rslt, LPVOID 
    
    expected_val);

    10) 将数据写入指定线性地址

    /*
    HANDLEhProcess,//要写入的进程
    
    LPVOID address,//要写入的地址
    
    void * write_val,//要写入的变量指针,只能是string,int,double,
    
    float四种
    
    DWORD valType,//写入的变量类型,可选值见头文件宏定义
    
    int stringAppendZeroNUM,//字符串后追加的字符数量
    
    char endSet//字符串后追加字符,内存中string和char结尾不同
    
    */
    
    BOOL WINAPI writeData(HANDLE hProcess, LPVOID address,void * 
    
    write_val, DWORD valType, int stringAppendZeroNUM,charendSet);

    11) 设置mylasterror的函数

     voidmySetLastError(DWORD e);

    12) 内部的error code函数,通过此获取错误类型,头文件有错误类型定义

     DWORDmyGetLastError();

    13) 必要的初始化函数,必须先初始化,目前只有检查对齐类型操作

     voidinit_for_mem_manage();

    14) 检查机器内存对齐类型

     voidcheck_mem_align_scheme();

    15) 获取内存使用的系统信息

    string WINAPI getSystemInfo_toString();

    16) 获取内存性能使用相关信息

    string WINAPI getPerformanceInfo_toString();

    17) 获取进程私有地址空间信息

    string WINAPI processInfoToString(PROCESSENTRY32 pe, PROCESS_MEMORY_COUNTERS*pmc);

    内存修改API相关数据结构的定义:

    typedef struct search_result_i{
    
       LPCVOIDbaseAddress;//基址
    
       DWORDoffset;//偏移量
    
       inti_val;//内存中的值
    
    }search_i_list;
    
    typedef struct search_result_d{
    
       LPCVOIDbaseAddress;
    
       DWORDoffset;
    
       doubled_val;
    
    }search_d_list;
    
    typedef struct search_result_f{
    
       LPCVOIDbaseAddress;
    
       DWORDoffset;
    
       floatf_val;
    
    }search_f_list;
    
    typedef struct search_result_s{
    
       LPCVOIDbaseAddress;
    
       DWORDoffset;
    
       strings_val;
    
    }search_s_list;
    
    typedef struct search_info{
    
       DWORDs_type;//搜索类型
    
       vector<struct search_result_i> i_list;//int搜索结果
    
       vector<struct search_result_d> d_list;//double搜索结果
    
       vector<struct search_result_f> f_list;//float搜索结果
    
       vector<struct search_result_s> s_list;//字符串搜索结果
    
       inti_exp;//搜索值
    
       doubled_exp; //搜索值
    
       floatf_exp; //搜索值
    
       strings_exp; //搜索值
    
    }search_info;//保存搜索信息的数据结构

    内存修改API调用的基本流程:

    EnablePrivileges提权

    init_for_mem_manage必要的初始化工作,目前只是判断大小端机器

    getSystemPageSize获取系统页大小,后面做参数

    getProcessList获取进程列表

    用户输入pid

    attachToProcess附加到指定进程

    getProcessMemBlockEX获取指定state,type,protect属性的内存块,

    后面搜索只会在这些块里搜

    用户选择类型和搜索值

    searchAll首次搜索,结果保存在struct search_info

    再次输入

    nextScan再次搜索

    当确认搜索到想要的数据时,根据其地址使用writeData进行修改。

    展开全文
  • 1、在jdk的安装路径中/jkd/bin中将javaw.exe复制一个,改名jar对应的进程名(想改啥就该啥) 2、在jar同级目录下创建一个run.bar的文件,内容如下: @echo off start [修改后的javaw名称] -jar [jar的全名称] ...
  • Windows下通过进程名称获取进程pid

    千次阅读 2020-09-29 17:04:55
    例如,通过devenv.exe找到进程id号为14376 在msdn查到api接口为: DWORD GetProcessId( HANDLE Process ); 需要传入一个HANDLE,那问题又来了,怎样获得这个HANDLE呢? 网上找了很久的答案,最后在stack ...
  • windows守护进程代码编写模版。 只需要套用此代码,简单修改,即可实现对特定程序的守护。 具体修改方法见我的博客。
  • 最近一直忙于Opencv图像处理方面的学习,以及工作,没有更新C/C++专栏方面的博客了,所以今天就给大家写个应用层方面的编程代码,可用于参考学习,本篇博客将运用WindowsSDK库所提供的API来编写一个修改其他进程里...
  • C#修改Windows时间

    2017-10-05 15:00:14
    C#调用Windows API获取和修改本地/系统时间,C#提升进程修改时间权限
  • windows服务守护进程

    千次阅读 2020-04-29 13:55:29
    windows服务守护进程为什么选择用服务来守护进程注册服务双服务互相守护服务启动进程并保活启动进程进程保活 最近做一个项目, 保护我们云电脑中的计费程序等应用程序、脚本,不被用户结束。 综合各种方案,最终选择...
  • 操作系统课设之Windows 进程管理

    千次阅读 2021-06-28 17:15:27
    操作系统课程设计 Windows进程管理 C创建进程
  • 问题:windows修改服务名称

    千次阅读 2020-07-29 13:56:28
    问题:windows修改服务名称-2020-7-29 以修改mysql为例 一、打开注册表 cmd命令行收入regedit 或者win10直接在左下 输入注册表 二、注册表路径 计算机\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services 三、...
  • 与一些UNIX变体不同,Windows中的大多数资源没有编译到操作系统中的固定上限,而是根据我已经介绍过的基本操作系统资源来推测它们的临界值。例如,进程和线程需要物理内存,虚拟内存,内存池。所以可以创建的进程或...
  • C++实现修改当前进程的名称

    千次阅读 2018-02-07 18:05:59
    本人参考了别人的代码,实现了修改进程的名称: 直接编译运行查看就行了 #include #include #include #include extern char** environ; void my_initproctitle(char* argv[], char** last); void my_...
  • 在 CMD 里根据进程名杀掉进程

    千次阅读 2020-06-30 09:59:12
    在 CMD 里根据进程名杀掉进程 - walterlv 在 PowerShell 里根据进程名杀掉进程 - walterlv 本文内容taskkill 命令 taskkill 命令 taskkill /f /t /im chrome.exe /f 表示强制终止进程。如果不指定,那么 taskkill ...
  • 操作系统出现:windows进程rundll32已停止工作 这种出错的提示,一般是在Windows7操作系统之中,可能会有很多种原因导致的,所以还需要逐一排查,解决之。这是一个很少见的问题,开机后,会弹出一个提示框,提示...
  • Windows进程父子关系小实验

    千次阅读 2017-08-30 16:30:48
    Windows进程A创建了另一个进程B,那么进程A就是进程B的父进程,B就是A的子进程。   在每一个进程的内存数据结构中,只保存了其父进程的Pid(Parent ProcessId),即使父进程被关闭了,这个存储父进程Pid的字段...
  • 进程内存修改

    千次阅读 2019-09-03 23:17:13
    设计一个为MemChange的应用程序,让它修改Test.exe进程里面的内容。 每个进程占用的内存空间是离散的,所以要访问进程内存种的一个值,就需要遍历整个64K---2G的地址空间。 难点1.MemChange如何访问Test的进程...
  • windows进程监控内存及数据可视化

    千次阅读 2019-06-04 17:03:06
    一、windows监控进程 目的:在windows下监控某一个进程5天的内存使用,查看是否有内存泄露 实现:考虑过各种工具,最后选择批处理实现 代码: 代码实现监控redis进程,每隔1分钟将tasklist查到的...
  • Windows创建进程

    千次阅读 2017-06-04 17:59:55
    16位的应用程序是以DOS虚拟机或Win32上的Windows(WOW) 为进程的方式运行。 lpCommandLine: 指向一个NULL结尾的、用来指定要运行的命令行。 这个参数可以为空,那么函数将使用参数指定的字符串当作要运行的...
  • Windows和Linux进程与线程的区别

    千次阅读 2018-08-28 17:14:25
    对于windows来说,进程和线程的概念都是有着明确定义的,进程的概念对应于一个程序的运行实例(instance),而线程则是程序代码执行的最小单元。也就是说windows对于进程和线程的定义是与经典OS课程中所教授的进程、...
  • 创建子进程:本实验显示了创建子进程的基本框架。该程序只是再一次地启动自身,显示它的系统进程 ID和它在进程列表中的位置。 步骤 1:创建一个“Win32 Consol Application”工程,然后可复制下面中的程序,编译成...
  • 在 PowerShell 里根据进程名杀掉进程

    千次阅读 2020-06-30 10:02:29
    在 CMD 里根据进程名杀掉进程 - walterlv 在 PowerShell 里根据进程名杀掉进程 - walterlv 本文内容Stop-Process / killtaskkill 命令其他间接玩法Process.Kill Stop-Process / kill PowerShell 脚本 Stop-Process ...
  • 修改(调整)本进程权限

    千次阅读 2018-11-12 09:25:20
    Windows中的普通进程是有一定权限的,想要做一些超出权限的事情,就要提权。比如关机: #include &lt;stdio.h&gt; #include &lt;Windows.h&gt; int main() { HANDLE hToken; TOKEN_PRIVILEGES...
  • Windows进程管理

    千次阅读 2018-05-30 22:59:16
    (2)通过创建进程、观察正在运行的进程和终止进程的程序设计和调试操作,进一步熟悉操作系统的进程概念,理解 Windows 进程的“一生”。 (3)通过阅读和分析实验程序,学习创建进程、观察进程、终止进程以及父子...
  • Windows进程通信API总结

    万次阅读 多人点赞 2015-08-30 20:16:25
    在一个大型的应用系统中,往往需要多个进程相互协作,进程间通信(IPC,Inter Process Communication)就显得比较重要了。在Linux系统中,有很多种IPC机制,比如说,信号(signal)、管道(pipe)、消息队列(message queue)...
  • window,tomcat部署程序后 怎么查看tomcat占用端口是否启动 怎么查看程序的监听端口 怎么杀掉进程 怎么修改tomcat启动内存 怎么修改tomcat进度名称

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 330,930
精华内容 132,372
关键字:

windows修改进程名