Python 实现植物大战僵尸阳光修改
本帖最后由 Eorton 于 2019-3-27 12:43 编辑初来乍到,还请各位大佬多多包涵!
好,首先引用老师的帖子植物大战僵尸之无限阳光
https://www.52pojie.cn/thread-864385-1-1.html
(出处: 吾爱破解论坛)
目的是找到阳光的基址
首先我们打开植物大战僵尸,我们看到是50阳光值
接下来,因为我们跳过了找基址的那个步骤了,我们已经基址了,直接上基址
阳光偏移地址PlantsVsZombies.exe+2AA00C
004537CE - int 3
004537CF - int 3
004537D0 - cmp dword ptr ,00
004537D7 - jne PlantsVsZombies.exe+537DC
004537D9 - xor al,al
0041BA72 - jg PlantsVsZombies.exe+1BA80
0041BA74 - sub esi,ebx
0041BA76 - mov ,esi
0041BA7C - mov al,01
0041BA7E - pop esi
众所周知,阳光值地址是:
第二级指针
第一级指针 = [第二级指针 + 0x768]
阳光地址 = [第一级指针 + 0x5560]
不懂的话下面详细用CE演示下就明白
我们完成赋值后,出现真实阳光数值,证明我们已经找到真实地址了
记录下地址,点OK,我们这边算得地址是 0X16E4E838
完事,基本没CE什么事了,可以out了
然后,我们开始pypypypy ????你们想什么,我说的是Python!
开撸!
# 导入一些API必须库from win32gui import *
# from win32com import *
# from win32con import *
from win32api import *
# import ctypes
from ctypes import *
from win32process import *
# import struct
# 最高权限附加进程
PROCESS_ALL_ACCESS=(0x000F0000|0x00100000|0xFFF)
kernel32 = windll.LoadLibrary("kernel32.dll")
window_handle = FindWindow(None,"植物大战僵尸中文版")
process_id_read = GetWindowThreadProcessId(window_handle)
process_handles = OpenProcess(0x1F0FFF,False,process_id_read)
# 阳光值内存修改
written = c_int(0)
sun = 9999
kernel32.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怎么实现的,谢谢!
4个基质 5560 768 我都能背到了 {:1_925:} liphily 发表于 2019-3-27 17:01
你这种修改的是绝对地址,写好的程序到别的电脑上不一定能用。
还是基址+偏移才有通用性,这是操作系统的 ...
是的,我只是实现而已,前面我也说过还不会怎么写偏移,所以还请你看完再回答 楼主,厉害,学习了。 历害了,我也要学 alicc 发表于 2019-3-27 00:20
4个基质 5560 768 我都能背到了
是可以背,但是照顾一些小白嘛。。。。。莫挨我! Eorton 发表于 2019-3-27 00:22
是可以背,但是照顾一些小白嘛。。。。。莫挨我!
哇。怎么晚居然回复了 {:1_901:} alicc 发表于 2019-3-27 00:23
哇。怎么晚居然回复了
都是电脑手机离不了身的人,除非不想回复而已 楼主 厉害啊 谢谢楼主分享 学习了