#文件处理与内存,逆向外挂
https://www.runoob.com/python/python-100-examples.html
##上节回顾
理论化 --> 知道有这几个东西即可
递归 – 在函数中,通过自己调用自己解决特定的问题.递归是能够结束的函数
迭代器 – 把一个有很多数据的容器整理好,把里面的数据有序的进行使用
生成器 – 自定义的迭代器,主要作用是用来制定规则,生成数据
##计算机三大核心硬件 – 跟编程有关
cpu,内存,硬盘
cpu -- 相当于人类的大脑,负责处理电脑里的指令
内存 -- 也像人类的大脑,负责想东西,装东西
硬盘 -- 相当于笔记本,负责记录一些东西
type() --> 1.写到笔记里 2.看到笔记的时候就在脑子里产生这个印象 3.脑子再进一步思考,type的含义
程序的运行顺序: 硬盘 --> 内存 --> cpu
1.程序的数据是保存在硬盘里
2.运行程序时,就把数据加载到内存中
3.cpu再从内存中,把数据取出来一条条来分析处理
##文件操作(file)
用python代码来操作电脑里的文件(txt,exe,word,xlsx,jpg,mp3,html) --> 文本/图片/音频 --> 文本
我想把大象,塞到冰箱里,一共要几步?
打开冰箱 放大象 关冰箱
文件操作三要素:
1.打开文件
2.操作文件
3.关闭文件
文件的操作模式:
w: write 写入数据,如果文件里有数据,会覆盖
a: append 追加数据,如果文件里有数据,不覆盖而是追加在后面
r: read 读取数据,获取文件里的内容
文件的数据类型:
t: text 文本数据,文件操作默认就是文本数据
b: byte 以字节码的方式来操作数据 --> 目前还不需要使用,后续网络编程/爬虫时会用
wb: 以字节码的方式写入数据
wt: 以文本的方式写入数据
rb: 以字节码的方式获取数据
文件操作的基本语法:
打开文件:
f = open(文件路径\文件名,操作模式,字符编码) # 如果没写文件路径,默认就是在当前文件夹
f = open('70.txt','w',encoding='utf-8')
f是作为文件对象.名字不是固定的,但是一般叫f
操作文件:
读:
f.read() #读取所有数据
f.readline() # 一行行的读取数据
print(f.read())
写:
f.write(数据)
f.write('多喝热水')
关闭文件:
f.close()
f.closed --> 文件是否已经关闭 True关闭 False没关闭
f.writable() --> 判断文件是否可写
f.readable() --> 判断文件是否可读
语法糖:上下文管理器 with
为了避免没关闭文件导致内存泄露,有种更推荐的写法.叫with open.这种写法会运行完自动关闭程序
with open(文件路径\文件名,操作模式,字符编码) as f
文件操作代码
with open('1.txt','w',encoding='utf-8') as f:
f.write('我用了上下文管理器,用完了会自动关闭')
with open会自动帮我们关闭文件.
as --> 取个小名
用文件操作,创建10个文件.名字为1 - 10.txt
##绝对路径和相对路径
文件路径 --> 文件存储的位置
绝对路径 = 完整的路径,可以从头开始找到文件
生活中: 广东省广州市天河区联合社区西区1栋2楼
电脑中: D:\software\steam\steamapps\common\FateSeeker
相对路径 = 简短的路径,有个参考对象
生活中: 我家楼下 (我家)
电脑中: 文件在同一个文件夹时. 直接写文件名
##拓展博客
http://c.biancheng.net/python/file
需要拓展,可以自己翻下这个帖子
##游戏外挂实战 – 绑架七零(单机挂)
编程源自于生活 – 搞懂了生活,学编程事半功倍
有个人叫七零.住在一家酒店里面.要去绑架他.该怎么办!!!
准备作案计划
0.准备作案工具 --> 准备外挂工具
1.踩点 --> 七零所在的酒店 --> 找到游戏程序
2.深入踩点 --> 七零所住的房间 --> 找到游戏数据
3.提升权限 --> 灌醉,打晕,伪装,色诱,下药 --> 提升权限
4.为所欲为 --> 此处省略800字 --> 修改数据
外挂 --> cheatengine --> CE可以用来查询/修改内存数据的工具
修改操作可以只用程序实现
但是我希望大家能够理解的是基于代码到底做了什么
通过工具找到数据, 修改数据的操作用python来做
0x28119FA8
金钱本来是7000. 搜索值为7000的数据
花了100.还剩6900. 再搜索有哪个数据, 本来是7000,现在是6900. 大概率就是金钱数据
不止单机/游戏. 很多程序,网游也可以用这个改
以前的杀鸡
百度网盘试用加速
并不是提倡大家用外挂.技术分享
单机游戏你随意
网游最好不用外挂
不同的编程语言都有不同的优缺点,特点
python的优点:
简单易学,兼容性比较好(python可以结合C/java/C#/go)
缺点:
性能比较差,不能直接操作内存
用python是写不了内存挂 --> 不能操作内存
为什么会给大家讲这个:
1.补充趣味性 --> 学习后端是比较枯燥,见效期慢
2.拓展知识面 --> windows编程(C++)
不要忘记学习,在学习深度的同时也可以拓展宽度
正向开发:
一个程序从无到有过程 --> 企划 --> 设计开发 --> 上线
一行行敲代码
逆向开发(外挂,破解,网络安全):
对一个做好的程序,进行破解,还原复刻源代码.并对源代码/数据进行修改
多了解点windows编程底层的内容
下次分享复习课:
主流语言技术栈 -->
java,C++,python,golang,c#语言都是用来干嘛