python批量修改寄存器的值(python 批量更改文件名)

本文目录一览:

python怎么修改某个内存地址的数据

使用ctypes模块调用WriteProcessMemory函数,在创建程序进程后,就可以修改该程序指定内存地址。WriteProcessMemory的函数原型如下所示。

BOOL WriteProcessMemory(

HANDLE     hProcess,

LPVOID     lpBaseAddress,

LPCVOID    lpBuffer,

SIZE_T     nSize,

SIZE_T*    lpNumberOfBytesWritten

);

其参数含义如下。

·     hProcess:要写内存的进程句柄。

·     lpBaseAddress:要写的内存起始地址。

·     lpBuffer:写入值的地址。

·     nSize:写入值的大小。

·     lpNumberOfBytesWritten   :实际写入的大小。

python代码示例如下:

from ctypes import *

# 定义_PROCESS_INFORMATION结构体

   class _PROCESS_INFORMATION(Structure):     

       _fields_ = [(‘hProcess’, c_void_p),

                     (‘hThread’, c_void_p),

                     (‘dwProcessId’, c_ulong),

                     (‘dwThreadId’, c_ulong)]

   # 定义_STARTUPINFO结构体

   class _STARTUPINFO(Structure):

       _fields_ = [(‘cb’,c_ulong),

                     (‘lpReserved’, c_char_p),

                     (‘lpDesktop’, c_char_p),

                     (‘lpTitle’, c_char_p),

                     (‘dwX’, c_ulong),

                     (‘dwY’, c_ulong),

                     (‘dwXSize’, c_ulong),

                     (‘dwYSize’, c_ulong),

                     (‘dwXCountChars’, c_ulong),

                     (‘dwYCountChars’, c_ulong),

                     (‘dwFillAttribute’, c_ulong),

                     (‘dwFlags’, c_ulong),

                     (‘wShowWindow’, c_ushort),

                     (‘cbReserved2’, c_ushort),

                     (‘lpReserved2’, c_char_p),

                     (‘hStdInput’, c_ulong),

                     (‘hStdOutput’, c_ulong),

                     (‘hStdError’, c_ulong)]

   NORMAL_PRIORITY_CLASS = 0x00000020              # 定义NORMAL_PRIORITY_CLASS

   kernel32 = windll.LoadLibrary(“kernel32.dll”)       # 加载kernel32.dll

   CreateProcess = kernel32.CreateProcessA         # 获得CreateProcess函数地址

   ReadProcessMemory = kernel32.ReadProcessMemory # 获得ReadProcessMemory函数地址

   WriteProcessMemory = kernel32.WriteProcessMemory    # 获得WriteProcessMemory函数地址

   TerminateProcess = kernel32.TerminateProcess

   # 声明结构体

   ProcessInfo = _PROCESS_INFORMATION()

   StartupInfo = _STARTUPINFO()

   file = ‘ModifyMe.exe’                           # 要进行修改的文件

   address = 0x0040103c                                # 要修改的内存地址

   buffer = c_char_p(“_”)                          # 缓冲区地址

   bytesRead = c_ulong(0)                          # 读入的字节数

   bufferSize = len(buffer.value)                  # 缓冲区大小

   # 创建进程

   if CreateProcess(file, 0, 0, 0, 0, NORMAL_PRIORITY_CLASS, 0, 0, byref(StartupInfo), byref(ProcessInfo)):

       # 读取要修改的内存地址,以判断是否是要修改的文件

       if ReadProcessMemory(ProcessInfo.hProcess, address, buffer, bufferSize, byref(bytesRead)):

           if buffer.value == ‘\x74’:

               buffer.value = ‘\x75’                  # 修改缓冲区内的值,将其写入内存

               # 修改内存

               if WriteProcessMemory(ProcessInfo.hProcess, address, buffer, bufferSize, byref(bytesRead)):

                   print ‘成功改写内存!’

               else:

                   print ‘写内存错误!’

           else:

               print ‘打开了错误的文件!’

              TerminateProcess(ProcessInfo.hProcess,0)   # 如果不是要修改的文件,则终止进程

       else:

           print ‘读内存错误!’

   else:

       print ‘不能创建进程!’

