手游安全学习笔记

本文详细介绍了手游安全方面的知识,包括手游的构成、静态修改、动态篡改逻辑、游戏协议篡改、外挂技术如注入、hook、内存修改等,并探讨了反调试技术和游戏漏洞类型,如文本校验、弹框、强制交互、收费特权等风险。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

学习网站:https://gslab.qq.com

一些tips:

查看游戏进程中的内存信息一般只需要查看/proc/pid/maps就可以了
dnspy修改旅行青蛙里面的一个属性,net程序的反编译神器
apktool反编译,直接修改smali代码,然后同apktool进行打包,签名
IDA一旦选择binary file方式加载文件,则需要用户手动填写要加载的段的地址和相对偏移,用这种方式加载文件时,IDA不会自动分析代码,用户根据自己的需求自行反汇编二进制代码
apk文件采用zip压缩算法,可直接解压

游戏的本地验证逻辑越多,就会越致命

 

一些基础知识:

硬件断点:硬断点需要硬件寄存器提供支持,断点的数目受Embedded ICE中的Watchpoint数目的限制,但是可以在任何地方设置断点。
软件断点:软件断点通过在运行起来的程序中设置特征值实现,其数目不受限制,但是一般情况下软件断点只能在可写的存储器的地址中设置(比如:RAM),而不能在ROM(比如:Flash)中设置。 
因为修改的是程序的代码,所以内存断点很容易被程序自身检测到。而硬件断点则很难被发现。
dll注入:apc注入,hook注入,createremotethread,NtCreateThreadEx(利用内核级的函数)
手拖:esp定律(程序调用必须将esp入栈,函数调用结束要将esp弹栈,将esp压栈的位置下上硬件断点,然后再次返回时就是弹栈的操作,弹栈之后壳的操作就结束了,下面的就是用户代码)
1.单步跟踪法
宗旨:向上的跳转不让实现,向下的跳转实现,当发现大跨度跳转时,即会到OEP
2.ESP定律法
遵循堆栈平衡原理,在壳对程序进行操作加密或者压缩时,会把程序的OEP压入栈中,当壳执行完成后,进行解密或者解压缩,会把真正的OEP从栈中弹出
3.2次内存镜像法
在壳进行解密或解压缩时,最后释放的是资源区段:.rsrc,这个区段被释放完全后,说明整个程序已经被全部解密
操作方法:
载入OllyDbg,ALT+M打开内存窗口,找到第一个资源区段,下断点,Shift+F9或运行,再到内存窗口找到地址为401000的代码区段下断,运行,单步结合单步跟踪法找到OEP

 

一些基本的概念:

手游包括:代码(逻辑),资源(图片,声音)和数据配置(装备属性,战斗属性,商品属性ÿ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值