Install Steam
login
|
language
简体中文 (Simplified Chinese)
繁體中文 (Traditional Chinese)
日本語 (Japanese)
한국어 (Korean)
ไทย (Thai)
Български (Bulgarian)
Čeština (Czech)
Dansk (Danish)
Deutsch (German)
Español - España (Spanish - Spain)
Español - Latinoamérica (Spanish - Latin America)
Ελληνικά (Greek)
Français (French)
Italiano (Italian)
Bahasa Indonesia (Indonesian)
Magyar (Hungarian)
Nederlands (Dutch)
Norsk (Norwegian)
Polski (Polish)
Português (Portuguese - Portugal)
Português - Brasil (Portuguese - Brazil)
Română (Romanian)
Русский (Russian)
Suomi (Finnish)
Svenska (Swedish)
Türkçe (Turkish)
Tiếng Việt (Vietnamese)
Українська (Ukrainian)
Report a translation problem
共享代码的部分我之前看过官方视频的解答,也是用OOP的思路来讲解的,所以你说的我也一下就看明白了。其实我印象最深刻的是这句“多数情况下指令对应的机器码是固定的,不论地址怎么变你通过查找机器码便能找到对应的指令”,这大概会改变我一些逆向的习惯。不过那可能是几个月之后的事情了,感谢,以后说不定还要请教😂
需要练手的话可以用 Elderitch 这款游戏,相关变量少比较好找,数据也没加密。我当初用的就是这个还顺便实现了个传送。
Damage() {
switch(teamNum) {
case 1:
enemyHp -= playerAtk;
break;
case 2:
playerHp -= enemyAtk;
break; }
}
不过泡泡传送搞不好真是逆向推出来的。我尝试用ce获取存储player的y轴座标的内存时找到了条指令,把这条指令替换成90(nop的机器码)后,角色会像是陷入沼泽一样慢慢下沉,甚至可以穿过地板下沉到下方的场景。这个指令应该对应的是表示角色踩在泡泡上的状态的相关代码,也就是说这个指令会在update时更新角色的y轴座标(类似 if IsCollideWithBubble then player.posY+=10)。对于bug猎人而言知道这个的话自然就会去尝试利用这种状态控制角色位移了。
对这个有点兴趣,是用ghidra+ce做到的吗,还是ce+外部注入?没查到相关内容,鬼脸兄可否提供个链接或关键词