初来乍到,还请各位大佬多多包涵!
好,首先引用老师的帖子植物大战僵尸之无限阳光
https://www.52pojie.cn/thread-864385-1-1.html
(出处: 吾爱破解论坛)
目的是找到阳光的基址
首先我们打开植物大战僵尸,我们看到是50阳光值
接下来,因为我们跳过了找基址的那个步骤了,我们已经基址了,直接上基址
[Python] 纯文本查看 复制代码阳光偏移地址PlantsVsZombies.exe+2AA00C 004537CE - int 3 004537CF - int 3 004537D0 - cmp dword ptr [eax+00000768],00004537D7 - jne PlantsVsZombies.exe+537DC004537D9 - xor al,al0041BA72 - jg PlantsVsZombies.exe+1BA800041BA74 - sub esi,ebx0041BA76 - mov [edi+00005560],esi0041BA7C - mov al,010041BA7E - pop esi众所周知,阳光值地址是:第二级指针 第一级指针 = [第二级指针 + 0x768]阳光地址 = [第一级指针 + 0x5560]不懂的话下面详细用CE演示下就明白
我们完成赋值后,出现真实阳光数值,证明我们已经找到真实地址了
记录下地址,点OK,我们这边算得地址是 0X16E4E838
完事,基本没CE什么事了,可以out了
然后,我们开始pypypypy ????你们想什么,我说的是Python!
开撸!
[Python] 纯文本查看 复制代码# 导入一些API必须库from win32gui import *# from win32com import *# from win32con import *from win32api import *# import ctypesfrom ctypes import *from win32process import *# import struct
[Python] 纯文本查看 复制代码# 最高权限附加进程PROCESS_ALL_ACCESS=(0x000F0000|0x00100000|0xFFF)kernel32 = windll.LoadLibrary("kernel32.dll")window_handle = FindWindow(None,"植物大战僵尸中文版")process_id_read = GetWindowThreadProcessId(window_handle)[1]process_handles = OpenProcess(0x1F0FFF,False,process_id_read)
[Python] 纯文本查看 复制代码# 阳光值内存修改written = c_int(0)sun = 9999kernel32.WriteProcessMemory(int(process_handles),0x16E4E838,byref(c_int(sun)),4,bytes(written))print("That is OK")
好了,我们来检验下
好了,开CE检测当然修改成功啊!我们干掉CE再来
hahahahaha修改成功了吧,本次是用Python来写的,大牛别喷我,我就一单单小白,还不会怎么在Python写偏移,谢谢大家的支持!
----------------------------------------------------------------------------------------------------------------------------------------------
回复:@循环不计次 所说的“怎么找地址很关键”
前面所说,引用前辈老师的帖子:“https://www.52pojie.cn/thread-864385-1-1.html”,所以这里不重复叙述!请移步看老师的帖子,本文是说用Python怎么实现的,谢谢!
来源:http://www.12558.net
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |