追逐自己的梦想----------辅助制作第三十三课:向仓库存入N个物品对象汇编实现代码

来源:互联网 发布:淘宝宝贝怎么插图地图 编辑:程序博客网 时间:2024/05/16 06:12
BYTE nbData[0x90] = {0x00, 0x00, 0x94, 0x00, 0x84, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x2B, 0x0C,0x17, 0x24, 0x68, 0xCA, 0x9A, 0x3B, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00,0x00, 0x00, 0x15, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3D, 0x9E, 0x64, 0xE1, 0x20, 0x05,0xB0, 0x0B, 0x68, 0xCA, 0x9A, 0x3B, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00,0x00, 0x00, 0x01, 0x06, 0x00, 0x00, 0x01, 0x00, 0x4F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,0x00, 0xAB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x27, 0x3A, 0x00, 0x00,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x1C, 0x28, 0x00, 0x00,0x00, 0x00, 0x1C, 0x29, 0x12, 0x20, 0x2D, 0x0E, 0x1A, 0x26, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };

__asm{lea ecx, nbDatamov DWORD ptr[ecx + 0x12], 0x3B9ACA65mov WORD ptr[ecx+0x1a] ,2mov DWORD ptr[ecx + 0x2a], 0x0B65E0FDmov DWORD ptr[ecx + 0x2a + 4], 0x0BF007A8mov DWORD ptr[ecx + 0x32], 0x3B9ACA65mov DWORD ptr[ecx + 0x3a], 0x000000B2mov BYTE ptr[ecx + 0x43],0x00push 0x86push ecxMOV ECX, DWORD PTR DS : [0xF34880]mov eax, 0x004A9AE0CALL eax}

其中用到的数据就是上节课分析的那些数据,这些数据是手动提取出来的,具体参数如下:

下内存写入断点 得到+2A的来源:(8字节) db [[物品背包基址]+410+ 4*1]+5416F9BDD4  FD E0 65 0B A8 07 F0 0B BD                       e??金创药(+1A的来源: (2字节) 物品数量+2A的来源:(8字节) db [[物品背包基址]+410+ 4*1]+54+3A:  物品最大上限 db [[物品背包基址]+410+ 4*1]+c44+12的来源:(4字节) db [[物品背包基址]+410+ 4*1]+4c+32的来源:(4字节) db [[物品背包基址]+410+ 4*1]+4c+43的来源:(1字节)  物品下表db [[物品背包基址]+410+ 4*1]+1f40X31BB524  背包列表基址金疮药(小)+4C  4字节   3B9ACA65                  +54  8字节0B65E0FD 0BF007A8                       +c44 4字节  000000B2+1f4 1字节  0000 00 94 00 84 00 01 00 00 00 03 00 00 00 2B 0C 17 24 65 CA 9A 3B 00 00 00 00 01 00 00 00 00 00 00 00 4D 00 00 00 00 00 00 00 FD E0 65 0B A8 07  F0 0B 65 CA 9A 3B 00 00 00 00 B6 00 00 00 00 00 00 00 01 08 00 00 01 00 4F 90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 AB 00 00 00 00 00 00 00 00 00 00 27 3A 00 00 00 00 00 00 00 00 00 00 00 00 00 0F 1C 28 00 00 00 00 1C 29 12 20 2D 0E 1A 26 00 00 00 00 00 00 雪原参 2+4C  4字节  3B9ACA6A                +54  8字节B73B0653 0B704F99                     +c44 4字节  0000001D+1f4 1字节  01 

具体的函数封装SaveGoodsToDepot(char* szpName , DWORD ndNum);就留在下节课来完成了,下节课我们将完成一个结构体的封装,用来实现上面数据的封装,并实现数据对其,以方便我们对数据的操作,增加代码的可读性等。具体实现留到下节课来完成了

0 0