- UID
- 96313
- 帖子
- 413
- 积分
- 2209
- 阅读权限
- 50
- 注册时间
- 2009-1-4
- 最后登录
- 2014-6-29
- 在线时间
- 502 小时
|
顺便再给出一段星际联网时可以地图全开的代码(1.08版本):
//16进制字符串转数字并写入指定地址
void write_ma(DWORD addr,char *ma)
{
__asm
{
PUSH EAX;
PUSH EBX;
PUSH ECX;
PUSH EDX;
PUSH ESI;
MOV DL,16;
MOV EBX,DWORD PTR DS:[ma];
MOV ESI,addr;
CALL Write;
POP ESI;
POP EDX;
POP ECX;
POP EBX;
POP EAX;
JMP OVER;
Write:
XOR EAX,EAX;
XOR ECX,ECX;
CALL GetAnsi;
MUL DL;
MOV CL,AL;
INC EBX;
CALL GetAnsi;
OR AL,CL;
MOV BYTE PTR DS:[ESI],AL;
INC EBX;
INC ESI;
MOV AL,BYTE PTR DS:[EBX];
CMP AL,0;
JNZ Write;
RET;
GetAnsi:
MOV AL,BYTE PTR DS:[EBX];
CMP AL,57;
JA ZiMu;
SUB AL,48;
L1:
RET;
ZiMu:
SUB AL,55;
JMP L1;
OVER:
}
}
//按F12地图全开
==============================================
if(VK_F12 == wParam && 1 == ((lParam>>30) & 1))
{
//游戏屏幕上显示“Open Map”
DWORD addr = 0x0046DE10;
char *buf = "Open Map";
__asm
{
xor edx,edx;
mov ecx,buf;
call addr;
}
//开地图的代码
write_ma(0x00404BA8,"7500");
write_ma(0x00410C81,"BDFFFFFFFF");
write_ma(0x00414046,"7400");
write_ma(0x0046EA70,"909090909090");
write_ma(0x0046EA7D,"EB29");
write_ma(0x0046EA98,"7500");
write_ma(0x0046F7EE,"310578A16500850500A86500750AFF0D90A6650090909090");
write_ma(0x0046F815,"7400");
write_ma(0x0046FA6B,"310578A16500850500A86500750AFF0D90A6650090909090");
write_ma(0x0046FA92,"7400");
write_ma(0x00470F2B,"7400");
write_ma(0x00470F43,"EB04");
write_ma(0x00470F4B,"EB09");
write_ma(0x00471067,"7400");
write_ma(0x0047107F,"EB04");
write_ma(0x00471087,"EB09");
write_ma(0x004C9541,"0F8400000000");
}
} |
|