二刷python:文件操作与内存,逆向

#文件处理与内存,逆向外挂

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#语言都是用来干嘛
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值