惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Engineering at Meta
Engineering at Meta
博客园_首页
H
Help Net Security
WordPress大学
WordPress大学
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
罗磊的独立博客
博客园 - 三生石上(FineUI控件)
B
Blog
I
InfoQ
SecWiki News
SecWiki News
T
Tailwind CSS Blog
Spread Privacy
Spread Privacy
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
V
Vulnerabilities – Threatpost
N
Netflix TechBlog - Medium
P
Palo Alto Networks Blog
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Vercel News
Vercel News
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
K
Kaspersky official blog
M
MIT News - Artificial intelligence
S
Schneier on Security
T
Threat Research - Cisco Blogs
F
Fortinet All Blogs
Cyberwarzone
Cyberwarzone
Scott Helme
Scott Helme
aimingoo的专栏
aimingoo的专栏
Martin Fowler
Martin Fowler
MyScale Blog
MyScale Blog
The Cloudflare Blog
Recent Announcements
Recent Announcements
Security Latest
Security Latest
G
GRAHAM CLULEY
IT之家
IT之家
Y
Y Combinator Blog
The Last Watchdog
The Last Watchdog
腾讯CDC
Google DeepMind News
Google DeepMind News
V
V2EX
S
Securelist
TaoSecurity Blog
TaoSecurity Blog
B
Blog RSS Feed
S
SegmentFault 最新的问题
博客园 - 叶小钗
P
Proofpoint News Feed
云风的 BLOG
云风的 BLOG
Project Zero
Project Zero
G
Google Developers Blog
Google DeepMind News
Google DeepMind News
F
Full Disclosure

博客园 - jasonM

真是郁闷,团队中居然出了这样的骗子!! C++反汇编揭秘1 – 一个简单C++程序反汇编解析 函数调用堆栈变化分析 - jasonM - 博客园 为什么要下断bpSend,原理分析。 一步步学外挂(二).CALL的原理。 - jasonM - 博客园 开发企业直销软件需求分析 开发旺旺群发软件,难点及重要技术点分析(一) 正则表达式系列文章整理 群发软件开发原理分析 通俗解释socket(并附上注释Socket源代码) CMainFrame::PreCreateWindow这个函数执行了两次 .net调用vc++写的dll 一步步学破解-sdk用实例讲解GDI映射机制 一步步学破解-sdk用实例讲解GDI(含各个消息的调用时机) 一步步学破解-sdk进程间传递信息 一步步学破解-在已有的主窗口上创建按钮(三) 一步步学破解-windows消息循环原理实例总结(二) 一步步学破解-函数调用堆栈变化分析 (一) 老王最新壳试脱时遇到的问题,详细表述如下
做挂第一步:如何找基址(以热血传奇为例)
jasonM · 2010-01-16 · via 博客园 - jasonM

如何找热血传奇基址?

一.首先打开游戏并使用CE加载游戏进度。

二.在数值中输入血量值207,点击新的扫描,扫描类型选择精确数值,如图所示:

为什么要输入207呢?这是指游戏中人物的当前血量,游戏中的任何数据都对应一个内存地址,所以此处我们可以找到血量207的内存地址。可以发现搜索出了一大堆,但是到底哪一个是我们需要的血值呢?所以我们还得构造一个条件,以方便准备的搜出血值。请看第三步

3.进入游戏,打打怪,然后故意让怪物打几下,这样自身的血量会减少,然后在CE中,扫描类型选择:减少的数值,当然在血值恢复缓慢的情况下,也可选择精确值。大家活用即可。如下图所示:

(3).看上图,如果数值为207的地址为绿色的,一般为基址。否则需要双击,然后按右键点 查找写入该地址的代码,此时如果人物的血正在恢复中,那么在弹出的框框中会出现代码;如果框框中没有出现代码,请回到游戏中,让怪物打几下,如图:

请读者自己思考:为什么要点查找写入该地址的代码,如果此处点击查找读取该地址的代码是否可行?如果大家把这个关健点想清楚原理了,以后就不怕了

(4).双击两项中的任意一项,出现更多信息,如图:

其中eax的值为000000c9,把它转换为10进制是201,实际上就是当前的血量。其中代码:

Mov [ebx+68],eax表示将201放到内存偏移地址为[ebx+68]的内存中,那么ebx+68这个内存地址到底是多少呢?我们仔细看ebx=01556150,下一步我们就需要根据ebx的值去搜内存地址了。

5)。在ce中选择准确值,勾选hex,输入01560650,如图:

看到绿色的内存地址了吗?5E9E20就是基址。第六步我们来测试一下

 

(6)方法:在CE中点手动添加地址,输入基址和偏移,由上面的分析可知,基址是5e9e20,血的偏移是68,所以操作如下图:

.

如果出现类似于这样的图片,代表验证成功。如图:

7)。说明:俺是新手,接触不到一个月,这是俺学习时找基址的一些理解,如果有失误的地方,请高手多多指教。下一篇,俺打算构思一下根据基址和相关偏移,做一个简单的自动打怪小挂,但怕自己做不好,不知道是否推出下一篇?

在此要感谢俺的师傅:老三,没有她,就没有俺的进步。俺的qq:1026165915,大家可以加我qq,共同进步