LOL动态换肤原理不用过多赘述了,调用换肤CALL即可实现。
换肤CALL查找:
1.确认英雄名
随便找个英雄进入游戏,确认所选英雄英文名,我这边选的是刀妹对应的为Irelia,不知道的可以到百度百科上查![图片[1] - LOL查找换肤CALL和调用(一) - 软件调试区论坛 - 软件安全 - 孤独收藏阁 's Blog](https://attach.52pojie.cn/forum/202503/21/105207sduumbqbra2msbul.png)
2.CE 启动
CE字符串搜索Irelia 3244个结果不要怕,我们只需要看最下面的十几个地址就行。![图片[2] - LOL查找换肤CALL和调用(一) - 软件调试区论坛 - 软件安全 - 孤独收藏阁 's Blog](https://attach.52pojie.cn/forum/202503/21/105455iuc1rcuutacarsvr.png)
选择第一个,查看什么访问了这个地址,计数为6,Irelia 的长度也为6那么这个可能就是我们要找的地址![图片[3] - LOL查找换肤CALL和调用(一) - 软件调试区论坛 - 软件安全 - 孤独收藏阁 's Blog](https://attach.52pojie.cn/forum/202503/21/105945ziv5y9i5ly25ix9k.png)
进入汇编,这里就是对 Irelia 每个字符的确认,确认完成之后就是换肤了![图片[4] - LOL查找换肤CALL和调用(一) - 软件调试区论坛 - 软件安全 - 孤独收藏阁 's Blog](https://attach.52pojie.cn/forum/202503/21/110428t7trm1p6525nthn5.png)
那么下面的CALL就是换肤CALL了
一共5个参数:
—————–
r8: 换肤ID
rax:1416BA198
r9: 0
rdx: 人物名称
rcx:人物地址
——————
换肤 call 14028c190
有了这些地址就能调用了![图片[5] - LOL查找换肤CALL和调用(一) - 软件调试区论坛 - 软件安全 - 孤独收藏阁 's Blog](https://attach.52pojie.cn/forum/202503/21/110830bk9z3vuj8d2c7h90.png)
以下是deepseek写的CALL代码
[C++] 纯文本查看 复制代码
|
1
2
3
4
5
6
|
//通用CALLtypedef uintptr_t(__stdcall* UniversalCall_t)(uintptr_t, uintptr_t, uintptr_t, uintptr_t, uintptr_t);uintptr_t UniversalCall(uintptr_t functionAddress, uintptr_t arg1, uintptr_t arg2, uintptr_t arg3, uintptr_t arg4, uintptr_t arg5) { UniversalCall_t callFunction = (UniversalCall_t)functionAddress; return callFunction(arg1, arg2, arg3, arg4, arg5);} |
调用
[Asm] 纯文本查看 复制代码
|
1
|
UniversalCall(MODELFUNC,Read64(PLAYERBASE), Read64(PLAYERBASE)+ NAMEOFFERST,SKINID,0,RAX) |
我用的是劫持dll的方式,工具:AheadLib , 劫持DLL名称:version.dll

没有回复内容