自分の夢を追う--------補助制作第三十三課:倉庫にN個の物品を預ける対象アセンブリ実現コード

2705 ワード

	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, nbData
					mov DWORD ptr[ecx + 0x12], 0x3B9ACA65
					mov WORD ptr[ecx+0x1a] ,2
					mov DWORD ptr[ecx + 0x2a], 0x0B65E0FD
					mov DWORD ptr[ecx + 0x2a + 4], 0x0BF007A8
					mov DWORD ptr[ecx + 0x32], 0x3B9ACA65
					mov DWORD ptr[ecx + 0x3a], 0x000000B2
					mov BYTE ptr[ecx + 0x43],	0x00
					push 0x86			
					push ecx
					MOV ECX, DWORD PTR DS : [0xF34880]
					mov eax, 0x004A9AE0
					CALL eax
				}

その中で使用するデータは前回の授業で分析したデータで、これらのデータは手動で抽出したもので、具体的なパラメータは以下の通りです.

          
+2A   :(8  ) db [[      ]+410+ 4*1]+54
16F9BDD4  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]+1f4

0X31BB524        




   ( )
+4C  4     3B9ACA65                  
+54  8  0B65E0FD 0BF007A8                       
+c44 4    000000B2
+1f4 1    00

00 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);次の授業に残って完成しました.次の授業では、上のデータのパッケージを実現し、データの操作を便利にし、コードの可読性を高めるために、構造体のパッケージを完成します.具体的な実現は次の授業に残して完成した.