学习目标:
移动物品函数封装
作业:
提取仓库列表基址的特征码,添回仓库列表基址更新代码。
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;
}外挂技术移动物品到仓库代码编写
原文:http://blog.csdn.net/mc_cc1/article/details/43529277