python控件批量赋值

test1,test2控件是在Test列表里面?是要把每个控件的变量设置文本的内容?即exec(“self.ui.test1.setText(“test1″)”)和(“self.ui.test2.setText(“test2″)”)??如果是这样的话可以使用这样写

for i in range(len(Test)):

exec(“self.ui.%s.setText(‘%s’)”%(Test[i],Test[i]))

或者不用索引

for i in Test:

exec(“self.ui.%s.setText(‘%s’)”%(i,i))

希望有帮助。。。。

python中怎么批量修改字典中values值

for dic_key in dic:

dic[dic_key] = dataframe的values值

就是一个拿出字典的Value赋值的过程。入门级的哟。

原创文章,作者:PRBOP,如若转载,请注明出处:https://www.506064.com/n/130135.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
PRBOPPRBOP
上一篇 2024-10-03 23:27
下一篇 2024-10-03 23:27

相关推荐

  • Python中引入上一级目录中函数

    Python中经常需要调用其他文件夹中的模块或函数,其中一个常见的操作是引入上一级目录中的函数。在此,我们将从多个角度详细解释如何在Python中引入上一级目录的函数。 一、加入环…

    编程 2025-04-29
  • Python列表中负数的个数

    Python列表是一个有序的集合,可以存储多个不同类型的元素。而负数是指小于0的整数。在Python列表中,我们想要找到负数的个数,可以通过以下几个方面进行实现。 一、使用循环遍历…

    编程 2025-04-29
  • 如何查看Anaconda中Python路径

    对Anaconda中Python路径即conda环境的查看进行详细的阐述。 一、使用命令行查看 1、在Windows系统中,可以使用命令提示符(cmd)或者Anaconda Pro…

    编程 2025-04-29
  • Python周杰伦代码用法介绍

    本文将从多个方面对Python周杰伦代码进行详细的阐述。 一、代码介绍 from urllib.request import urlopen from bs4 import Bea…

    编程 2025-04-29
  • Python计算阳历日期对应周几

    本文介绍如何通过Python计算任意阳历日期对应周几。 一、获取日期 获取日期可以通过Python内置的模块datetime实现,示例代码如下: from datetime imp…

    编程 2025-04-29
  • Python字典去重复工具

    使用Python语言编写字典去重复工具,可帮助用户快速去重复。 一、字典去重复工具的需求 在使用Python编写程序时,我们经常需要处理数据文件,其中包含了大量的重复数据。为了方便…

    编程 2025-04-29
  • Python程序需要编译才能执行

    Python 被广泛应用于数据分析、人工智能、科学计算等领域,它的灵活性和简单易学的性质使得越来越多的人喜欢使用 Python 进行编程。然而,在 Python 中程序执行的方式不…

    编程 2025-04-29
  • 蝴蝶优化算法Python版

    蝴蝶优化算法是一种基于仿生学的优化算法,模仿自然界中的蝴蝶进行搜索。它可以应用于多个领域的优化问题,包括数学优化、工程问题、机器学习等。本文将从多个方面对蝴蝶优化算法Python版…

    编程 2025-04-29
  • Python清华镜像下载

    Python清华镜像是一个高质量的Python开发资源镜像站,提供了Python及其相关的开发工具、框架和文档的下载服务。本文将从以下几个方面对Python清华镜像下载进行详细的阐…

    编程 2025-04-29
  • python强行终止程序快捷键

    本文将从多个方面对python强行终止程序快捷键进行详细阐述,并提供相应代码示例。 一、Ctrl+C快捷键 Ctrl+C快捷键是在终端中经常用来强行终止运行的程序。当你在终端中运行…

    编程 2025-04-29

发表回复

登录后才能评论