12021-05-29
昨日の日記(12021-05-29)です。 天気は晴れ。 電波は普通。
仕事のお手伝い
親の仕事のお手伝いをしました。 定植です。 疲れました。
exeファイルを読んでみる 4日目
続きをしました。
コードセクション
ついにコードセクションです! アセンブリを読めますね!
まずコードセクションの全体を見てみましょう。
Offset: 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 00000400: B8 2A 00 00 00 C3 CC CC CC CC CC CC CC CC CC CC 8*...CLLLLLLLLLL 00000410: CC CC CC CC CC CC 66 66 0F 1F 84 00 00 00 00 00 LLLLLLff........ 00000420: 48 3B 0D E1 1F 00 00 F2 75 12 48 C1 C1 10 66 F7 H;.a...ru.HAA.fw 00000430: C1 FF FF F2 75 02 F2 C3 48 C1 C9 10 E9 AB 02 00 A..ru.rCHAI.i+.. 00000440: 00 CC CC CC 40 53 48 83 EC 20 B9 01 00 00 00 E8 .LLL@SH.l.9....h 00000450: BA 0B 00 00 E8 E3 06 00 00 8B C8 E8 E4 0B 00 00 :...hc....Hhd... 00000460: E8 CB 06 00 00 8B D8 E8 08 0C 00 00 B9 01 00 00 hK....Xh....9... 00000470: 00 89 18 E8 44 04 00 00 84 C0 74 73 E8 3F 09 00 ...hD....@tsh?.. 00000480: 00 48 8D 0D 74 09 00 00 E8 DF 05 00 00 E8 A2 06 .H..t...h_...h". 00000490: 00 00 8B C8 E8 81 0B 00 00 85 C0 75 52 E8 A2 06 ...Hh.....@uRh". 000004a0: 00 00 E8 E1 06 00 00 85 C0 74 0C 48 8D 0D 7E 06 ..ha....@t.H..~. 000004b0: 00 00 E8 5D 0B 00 00 E8 9C 06 00 00 E8 97 06 00 ..h]...h....h... 000004c0: 00 E8 6A 06 00 00 8B C8 E8 9B 0B 00 00 E8 82 06 .hj....Hh....h.. 000004d0: 00 00 84 C0 74 05 E8 45 0B 00 00 E8 50 06 00 00 ...@t.hE...hP... 000004e0: E8 13 08 00 00 85 C0 75 06 48 83 C4 20 5B C3 B9 h.....@u.H.D.[C9 000004f0: 07 00 00 00 E8 B3 06 00 00 CC CC CC 48 83 EC 28 ....h3...LLLH.l( 00000500: E8 67 06 00 00 33 C0 48 83 C4 28 C3 48 83 EC 28 hg...3@H.D(CH.l( 00000510: E8 3F 08 00 00 E8 16 06 00 00 8B C8 48 83 C4 28 h?...h.....HH.D( 00000520: E9 49 0B 00 00 CC CC CC 48 89 5C 24 08 48 89 74 iI...LLLH.\$.H.t 00000530: 24 10 57 48 83 EC 30 B9 01 00 00 00 E8 2F 03 00 $.WH.l09....h/.. 00000540: 00 84 C0 0F 84 36 01 00 00 40 32 F6 40 88 74 24 ..@..6...@2v@.t$ 00000550: 20 E8 DE 02 00 00 8A D8 8B 0D 52 24 00 00 83 F9 .h^....X..R$...y 00000560: 01 0F 84 23 01 00 00 85 C9 75 4A C7 05 3B 24 00 ...#....IuJG.;$. 00000570: 00 01 00 00 00 48 8D 15 64 10 00 00 48 8D 0D 45 .....H..d...H..E 00000580: 10 00 00 E8 AA 0A 00 00 85 C0 74 0A B8 FF 00 00 ...h*....@t.8... 00000590: 00 E9 D9 00 00 00 48 8D 15 23 10 00 00 48 8D 0D .iY...H..#...H.. 000005a0: 0C 10 00 00 E8 83 0A 00 00 C7 05 FD 23 00 00 02 ....h....G.}#... 000005b0: 00 00 00 EB 08 40 B6 01 40 88 74 24 20 8A CB E8 ...k.@6.@.t$..Kh 000005c0: 1C 04 00 00 E8 CB 05 00 00 48 8B D8 48 83 38 00 ....hK...H.XH.8. 000005d0: 74 1E 48 8B C8 E8 6E 03 00 00 84 C0 74 12 45 33 t.H.Hhn....@t.E3 000005e0: C0 41 8D 50 02 33 C9 48 8B 03 FF 15 A8 0F 00 00 @A.P.3IH....(... 000005f0: E8 A7 05 00 00 48 8B D8 48 83 38 00 74 14 48 8B h'...H.XH.8.t.H. 00000600: C8 E8 42 03 00 00 84 C0 74 08 48 8B 0B E8 50 0A HhB....@t.H..hP. 00000610: 00 00 E8 0F 0A 00 00 48 8B F8 E8 31 0A 00 00 48 ..h....H.xh1...H 00000620: 8B 18 E8 23 0A 00 00 4C 8B C7 48 8B D3 8B 08 E8 ..h#...L.GH.S..h 00000630: CC FD FF FF 8B D8 E8 C5 06 00 00 84 C0 74 55 40 L}...XhE....@tU@ 00000640: 84 F6 75 05 E8 0D 0A 00 00 33 D2 B1 01 E8 B2 03 .vu.h....3R1.h2. 00000650: 00 00 8B C3 EB 19 8B D8 E8 A3 06 00 00 84 C0 74 ...Ck..Xh#....@t 00000660: 3B 80 7C 24 20 00 75 05 E8 EF 09 00 00 8B C3 48 ;.|$..u.ho....CH 00000670: 8B 5C 24 40 48 8B 74 24 48 48 83 C4 30 5F C3 B9 .\$@H.t$HH.D0_C9 00000680: 07 00 00 00 E8 23 05 00 00 90 B9 07 00 00 00 E8 ....h#....9....h 00000690: 18 05 00 00 8B CB E8 9D 09 00 00 90 8B CB E8 9B .....Kh......Kh. 000006a0: 09 00 00 90 48 83 EC 28 E8 D7 03 00 00 48 83 C4 ....H.l(hW...H.D 000006b0: 28 E9 72 FE FF FF CC CC 40 53 48 83 EC 20 48 8B (ir~..LL@SH.l.H. 000006c0: D9 33 C9 FF 15 57 0D 00 00 48 8B CB FF 15 46 0D Y3I..W...H.K..F. 000006d0: 00 00 FF 15 98 0D 00 00 48 8B C8 BA 09 04 00 C0 ........H.H:...@ 000006e0: 48 83 C4 20 5B 48 FF 25 7C 0D 00 00 48 89 4C 24 H.D.[H.%|...H.L$ 000006f0: 08 48 83 EC 38 B9 17 00 00 00 E8 93 09 00 00 85 .H.l89....h..... 00000700: C0 74 07 B9 02 00 00 00 CD 29 48 8D 0D CF 1D 00 @t.9....M)H..O.. 00000710: 00 E8 AA 00 00 00 48 8B 44 24 38 48 89 05 B6 1E .h*...H.D$8H..6. 00000720: 00 00 48 8D 44 24 38 48 83 C0 08 48 89 05 46 1E ..H.D$8H.@.H..F. 00000730: 00 00 48 8B 05 9F 1E 00 00 48 89 05 10 1D 00 00 ..H......H...... 00000740: 48 8B 44 24 40 48 89 05 14 1E 00 00 C7 05 EA 1C H.D$@H......G.j. 00000750: 00 00 09 04 00 C0 C7 05 E4 1C 00 00 01 00 00 00 .....@G.d....... 00000760: C7 05 EE 1C 00 00 01 00 00 00 B8 08 00 00 00 48 G.n.......8....H 00000770: 6B C0 00 48 8D 0D E6 1C 00 00 48 C7 04 01 02 00 k@.H..f...HG.... 00000780: 00 00 B8 08 00 00 00 48 6B C0 00 48 8B 0D 76 1C ..8....Hk@.H..v. 00000790: 00 00 48 89 4C 04 20 B8 08 00 00 00 48 6B C0 01 ..H.L..8....Hk@. 000007a0: 48 8B 0D 59 1C 00 00 48 89 4C 04 20 48 8D 0D 5D H..Y...H.L..H..] 000007b0: 0E 00 00 E8 00 FF FF FF 48 83 C4 38 C3 CC CC CC ...h....H.D8CLLL 000007c0: 40 53 56 57 48 83 EC 40 48 8B D9 FF 15 77 0C 00 @SVWH.l@H.Y..w.. 000007d0: 00 48 8B B3 F8 00 00 00 33 FF 45 33 C0 48 8D 54 .H.3x...3.E3@H.T 000007e0: 24 60 48 8B CE FF 15 1D 0C 00 00 48 85 C0 74 39 $`H.N......H.@t9 000007f0: 48 83 64 24 38 00 48 8D 4C 24 68 48 8B 54 24 60 H.d$8.H.L$hH.T$` 00000800: 4C 8B C8 48 89 4C 24 30 4C 8B C6 48 8D 4C 24 70 L.HH.L$0L.FH.L$p 00000810: 48 89 4C 24 28 33 C9 48 89 5C 24 20 FF 15 EE 0B H.L$(3IH.\$...n. 00000820: 00 00 FF C7 83 FF 02 7C B1 48 83 C4 40 5F 5E 5B ...G...|1H.D@_^[ 00000830: C3 CC CC CC 48 83 EC 28 E8 9F 07 00 00 85 C0 74 CLLLH.l(h.....@t 00000840: 21 65 48 8B 04 25 30 00 00 00 48 8B 48 08 EB 05 !eH..%0...H.H.k. 00000850: 48 3B C8 74 14 33 C0 F0 48 0F B1 0D 58 21 00 00 H;Ht.3@pH.1.X!.. 00000860: 75 EE 32 C0 48 83 C4 28 C3 B0 01 EB F7 CC CC CC un2@H.D(C0.kwLLL 00000870: 40 53 48 83 EC 20 0F B6 05 43 21 00 00 85 C9 BB @SH.l..6.C!...I; 00000880: 01 00 00 00 0F 44 C3 88 05 33 21 00 00 E8 A6 05 .....DC..3!..h&. 00000890: 00 00 E8 BD 02 00 00 84 C0 75 04 32 C0 EB 14 E8 ..h=....@u.2@k.h 000008a0: B0 02 00 00 84 C0 75 09 33 C9 E8 A5 02 00 00 EB 0....@u.3Ih%...k 000008b0: EA 8A C3 48 83 C4 20 5B C3 CC CC CC 40 53 48 83 j.CH.D.[CLLL@SH. 000008c0: EC 20 80 3D F8 20 00 00 00 8B D9 75 67 83 F9 01 l..=x.....Yug.y. 000008d0: 77 6A E8 05 07 00 00 85 C0 74 28 85 DB 75 24 48 wjh.....@t(.[u$H 000008e0: 8D 0D E2 20 00 00 E8 8F 07 00 00 85 C0 75 10 48 ..b...h.....@u.H 000008f0: 8D 0D EA 20 00 00 E8 7F 07 00 00 85 C0 74 2E 32 ..j...h.....@t.2 00000900: C0 EB 33 66 0F 6F 05 15 0D 00 00 48 83 C8 FF F3 @k3f.o.....H.H.s 00000910: 0F 7F 05 B1 20 00 00 48 89 05 BA 20 00 00 F3 0F ...1...H..:...s. 00000920: 7F 05 BA 20 00 00 48 89 05 C3 20 00 00 C6 05 8D ..:...H..C...F.. 00000930: 20 00 00 01 B0 01 48 83 C4 20 5B C3 B9 05 00 00 ....0.H.D.[C9... 00000940: 00 E8 66 02 00 00 CC CC 48 83 EC 18 4C 8B C1 B8 .hf...LLH.l.L.A8 00000950: 4D 5A 00 00 66 39 05 A5 EA FF FF 75 78 48 63 0D MZ..f9.%j..uxHc. 00000960: D8 EA FF FF 48 8D 15 95 EA FF FF 48 03 CA 81 39 Xj..H...j..H.J.9 00000970: 50 45 00 00 75 5F B8 0B 02 00 00 66 39 41 18 75 PE..u_8....f9A.u 00000980: 54 4C 2B C2 0F B7 41 14 48 8D 51 18 48 03 D0 0F TL+B.7A.H.Q.H.P. 00000990: B7 41 06 48 8D 0C 80 4C 8D 0C CA 48 89 14 24 49 7A.H...L..JH..$I 000009a0: 3B D1 74 18 8B 4A 0C 4C 3B C1 72 0A 8B 42 08 03 ;Qt..J.L;Ar..B.. 000009b0: C1 4C 3B C0 72 08 48 83 C2 28 EB DF 33 D2 48 85 AL;@r.H.B(k_3RH. 000009c0: D2 75 04 32 C0 EB 14 83 7A 24 00 7D 04 32 C0 EB Ru.2@k..z$.}.2@k 000009d0: 0A B0 01 EB 06 32 C0 EB 02 32 C0 48 83 C4 18 C3 .0.k.2@k.2@H.D.C 000009e0: 40 53 48 83 EC 20 8A D9 E8 EF 05 00 00 33 D2 85 @SH.l..Yho...3R. 000009f0: C0 74 0B 84 DB 75 07 48 87 15 BA 1F 00 00 48 83 @t..[u.H..:...H. 00000a00: C4 20 5B C3 40 53 48 83 EC 20 80 3D AF 1F 00 00 D.[C@SH.l..=/... 00000a10: 00 8A D9 74 04 84 D2 75 0C E8 36 01 00 00 8A CB ..Yt..Ru.h6....K 00000a20: E8 2F 01 00 00 B0 01 48 83 C4 20 5B C3 CC CC CC h/...0.H.D.[CLLL 00000a30: 40 53 48 83 EC 20 48 83 3D 8A 1F 00 00 FF 48 8B @SH.l.H.=.....H. 00000a40: D9 75 07 E8 3E 06 00 00 EB 0F 48 8B D3 48 8D 0D Yu.h>...k.H.SH.. 00000a50: 74 1F 00 00 E8 27 06 00 00 33 D2 85 C0 48 0F 44 t...h'...3R.@H.D 00000a60: D3 48 8B C2 48 83 C4 20 5B C3 CC CC 48 83 EC 28 SH.BH.D.[CLLH.l( 00000a70: E8 BB FF FF FF 48 F7 D8 1B C0 F7 D8 FF C8 48 83 h;...HwX.@wX.HH. 00000a80: C4 28 C3 CC 48 89 5C 24 20 55 48 8B EC 48 83 EC D(CLH.\$.UH.lH.l 00000a90: 20 48 8B 05 70 19 00 00 48 BB 32 A2 DF 2D 99 2B .H..p...H;2"_-.+ 00000aa0: 00 00 48 3B C3 75 74 48 83 65 18 00 48 8D 4D 18 ..H;CutH.e..H.M. 00000ab0: FF 15 8A 09 00 00 48 8B 45 18 48 89 45 10 FF 15 ......H.E.H.E... 00000ac0: 3C 09 00 00 8B C0 48 31 45 10 FF 15 80 09 00 00 <....@H1E....... 00000ad0: 8B C0 48 8D 4D 20 48 31 45 10 FF 15 78 09 00 00 .@H.M.H1E...x... 00000ae0: 8B 45 20 48 8D 4D 10 48 C1 E0 20 48 33 45 20 48 .E.H.M.HA`.H3E.H 00000af0: 33 45 10 48 33 C1 48 B9 FF FF FF FF FF FF 00 00 3E.H3AH9........ 00000b00: 48 23 C1 48 B9 33 A2 DF 2D 99 2B 00 00 48 3B C3 H#AH93"_-.+..H;C 00000b10: 48 0F 44 C1 48 89 05 ED 18 00 00 48 8B 5C 24 48 H.DAH..m...H.\$H 00000b20: 48 F7 D0 48 89 05 D6 18 00 00 48 83 C4 20 5D C3 HwPH..V...H.D.]C 00000b30: 33 C0 C3 CC B8 01 00 00 00 C3 CC CC B8 00 40 00 3@CL8....CLL8.@. 00000b40: 00 C3 CC CC 48 8D 0D B5 1E 00 00 48 FF 25 E6 08 .CLLH..5...H.%f. 00000b50: 00 00 CC CC B0 01 C3 CC C2 00 00 CC 48 8D 05 AD ..LL0.CLB..LH..- 00000b60: 1E 00 00 C3 48 8D 05 AD 1E 00 00 C3 48 83 EC 28 ...CH..-...CH.l( 00000b70: E8 E7 FF FF FF 48 83 08 24 E8 E6 FF FF FF 48 83 hg...H..$hf...H. 00000b80: 08 02 48 83 C4 28 C3 CC 33 C0 39 05 84 18 00 00 ..H.D(CL3@9..... 00000b90: 0F 94 C0 C3 48 8D 05 A5 1E 00 00 C3 48 8D 05 95 ..@CH..%...CH... 00000ba0: 1E 00 00 C3 83 25 75 1E 00 00 00 C3 48 89 5C 24 ...C.%u....CH.\$ 00000bb0: 08 55 48 8D AC 24 40 FB FF FF 48 81 EC C0 05 00 .UH.,$@{..H.l@.. 00000bc0: 00 8B D9 B9 17 00 00 00 E8 C5 04 00 00 85 C0 74 ..Y9....hE....@t 00000bd0: 04 8B CB CD 29 B9 03 00 00 00 E8 C5 FF FF FF 33 ..KM)9....hE...3 00000be0: D2 48 8D 4D F0 41 B8 D0 04 00 00 E8 12 04 00 00 RH.MpA8P...h.... 00000bf0: 48 8D 4D F0 FF 15 4E 08 00 00 48 8B 9D E8 00 00 H.Mp..N...H..h.. 00000c00: 00 48 8D 95 D8 04 00 00 48 8B CB 45 33 C0 FF 15 .H..X...H.KE3@.. 00000c10: F4 07 00 00 48 85 C0 74 3C 48 83 64 24 38 00 48 t...H.@t<H.d$8.H 00000c20: 8D 8D E0 04 00 00 48 8B 95 D8 04 00 00 4C 8B C8 ..`...H..X...L.H 00000c30: 48 89 4C 24 30 4C 8B C3 48 8D 8D E8 04 00 00 48 H.L$0L.CH..h...H 00000c40: 89 4C 24 28 48 8D 4D F0 48 89 4C 24 20 33 C9 FF .L$(H.MpH.L$.3I. 00000c50: 15 BB 07 00 00 48 8B 85 C8 04 00 00 48 8D 4C 24 .;...H..H...H.L$ 00000c60: 50 48 89 85 E8 00 00 00 33 D2 48 8D 85 C8 04 00 PH..h...3RH..H.. 00000c70: 00 41 B8 98 00 00 00 48 83 C0 08 48 89 85 88 00 .A8....H.@.H.... 00000c80: 00 00 E8 7B 03 00 00 48 8B 85 C8 04 00 00 48 89 ..h{...H..H...H. 00000c90: 44 24 60 C7 44 24 50 15 00 00 40 C7 44 24 54 01 D$`GD$P...@GD$T. 00000ca0: 00 00 00 FF 15 87 07 00 00 83 F8 01 48 8D 44 24 ..........x.H.D$ 00000cb0: 50 48 89 44 24 40 48 8D 45 F0 0F 94 C3 48 89 44 PH.D$@H.Ep..CH.D 00000cc0: 24 48 33 C9 FF 15 56 07 00 00 48 8D 4C 24 40 FF $H3I..V...H.L$@. 00000cd0: 15 43 07 00 00 85 C0 75 0C 84 DB 75 08 8D 48 03 .C....@u..[u..H. 00000ce0: E8 BF FE FF FF 48 8B 9C 24 D0 05 00 00 48 81 C4 h?~..H..$P...H.D 00000cf0: C0 05 00 00 5D C3 CC CC E9 33 FE FF FF CC CC CC @...]CLLi3~..LLL 00000d00: 48 83 EC 28 33 C9 FF 15 1C 07 00 00 48 85 C0 74 H.l(3I......H.@t 00000d10: 3A B9 4D 5A 00 00 66 39 08 75 30 48 63 48 3C 48 :9MZ..f9.u0HcH<H 00000d20: 03 C8 81 39 50 45 00 00 75 21 B8 0B 02 00 00 66 .H.9PE..u!8....f 00000d30: 39 41 18 75 16 83 B9 84 00 00 00 0E 76 0D 83 B9 9A.u..9.....v..9 00000d40: F8 00 00 00 00 74 04 B0 01 EB 02 32 C0 48 83 C4 x....t.0.k.2@H.D 00000d50: 28 C3 CC CC 48 8D 0D 09 00 00 00 48 FF 25 BE 06 (CLLH......H.%>. 00000d60: 00 00 CC CC 48 89 5C 24 08 57 48 83 EC 20 48 8B ..LLH.\$.WH.l.H. 00000d70: 19 48 8B F9 81 3B 63 73 6D E0 75 1C 83 7B 18 04 .H.y.;csm`u..{.. 00000d80: 75 16 8B 53 20 8D 82 E0 FA 6C E6 83 F8 02 76 15 u..S...`zlf.x.v. 00000d90: 81 FA 00 40 99 01 74 0D 48 8B 5C 24 30 33 C0 48 .z.@..t.H.\$03@H 00000da0: 83 C4 20 5F C3 E8 4C 02 00 00 48 89 18 48 8B 5F .D._ChL...H..H._ 00000db0: 08 E8 46 02 00 00 48 89 18 E8 CE 02 00 00 CC CC .hF...H..hN...LL 00000dc0: 48 89 5C 24 08 57 48 83 EC 20 48 8D 1D 17 0D 00 H.\$.WH.l.H..... 00000dd0: 00 48 8D 3D 10 0D 00 00 EB 12 48 8B 03 48 85 C0 .H.=....k.H..H.@ 00000de0: 74 06 FF 15 B0 07 00 00 48 83 C3 08 48 3B DF 72 t...0...H.C.H;_r 00000df0: E9 48 8B 5C 24 30 48 83 C4 20 5F C3 48 89 5C 24 iH.\$0H.D._CH.\$ 00000e00: 08 57 48 83 EC 20 48 8D 1D EB 0C 00 00 48 8D 3D .WH.l.H..k...H.= 00000e10: E4 0C 00 00 EB 12 48 8B 03 48 85 C0 74 06 FF 15 d...k.H..H.@t... 00000e20: 74 07 00 00 48 83 C3 08 48 3B DF 72 E9 48 8B 5C t...H.C.H;_riH.\ 00000e30: 24 30 48 83 C4 20 5F C3 48 89 5C 24 10 48 89 74 $0H.D._CH.\$.H.t 00000e40: 24 18 57 48 83 EC 10 33 C0 33 C9 0F A2 44 8B C1 $.WH.l.3@3I."D.A 00000e50: 45 33 DB 44 8B CB 41 81 F0 6E 74 65 6C 41 81 F1 E3[D.KA.pntelA.q 00000e60: 47 65 6E 75 44 8B D2 8B F0 33 C9 41 8D 43 01 45 GenuD.R.p3IA.C.E 00000e70: 0B C8 0F A2 41 81 F2 69 6E 65 49 89 04 24 45 0B .H."A.rineI..$E. 00000e80: CA 89 5C 24 04 8B F9 89 4C 24 08 89 54 24 0C 75 J.\$..y.L$..T$.u 00000e90: 50 48 83 0D 87 15 00 00 FF 25 F0 3F FF 0F 3D C0 PH.......%p?..=@ 00000ea0: 06 01 00 74 28 3D 60 06 02 00 74 21 3D 70 06 02 ...t(=`...t!=p.. 00000eb0: 00 74 1A 05 B0 F9 FC FF 83 F8 20 77 24 48 B9 01 .t..0y|..x.w$H9. 00000ec0: 00 01 00 01 00 00 00 48 0F A3 C1 73 14 44 8B 05 .......H.#As.D.. 00000ed0: 5C 1B 00 00 41 83 C8 01 44 89 05 51 1B 00 00 EB \...A.H.D..Q...k 00000ee0: 07 44 8B 05 48 1B 00 00 B8 07 00 00 00 44 8D 48 .D..H...8....D.H 00000ef0: FB 3B F0 7C 26 33 C9 0F A2 89 04 24 44 8B DB 89 {;p|&3I."..$D.[. 00000f00: 5C 24 04 89 4C 24 08 89 54 24 0C 0F BA E3 09 73 \$..L$..T$..:c.s 00000f10: 0A 45 0B C1 44 89 05 15 1B 00 00 C7 05 F3 14 00 .E.AD......G.s.. 00000f20: 00 01 00 00 00 44 89 0D F0 14 00 00 0F BA E7 14 .....D..p....:g. 00000f30: 0F 83 91 00 00 00 44 89 0D DB 14 00 00 BB 06 00 ......D..[...;.. 00000f40: 00 00 89 1D D4 14 00 00 0F BA E7 1B 73 79 0F BA ....T....:g.sy.: 00000f50: E7 1C 73 73 33 C9 0F 01 D0 48 C1 E2 20 48 0B D0 g.ss3I..PHAb.H.P 00000f60: 48 89 54 24 20 48 8B 44 24 20 22 C3 3A C3 75 57 H.T$.H.D$."C:CuW 00000f70: 8B 05 A6 14 00 00 83 C8 08 C7 05 95 14 00 00 03 ..&....H.G...... 00000f80: 00 00 00 89 05 93 14 00 00 41 F6 C3 20 74 38 83 .........AvC.t8. 00000f90: C8 20 C7 05 7C 14 00 00 05 00 00 00 89 05 7A 14 H.G.|.........z. 00000fa0: 00 00 B8 00 00 03 D0 44 23 D8 44 3B D8 75 18 48 ..8...PD#XD;Xu.H 00000fb0: 8B 44 24 20 24 E0 3C E0 75 0D 83 0D 5B 14 00 00 .D$.$`<`u...[... 00000fc0: 40 89 1D 51 14 00 00 48 8B 5C 24 28 33 C0 48 8B @..Q...H.\$(3@H. 00000fd0: 74 24 30 48 83 C4 10 5F C3 CC CC CC 33 C0 39 05 t$0H.D._CLLL3@9. 00000fe0: 4C 14 00 00 0F 95 C0 C3 CC CC CC CC CC CC CC CC L.....@CLLLLLLLL 00000ff0: FF 25 A2 04 00 00 FF 25 84 04 00 00 FF 25 86 04 .%"....%.....%.. 00001000: 00 00 FF 25 88 04 00 00 FF 25 12 05 00 00 FF 25 ...%.....%.....% 00001010: DC 04 00 00 FF 25 AE 04 00 00 FF 25 38 05 00 00 \....%.....%8... 00001020: FF 25 2A 05 00 00 FF 25 1C 05 00 00 FF 25 0E 05 .%*....%.....%.. 00001030: 00 00 FF 25 00 05 00 00 FF 25 F2 04 00 00 FF 25 ...%.....%r....% 00001040: E4 04 00 00 FF 25 2E 05 00 00 FF 25 C8 04 00 00 d....%.....%H... 00001050: FF 25 BA 04 00 00 FF 25 AC 04 00 00 FF 25 9E 04 .%:....%,....%.. 00001060: 00 00 FF 25 78 04 00 00 FF 25 4A 04 00 00 FF 25 ...%x....%J....% 00001070: 34 04 00 00 FF 25 F6 04 00 00 FF 25 78 04 00 00 4....%v....%x... 00001080: FF 25 DA 04 00 00 FF 25 5C 04 00 00 FF 25 46 04 .%Z....%\....%F. 00001090: 00 00 FF 25 C8 03 00 00 CC CC CC CC CC CC CC CC ...%H...LLLLLLLL 000010a0: CC CC CC CC CC CC 66 66 0F 1F 84 00 00 00 00 00 LLLLLLff........ 000010b0: FF E0 CC CC CC CC CC CC CC CC CC CC CC CC CC CC .`LLLLLLLLLLLLLL 000010c0: CC CC CC CC CC CC 66 66 0F 1F 84 00 00 00 00 00 LLLLLLff........ 000010d0: FF 25 C2 04 00 00 40 55 48 83 EC 20 48 8B EA 48 .%B...@UH.l.H.jH 000010e0: 8B 01 48 8B D1 8B 08 E8 1C FF FF FF 90 48 83 C4 ..H.Q..h.....H.D 000010f0: 20 5D C3 CC 40 55 48 8B EA 48 8B 01 33 C9 81 38 .]CL@UH.jH..3I.8 00001100: 05 00 00 C0 0F 94 C1 8B C1 5D C3 CC 00 00 00 00 ...@..A.A]CL.... 00001110: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00001120: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00001130: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00001140: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00001150: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00001160: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00001170: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00001180: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00001190: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 000011a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 000011b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 000011c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 000011d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 000011e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 000011f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
長っっ!
全部見るのはさすがにしんどいですが、 重要なところが最初に書いてあるので見てみましょう。
Offset: 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 00000400: B8 2A 00 00 00 C3 8*...C
…今度は極端に短くなりましたが、 ここの部分は重要です。
Offset: 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 00000400: B8 2A 00 00 00 C3 8*...C ! B8 2A 00 00 00 <---------------------------------- mov eax, 0000002Ah ! C3 <------------------------------- ret
たった2行のアセンブリですが、
mov eax, 0000002Ah ret
EAXレジスタに2Ahを入れて、 retでリターンしていますね。
アセンブリあるあるで、
「関数の戻り値をEAXレジスタに格納しておく」
というのがあるので、
これはC言語でreturn 0x2A;
を意味しています。
ところで、
0x2A
は10進数だと42です。
なにか身に覚えがありませんか?
#include <stdio.h> int main() { return 42; }
そうです! コンパイルしたソースコードに書いてあったやつです!
そうか、形は変わっても君は君なんだね…!
ところで、
#include <stdio.h>
はいらなかったなと今思いました。 もう少し調査したら、 これを除いて、 再びコンパイルしてみます。
※再びコンパイルしてもバイト数は変わりませんでした。
エントリーポイント
エントリーポイントといって、 最初に実行される場所があります。
コードが00000400hから始まりますが、 必ずしも先端から始まるとは限りません。
ではどこから始まるかというと、 オプションヘッダのAddressOfEntryPointに書かれています。
Offset: 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 00000110: 00 1E 00 00 00 00 00 00 A4 12 00 00 00 10 00 00 ........$....... ! A4 12 00 00 <------------- AddressOfEntryPoint ! 00 10 00 00 <- BaseOfCode
12A4hですね。 この値はイメージベースとの相対アドレスなので、その値を引いてやる必要があります。 イメージベースのアドレスは、BaseOfCodeからわかります。 その値は1000hですね。 12A4h - 1000h = 02A4h なので、コードセクションが始まってから02A4h番目のところにエントリーポイントがあることがわかります。 コードセクションはこのファイルの00000400hから始まっているので、 00000400h + 02A4h = 000006A4h がこのファイルにおけるエントリーポイントの位置です。 それでは06A4hを見てみましょう。
Offset: 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 000006a0: 09 00 00 90 48 83 EC 28 E8 D7 03 00 00 48 83 C4 ....H.l(hW...H.D 000006b0: 28 E9 72 FE FF FF CC CC 40 53 48 83 EC 20 48 8B (ir~..LL@SH.l.H.
該当する部分だけを切り取ると
Offset: 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 000006a0: 48 83 EC 28 E8 D7 03 00 00 48 83 C4 H.l(hW...H.D 000006b0: 28 E9 72 FE FF FF (ir~..
逆アセンブラしてみましょう
Offset: 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 000006a0: 48 83 EC 28 E8 D7 03 00 00 48 83 C4 H.l(hW...H.D ! 48 83 EC 28 <------------------------- sub rsp, 28h ! E8 D7 03 00 00 <---------- call 00000A84h ! 48 83 C4 000006b0: 28 E9 72 FE FF FF (ir~.. ! 28 <---------------------------------------------- add rsp, 28h ! E9 72 FE FF FF <------------------------------- jmp 00000528h
sub rsp, 28h call 00000A84h add rsp, 28h jmp 00000528h
RSPレジスタを28バイト分確保して、 00000A84hを呼び出し、 RSPレジスタを28バイト分開放して、 00000528hにジャンプしてます。
RSPは64ビットのスタックポインタで、 変数や、引数などのデータを保存するときに使います。
00000A84hを見てましょう。
mov qword ptr [rsp+20h], rbx push rbp mov rbp, rsp sub rsp, 20h mov rax, qword ptr [0000000000002408h] mov rbx, 00002B992DDFA232h cmp rax, rbx jne 00000B1Bh and qword ptr [rbp+18h], 0000000000000000h lea rcx, qword ptr [rbp+18h] call qword ptr [0000000000001440h] mov rax, qword ptr [rbp+18h] mov qword ptr [rbp+10h], rax call qword ptr [0000000000001400h] mov eax, eax xor qword ptr [rbp+10h], rax call qword ptr [0000000000001450h] mov eax, eax lea rcx, qword ptr [rbp+20h] xor qword ptr [rbp+10h], rax call qword ptr [0000000000001458h] mov eax, dword ptr [rbp+20h] lea rcx, qword ptr [rbp+10h] shl rax, 20h xor rax, qword ptr [rbp+20h] xor rax, qword ptr [rbp+10h] xor rax, rcx mov rcx, 0000FFFFFFFFFFFFh and rax, rcx mov rcx, 00002B992DDFA233h cmp rax, rbx cmove rax, rcx mov qword ptr [0000000000002408h], rax mov rbx, qword ptr [rsp+48h] not rax mov qword ptr [0000000000002400h], rax add rsp, 20h pop rbp ret
00000528hを見てましょう。
mov qword ptr [rsp+08h], rbx mov qword ptr [rsp+10h], rsi push rdi sub rsp, 30h mov ecx, 00000001h call 00000870h test al, al je 0000067Fh xor sil, sil mov byte ptr [rsp+20h], sil call 00000834h mov bl, al mov ecx, dword ptr [00000000000029B0h] cmp ecx, 01h je 0000068Ah test ecx, ecx jne 000005B5h mov dword ptr [00000000000029B0h], 00000001h lea rdx, qword ptr [00000000000015E0h] lea rcx, qword ptr [00000000000015C8h] call 00001032h test eax, eax je 00000596h mov eax, 000000FFh jmp 0000066Fh lea rdx, qword ptr [00000000000015C0h] lea rcx, qword ptr [00000000000015B0h] call 0000102Ch mov dword ptr [00000000000029B0h], 00000002h jmp 000005BDh mov dh, 01h mov byte ptr [rsp+20h], sil mov cl, bl call 000009E0h call 00000B94h mov rbx, rax cmp qword ptr [rax], 0000000000000000h je 000005F0h mov rcx, rax call 00000948h test al, al je 000005F0h xor r8d, r8d lea edx, dword ptr [r8+02h] xor ecx, ecx mov rax, qword ptr [rbx] call qword ptr [0000000000001598h] call 00000B9Ch mov rbx, rax cmp qword ptr [rax], 0000000000000000h je 00000612h mov rcx, rax call 00000948h test al, al je 00000612h mov rcx, qword ptr [rbx] call 00001062h call 00001026h mov rdi, rax call 00001050h mov rbx, qword ptr [rax] call 0000104Ah mov r8, rdi mov rdx, rbx mov ecx, dword ptr [rax] call 00000400h ; ここで main を呼び出していますね mov ebx, eax call 00000D00h test al, al je 00000694h test sil, sil jne 00000649h call 00001056h xor edx, edx mov cl, 01h call 00000A04h mov eax, ebx jmp 0000066Fh mov ebx, eax call 00000D00h test al, al je 0000069Ch cmp byte ptr [rsp+20h], 00h jne 0000066Dh call 0000105Ch mov eax, ebx mov rbx, qword ptr [rsp+40h] mov rsi, qword ptr [rsp+48h] add rsp, 30h pop rdi ret
うーん、なんかやっているというのはわかりました。
でも何やってるか解析するのはまた今度でいいかな、という気持ちです。
VRChat
しのさんのいるワールドに行きました。
もうすでに寝ているような気がしましたが、 どこで寝ているか気になって探していると、 ベロイさんと会いました。
— ベロイ⛅skarsna.ixfegsall (@rabdology) 2021年5月29日
出合い頭にチェキを1枚撮られました。
ベロイさんと話していると、 ベロイさんのフレンドがたくさん来ました。
しのさんを探していたら、 ベロイさんも一緒に探してくれました。
寝ているしのさんはベロイさんが見つけてくれました。 ちょっとある種の人を探す方法を教えてもらったので、 次チャンスがあったら使ってみたいと思います。
おやすみなさい。
その後、MEROOMへ行きましたが、 別のゲームをするため、 なんやかんやあって、 ベロイさんとそのフレンドは落ちました。
Yurutoさんのいるワールドへ行きました。
途中で左手のリモコンのバッテリーがなくなったので、 代わりに右手で頑張って移動していたのですが、 腱鞘炎になりかけました。
ペンギンさんという方からシェーダーの話を聞きました。 とても面白い話でした。
この日は午前4時に寝ました。 おやすみなさい。