自分の夢を追う--------補助制作第三十三課:倉庫に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);次の授業に残って完成しました.次の授業では、上のデータのパッケージを実現し、データの操作を便利にし、コードの可読性を高めるために、構造体のパッケージを完成します.具体的な実現は次の授業に残して完成した.