AdjWang / RA2YurisRevengeTrainer

红色警戒2 尤里的复仇v1.001 内存修改器
76 stars 8 forks source link

社会主义万岁 好像失效了 #13

Closed pjy612 closed 1 year ago

pjy612 commented 1 year ago

单开社会主义万岁 好像失效了。。。

还是会被招

AdjWang commented 1 year ago

我没法复现,请把问题再描述清晰一些,包括但不限于:

pjy612 commented 1 year ago

我没法复现,请把问题再描述清晰一些,包括但不限于:

  • 其他功能是否还有效
  • 在所有场景下这个功能失效了还是仅限于特定场景
  • 从一开始就失效还是突然失效
  • 失效时具体发生了什么

就是 感觉 被尤里针对的挺痛苦的 难道是 应用版本的问题? gamemd.zip

AdjWang commented 1 year ago

我这里是正常的,能发个存档吗?

pjy612 commented 1 year ago

我不确定版本是不是一致。。。 存档我不确定是否有用。。。没刻意去存。。。数据会在存档里? 另外就是 咱之前换了 Cnc渲染 版本 结果 旧存档 好像没读出来 新开没啥问题 挺迷茫的。。。 游戏用的是 https://pan.baidu.com/s/1nIxJA8pOitu2QsX3_LLKrQ?pwd=jul2

目前把 战役又都过了一遍 兴趣减退了。。。 也许需要用原版 尤里复仇去玩? 我不清楚 这个版本里面改了啥。 但是 它能在32位下窗口化。。。

pjy612 commented 1 year ago

开遭遇战也是,往尤里里面一走 就被塔或尤里给招走了 囧。。。 还单独把代码抽到CE里面去试了试 虽然激活的。对应内存也改成功了。。。 但是 就是这个不生效 。。。另外全科技好像没看出来效果。。。

AdjWang commented 1 year ago

我用的是原版,这个版本是改过的,注入了额外的 DLL ,可能代码逻辑变了吧,具体改了什么最近没时间细研究了…… 临时的解决方案:

newmem: //this is allocated memory, you have read,write,execute access //place your code here mov eax, 0 retn 8

originalcode: push ecx push esi mov esi,ecx push edi

exit: jmp returnhere

"gamemd.exe"+DBED0: jmp newmem returnhere:

[DISABLE] //code from here till the end of the code will be used to disable the cheat dealloc(newmem) "gamemd.exe"+DBED0: push ecx push esi mov esi,ecx push edi //Alt: db 51 56 8B F1 57



另外,单位虚函数表偏移 `+3D4` 就是 capture 函数,有兴趣可以自行研究下。
运行时虚拟地址 `A8ECBC` 是当前选中单位的数组。
参考资料 https://www.cnblogs.com/viewll/p/4768880.html
pjy612 commented 1 year ago

PS. 心灵终结 版本 该功能可用