外挂技术移动物品到仓库代码编写
移动物品函数封装
作业:
提取仓库列表基址的特征码,添回仓库列表基址更新代码。
BOOL MoveGoodToDepot(char*szpGoodsName);//把背包里的指定物品 移动到仓库里边
#define Base_DepotList 0x31C9A24 //仓库列表基址 dd [ [0x31C9A24]+410+4*0]
#define BaseCAll_MoveGoods 0x007A0A20 //移动物品CALL
//在背包列表 结构里添加下列成员函数
BOOL SelGoods(DWORD ndIndex);//选中背包里的某一格
BOOL MoveGoodsToDepot(DWORD ndIndex=1);//移动选中物品到仓库的某一格
//物品移动CALL
//前提 先选中物品
//把背包里的物品 移动到仓库
mov ebx,4 //下标
mov EDI,dword ptr ds:[Base_BackPackList] //背包基址
MOV EAX,DWORD PTR DS:[EDI+EBX*4+0x410]
MOV ECX,DWORD PTR DS:[BaseSelGoodSkill]
MOV DWORD PTR DS:[ECX+0x228],EAX
MOV EDX,DWORD PTR DS:[BaseSelGoodSkill]
MOV BYTE PTR DS:[EDX+0x230],0x1
MOV EAX,DWORD PTR DS:[BaseSelGoodSkill]
MOV ECX,DWORD PTR DS:[EAX+0x228]
MOV DX,WORD PTR DS:[EDI+0x1608]
MOV WORD PTR DS:[ECX+0x1F2],DX
MOV EDI,DWORD PTR DS:[Base_DepotList] //仓库列表基址
MOV ECX,DWORD PTR DS:[EDI+0x1608] //列表分类编号
MOV EDX,DWORD PTR DS:[EDI+0x1BD0]
push 1
push ecx
push edx
mov ecx,edi
mov eax,BaseCAll_MoveGoods
CALL eax
DWORD TBACKPACK_LIST::SelGoods(DWORD ndIndex) //选中背包里的某一格
{
DWORD ndObj=NULL;
__try
{
__asm
{
mov ebx,ndIndex //下标
mov EDI,dword ptr ds:[Base_BackPackList] //背包基址
MOV EAX,DWORD PTR DS:[EDI+EBX*4+0x410]
mov ndObj,eax//取出对象
MOV ECX,DWORD PTR DS:[BaseSelGoodSkill]
MOV DWORD PTR DS:[ECX+0x228],EAX
MOV EDX,DWORD PTR DS:[BaseSelGoodSkill]
MOV BYTE PTR DS:[EDX+0x230],0x1
MOV EAX,DWORD PTR DS:[BaseSelGoodSkill]
MOV ECX,DWORD PTR DS:[EAX+0x228]
MOV DX,WORD PTR DS:[EDI+0x1608]
MOV WORD PTR DS:[ECX+0x1F2],DX
}
}__except(1)
{
DbgPrintf_Mine("异常 BOOL TBACKPACK_LIST::SelGoods(DWORD ndIndex) //选中背包里的某一格\r\n");
return NULL;
}
return ndObj;
}
BOOL TBACKPACK_LIST::MoveGoodsToDepot(DWORD ndIndex) //移动选中物品到仓库的某一格
{
__try
{
__asm
{
MOV EDI,DWORD PTR DS:[Base_DepotList] //仓库列表基址
MOV ECX,DWORD PTR DS:[EDI+0x1608] //列表分类编号
MOV EDX,DWORD PTR DS:[EDI+0x1BD0]
mov eax,ndIndex
push 1
push ecx
push edx
mov ecx,edi
mov eax,BaseCAll_MoveGoods
CALL eax
}
}__except(1)
{
DbgPrintf_Mine("异常 TBACKPACK_LIST::MoveGoodsToDepot(DWORD ndIndex=1) //移动选中物品到仓库的某一格\r\n");
return FALSE;
}
return TRUE;
}
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。