※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

リンク ※注意ウィルス含

イツァム・ナー

あきらロクリアンです。

東方お絵かき板の管理人さんの対応の早さにはびっくり。
4月2日 東方お絵かき板に既存画像をアップロードするコツを掴む
4月4日 偶然絵の編集ページを開いたら、そこから画像をアップロードできることが発覚
後述しますが、バイナリ切った貼った繰り返して大変な苦労をして画像をアップロードできるようにしたのに、それが編集ページから簡単にアップロードできるなんて許さん!
ということで早速問い合わせページから「編集ページから~なバグがあります!」と夜中に送ったらすぐに対応してくれました。
いろいろな意味で今まで出会った中でも最強クラスの管理人だなあ。
本来の目的は画像をアップロードすることだったのに、簡単にアップロードできるとわかるや否やその方法を潰しにかかるとか、目的と手段が入れ替わるお手本みたいなものですね。

というわけでパケット解析入門的なものを。
(下の文章書いたのは二日前なので微妙な温度差があっても気にしないでください)


東方お絵かき板で自分の描いた絵をアップロードしよう 前編

前回の不幸な事件が原因でその場で書いた絵しかアップロードできなくなってしまった東方お絵かき板。
おとといあたりも爆撃を受けて悲惨な状態になっていました。

そこで画像アップロードを可能にして絵師様が自分の使い慣れたペイントソフトで描いた絵をUPできるようにしようというのが今回の試みです。
ドットトレーサーとかいうのもあるらしいですが、あれは色を完全にコピーできないらしいのでそういう不完全な方法はスルー。
前述した編集ページから画像をアップロードする方法を使えばもっと簡単にできますが、正攻法でやりたいからそれもスルー。

というわけでまずはパケットを解析してみよう…の前に、事前に手に入れられる情報をチェック。
まず東方お絵かき板ではしぃペインターというJavaアプレットのお絵かきソフトを使用していて、絵を書く際には大きさ、動画記録の有無などを決められる。
お絵かきページのソースを見てみると、
<PARAM name='security_timer' value='30'>
<PARAM name='security_click' value='60'>
30秒の滞在と60回の書き込みがないと投稿を受け付けないようになっている。
HTMLを改変するとかパケットフィルタで変えるとか方法はあるけどここらへんの値をいじるのはまた今度。
そして、画像データはPNGで送られる。
これは割と重要なのでPNGの仕様(特にチャンクについて)に目を通しておく。
http://www.libpng.org/pub/png/spec/1.2/PNG-Chunks.html
All implementations must understand and successfully render the standard critical chunks. A valid PNG image must contain an IHDR chunk, one or more IDAT chunks, and an IEND chunk.
The IDAT chunk contains the actual image data.
PNGファイルには必ずIHDR,IDAT,IENDの三つのチャンクがあり、IDATチャンクに実際のイメージデータが格納されているということを知っていればいい。
IENDのあとにダミーデータがあっても表示する上では問題ない。

ではとりあえず真っ黒に塗りつぶしてデータ送信。

Send
0000 50 4F 53 54 20 2F 6F 65 6B 61 6B 69 5F 30 36 2F POST /oekaki_06/
0010 62 62 73 6E 6F 74 65 2E 63 67 69 3F 66 63 3D 70 bbsnote.cgi?fc=p
0020 61 69 6E 74 5F 63 61 70 74 6F 72 20 48 54 54 50 aint_captor HTTP
0030 2F 31 2E 30 0D 0A 43 6F 6E 6E 65 63 74 69 6F 6E /1.0..Connection
0040 3A 20 63 6C 6F 73 65 0D 0A 55 73 65 72 2D 41 67 : close..User-Ag
0050 65 6E 74 3A 20 53 68 69 2D 50 61 69 6E 74 65 72 ent: Shi-Painter
0060 2F 31 2E 78 20 28 57 69 6E 64 6F 77 73 20 58 50 /1.x (Windows XP
0070 3B 35 2E 31 29 0D 0A 52 65 66 65 72 65 72 3A 20 ;5.1)..Referer:
0080 68 74 74 70 3A 2F 2F 63 6F 6F 6C 69 65 72 2E 73 http://coolier.s
0090 79 74 65 73 2E 6E 65 74 3A 38 30 38 30 2F 6F 65 ytes.net:8080/oe
00A0 6B 61 6B 69 5F 30 36 2F 62 62 73 6E 6F 74 65 2E kaki_06/bbsnote.
00B0 63 67 69 0D 0A 48 6F 73 74 3A 20 63 6F 6F 6C 69 cgi..Host: cooli
00C0 65 72 2E 73 79 74 65 73 2E 6E 65 74 0D 0A 41 63 er.sytes.net..Ac
00D0 63 65 70 74 2D 4C 61 6E 67 75 61 67 65 3A 20 6A cept-Language: j
00E0 61 0D 0A 43 6F 6E 74 65 6E 74 2D 4C 65 6E 67 74 a..Content-Lengt
00F0 68 3A 20 32 38 35 32 0D 0A 43 6F 6E 74 65 6E 74 h: 2852..Content
0100 2D 74 79 70 65 3A 20 61 70 70 6C 69 63 61 74 69 -type: applicati
0110 6F 6E 2F 6F 63 74 65 74 2D 73 74 72 65 61 6D 0D on/octet-stream.
0120 0A 0D 0A ...

Send
0000 53 30 30 30 30 30 33 32 38 74 69 6D 65 72 3D 36 S00000328timer=6
0010 34 36 30 39 26 63 6F 75 6E 74 3D 31 33 33 26 5A 4609&count=133&Z
0020 6F 70 47 75 50 72 38 69 37 6B 71 56 56 49 6B 77 opGuPr8i7kqVVIkw
0030 44 37 67 36 41 6D 55 61 62 79 69 4A 48 37 43 66 D7g6AmUabyiJH7Cf
0040 65 6F 35 4B 49 4A 62 5A 47 6C 63 79 25 37 37 70 eo5KIJbZGlcy%77p
0050 56 46 75 7A 36 73 42 33 57 71 48 47 43 58 66 6A VFuz6sB3WqHGCXfj
0060 68 66 42 78 56 47 53 49 25 7A 4E 53 63 36 7A 37 hfBxVGSI%zNSc6z7
0070 77 4C 25 59 39 47 39 48 47 6A 76 50 44 30 30 4F wL%Y9G9HGjvPD00O
0080 67 64 6D 4D 37 30 69 67 6C 70 6C 6B 33 68 63 77 gdmM70iglplk3hcw
0090 57 55 70 5A 33 74 79 54 74 47 35 43 58 58 67 52 WUpZ3tyTtG5CXXgR
00A0 4E 47 37 71 55 38 79 58 72 53 4A 61 54 41 45 34 NG7qU8yXrSJaTAE4
00B0 69 54 51 5A 53 32 4C 64 63 57 72 74 31 32 32 63 iTQZS2LdcWrt122c
00C0 55 49 4C 73 59 45 41 43 50 4E 58 6D 6A 4C 57 47 UILsYEACPNXmjLWG
00D0 52 46 25 30 47 55 4E 6B 6F 48 31 6A 30 43 35 5F RF%0GUNkoH1j0C5_
00E0 78 4B 71 42 48 65 6B 50 25 62 4E 45 44 61 78 4C xKqBHekP%bNEDaxL
00F0 56 45 30 31 55 70 71 63 61 41 58 7A 75 72 47 35 VE01UpqcaAXzurG5
0100 6A 78 33 58 36 62 6D 5A 25 70 75 30 54 39 54 67 jx3X6bmZ%pu0T9Tg
0110 39 78 34 6C 7A 4A 33 46 38 49 56 37 25 71 76 71 9x4lzJ3F8IV7%qvq
0120 41 4F 57 46 43 45 59 53 7A 48 68 38 79 31 68 37 AOWFCEYSzHh8y1h7
0130 4A 42 49 37 36 79 34 49 67 71 44 78 79 63 56 46 JBI76y4IgqDxycVF
0140 4C 63 67 73 65 34 41 4D 68 74 56 65 59 51 35 31 Lcgse4AMhtVeYQ51
0150 6D 30 30 30 30 30 36 35 35 0D 0A 89 50 4E 47 0D m00000655...PNG.
0160 0A 1A 0A 00 00 00 0D 49 48 44 52 00 00 01 90 00 .......IHDR.....
0170 00 01 90 08 02 00 00 00 0F DD A1 9B 00 00 00 1B ................
0180 74 45 58 74 54 69 74 6C 65 00 53 68 69 2D 54 6F tEXtTitle.Shi-To
0190 6F 6C 73 20 4F 65 6B 61 6B 69 20 44 61 74 61 FD ols Oekaki Data.
01A0 72 61 0E 00 00 00 1F 74 45 58 74 43 6F 70 79 72 ra.....tEXtCopyr
01B0 69 67 68 74 00 28 43 29 73 68 69 2D 63 68 61 6E ight.(C)shi-chan
01C0 20 32 30 30 31 2D 32 30 30 33 14 A9 BC 0B 00 00 2001-2003......
01D0 00 12 74 45 58 74 53 6F 66 74 77 61 72 65 00 53 ..tEXtSoftware.S
01E0 68 69 2D 54 6F 6F 6C 73 27 F1 4C 0B 00 00 01 E6 hi-Tools'.L.....
01F0 49 44 41 54 78 DA ED C1 01 01 00 00 00 80 90 FE IDATx...........
0200 AF EE 08 0A 00 00 00 00 00 00 00 00 00 00 00 00 ................
0210 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0230 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0250 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0270 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0290 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
02A0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
02B0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
02C0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
02D0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
02E0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
02F0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0310 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0330 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0350 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0370 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0390 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
03A0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
03B0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
03C0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
03D0 00 00 00 00 00 6A 54 F9 00 01 32 A6 B1 75 00 00 .....jT...2..u..
03E0 00 00 49 45 4E 44 AE 42 60 82 30 30 30 30 31 35 ..IEND.B`.000015
03F0 32 37 6C 61 79 65 72 5F 63 6F 75 6E 74 3D 33 0D 27layer_count=3.
0400 0A 69 6D 61 67 65 5F 77 69 64 74 68 3D 34 30 30 .image_width=400
0410 0D 0A 69 6D 61 67 65 5F 68 65 69 67 68 74 3D 34 ..image_height=4
0420 30 30 0D 0A 63 6F 75 6E 74 5F 6C 69 6E 65 73 3D 00..count_lines=
0430 31 33 33 0D 0A 71 75 61 6C 69 74 79 3D 31 0D 0A 133..quality=1..
0440 76 65 72 73 69 6F 6E 3D 32 0D 0A 0D 0A 05 9A 78 version=2......x
0450 DA 65 56 5D 88 55 55 14 FE D6 D9 E7 EF DE 3B 73 .eV].UU.......;s
0460 EF 4C D3 E0 64 10 3D 94 24 F4 FB 10 BD 18 24 41 .L..d.=.$.....$A
0470 85 05 41 29 54 0F 1A 52 58 D8 CF 50 A2 68 45 29 ..A)T..RX..P.hE)
0480 56 5A 99 BE 94 50 8A 04 F6 27 05 99 63 90 49 3F VZ...P...'..c.I?
0490 84 53 E9 58 0A 5A 46 2A 24 85 59 F8 D0 8C D7 7B .S.X.ZF*$.Y....{
04A0 CF 39 7B EF D3 DA 7B 9D 5B C1 9C 3B 77 66 EF EF .9{...{.[..;wf..
04B0 AC BD F7 5A 6B 7F EB 5B 83 DB D2 B2 84 7B 48 FE ...Zk..[.....{H.
04C0 00 DD 12 3C EC E2 2A 13 18 65 02 1D EB 20 4B 8A ...<..*..e... K.
04D0 28 8B B2 38 4B 74 98 D5 F3 86 4E 4C 6C C3 52 D9 (..8Kt....NLl.R.
04E0 18 21 F8 B7 8E 41 B8 3C E5 C5 A7 31 0E 8D D2 14 .!...A.<...1....
04F0 28 F2 8E 6D A3 63 73 18 9B 97 B6 E4 07 EE 73 31 (..m.cs.......s1
0500 9B D1 05 78 5E 51 48 BC 2A E0 2F 0F 41 FE D3 72 ...x^QH.*./.A..r
0510 2F 67 E2 1D DE 96 4A 07 0C 3A E0 42 EC B1 1E B0 /g....J..:.B....
0520 60 B0 DF 41 09 F6 55 53 67 01 83 FD C6 ED CE 50 `..A..USg......P
0530 21 BB E0 37 4C C8 81 16 02 1C C5 41 01 0C D0 70 !..7L......A...p
0540 C0 38 0E 5A 37 A9 B9 C9 5E 36 2F 65 B8 1B DF F2 .8.Z7...^6/e....
0550 D0 EF FB 1E BE 72 8E 5B 71 DE 6F F3 1A 76 3A 00 .....r.[q.o..v:.
0560 2E 6D DE E6 69 2C 87 A1 2E 67 AC C3 5F 0F 3D 83 .m..i,...g.._.=.
0570 5B A8 4C 51 C7 50 D0 08 05 3A 83 47 C2 80 24 4A [.LQ.P...:.G..$J
0580 85 21 17 03 B0 85 87 CA A5 B0 88 BA 09 86 9D DD .!..............
0590 8F 38 9C 27 FC 51 3A C8 55 4E 3A F0 B6 D8 86 BF .8.'.Q:.UN:.....
05A0 75 60 E3 52 B9 78 AC 6C 80 8D 74 11 A5 51 12 27 u`.R.x.l..t..Q.'
05B0 49 D4 A0 46 E5 4E 9B AE 0E C0 CE 6A 0E AD 2B 09 I..F.N.....j..+.
05C0 0D 71 0A 2E 3D 46 1B B1 39 89 31 17 55 C7 4C EA .q..=F..9.1.U.L.
05D0 B6 16 E8 6D 6C 73 31 95 65 57 77 AC 40 4F E1 25 ...mls1.eWw.@O.%
05E0 26 45 19 28 44 BC 85 3F 71 1D BE 4B FB F8 B8 08 &E.(D..?q..K....
05F0 A4 90 92 B8 7C 06 BF 47 68 FA 40 F8 8E 72 92 24 ....|..Gh.@..r.$
0600 F0 15 AD E6 53 0D 9F E3 AE C0 2F 3F C1 7B 92 0B ....S...../?.{..
0610 4C AB 2C 36 24 E0 07 F8 D0 2A DB 6C 0F 4E B5 8A L.,6$....*.l.N..
0620 84 E3 F5 67 AF C4 1F 56 95 C4 EB 31 69 C4 EE 46 ...g...V...1i..F
0630 8C C1 06 3A 30 41 87 26 51 C8 D9 37 E3 CE 14 AD ...:0A.&Q..7....
0640 B8 19 36 A2 66 D8 A7 E2 6A F9 38 B6 07 71 94 90 ..6.f...j.8..q..
0650 0A C2 8A 55 F8 1E BF E8 9A AE 31 7D 95 D8 6C 85 ...U......1}..l.
0660 29 A2 22 EA A8 76 38 59 F9 B7 98 86 29 A5 58 25 )."..v8Y....).X%
0670 29 87 98 56 09 FD 82 2E 71 34 85 65 6F AA 64 ED )..V....q4.eo.d.
0680 C5 11 94 DA 76 D1 D6 DA CA D2 0D F8 D2 91 AB D4 ....v...........
0690 A6 DB 9E D2 6D 24 0E BC 17 B3 64 C1 0A CC 4A 31 ....m$....d...J1
06A0 10 0E 06 CD 30 AA B2 76 00 F3 E1 D2 D6 C8 B9 98 ....0..v........
06B0 B8 CC AA 8B DE 8E B5 5C 59 A4 23 0D 1D 32 D8 92 .......\Y.#..2..
06C0 6C EC 70 65 56 52 8F EF 4F E2 33 22 15 B3 AB B5 l.peVR..O.3"....
06D0 A0 22 D8 9B F8 95 54 A8 D2 B0 81 B4 62 FC 11 9C ."....T.....b...
06E0 8E 11 F3 C5 30 D5 12 A9 89 AF E5 F0 43 78 5D 5B ....0.......Cx][
06F0 C3 3F 65 F5 C8 1E 9F E2 39 8E C1 91 9B DF F8 42 .?e.....9......B
0700 C3 BB 78 14 52 36 0D 99 2E 21 27 15 DE 7C 07 16 ..x.R6...!'..|..
0710 B9 0A 24 E7 57 29 EE 7F 84 FB 98 2E FE 48 97 79 ..$.W).......H.y
0720 59 74 00 0B 03 C7 7B BF E1 41 2C 81 5F 23 3E 4E Yt....{..A,._#>N
0730 F0 FE BE 2A CA CA 78 3F 9E F0 B2 30 28 93 95 95 ...*..x?...0(...
0740 32 F4 D4 81 A1 D5 E8 09 47 BF 00 EB AA F7 35 99 2.......G.....5.
0750 BE F2 DF F0 D5 5E E4 87 F8 82 1A 32 78 D9 6B 82 .....^.....2x.k.
0760 47 0F 63 54 2C 7F C0 43 54 F6 0C 16 FB EA 69 C9 G.cT,..CT.....i.
0770 64 41 25 19 B6 07 DC 4E 3E 1D 4C 86 86 A8 CA 5C dA%....N>.L....\
0780 57 D0 B2 9F C5 1D B2 5F 86 BB 18 F4 C3 29 4E 12 W......_.....)N.
0790 89 ED 14 1E F6 D5 EF DD 9E C4 B3 1C 83 4B D6 90 .............K..
07A0 4C 37 82 E5 01 3D 85 18 94 05 5B 7B 0A 51 89 06 L7...=....[{.Q..
07B0 43 63 8E D5 7C F7 2A 4A F8 EE 7D 81 CF C0 B1 58 Cc..|.*J..}....X
07C0 29 C9 A2 07 AE C3 E7 AC 49 2E 4E 71 93 AE C1 1A ).......I.Nq....
07D0 2E 45 A1 2F 5D 81 65 AE 2C 73 A3 9D 88 79 2D EA .E./].e.,s...y-.
07E0 C7 28 DB 93 AF AE 80 35 71 58 CA F5 05 28 13 72 .(.....5qX...(.r
07F0 21 BA 3E E0 F6 F7 2E EC C1 2E 13 76 59 A2 B2 B0 !.>........vY...
0800 1D 66 15 B8 1E FB CB D2 B0 50 6A FE B2 FC B7 84 .f.......Pj.....
0810 F6 63 A4 7D FA B4 58 2D C3 3A 12 71 CA D1 B5 46 .c.}..X-.:.q...F
0820 AC 96 62 9E CF A8 CB EB 90 C8 E7 9C 48 D5 62 05 ..b.........H.b.
0830 AE 42 95 28 71 E6 13 2C 0F 6B 94 06 21 B1 F8 50 .B.(q..,.k..!..P
0840 1C D6 C4 F6 14 F6 85 61 92 46 8A B1 1E F1 E9 4A .......a.F.....J
0850 7C A3 6C 52 C4 9D 60 52 80 CB B0 88 F8 D0 8C 15 |.lR..`R........
0860 B1 B7 EC 01 6E 16 4A 27 56 15 5C 7F 72 C4 04 57 ....n.J'V.\.r..W
0870 1F C7 CA 2F A8 70 12 53 15 DB 2A BC 6F 7D 0F 40 .../.p.S..*.o}.@
0880 59 E4 02 3D 8E 15 41 C9 0C B4 A1 8D 2B 79 7A 0B Y..=..A.....+yz.
0890 AB 6A 71 BD 5E 8B 93 C8 75 34 B1 3B 8B 5D 0C 45 .jq.^...u4.;.].E
08A0 AD 64 20 68 56 99 BE 09 5B AC B1 3A CB CF 77 CF .d hV...[..:..w.
08B0 9D 6F 67 B2 F8 2F 2C 3D 1F 73 32 15 27 35 2A AA .og../,=.s2.'5*.
08C0 AB 1E E3 4E A3 AC 32 FE 16 7B 05 B8 19 F7 F8 54 ...N..2..{.....T
08D0 79 87 3F C6 FC 01 24 AC 01 44 11 D5 D3 58 E2 A0 y.?...$..D...X..
08E0 01 AC 0F 38 29 8E 4F 11 A5 8E 9D FE DA AF C7 83 ...8).O.........
08F0 06 E7 BA 7F 66 67 75 BB 92 CF 53 58 C0 9D 35 D5 ....fgu...SX..5.
0900 31 8B 4B C0 F7 0C E1 E6 51 66 8B B2 FF 96 24 17 1.K.....Qf....$.
0910 35 EB AD 91 25 3B 71 6B A0 6A 69 7F BD 56 57 5C 5...%;qk.ji..VW\
0920 E2 54 C9 D9 49 96 F6 3E D4 1C 51 6D A8 B9 3A 7A .T..I..>..Qm..:z
0930 7A B0 DB B5 6E 5B 69 84 D8 6E 67 7D 66 36 85 FC z...n[i..ng}f6..
0940 C4 68 31 F7 C4 56 63 82 C9 E1 D6 BA 1E 32 25 E4 .h1..Vc......2%.
0950 C8 B1 21 47 1B 53 A6 5D F9 B6 95 0B C5 FD D3 51 ..!G.S.].......Q
0960 F5 ED 37 B0 B9 6A C4 D4 A4 D9 8E A3 B6 CC 4D 61 ..7..j........Ma
0970 E5 DF 91 13 94 8A BE E5 A6 C3 CD 8F 39 AF B3 22 ............9.."
0980 B7 9D FC 5C 3E 99 77 58 E3 30 C3 99 BD 88 E3 4C ...\>.wX.0.....L
0990 52 D6 3D 1D 94 7D 66 18 23 C1 88 78 BA 86 EE E6 R.=..}f.#..x....
09A0 F6 C7 BD 2E 51 33 93 11 35 E2 02 A8 61 B4 4E 73 ....Q3..5...a.Ns
09B0 30 8F 36 D1 26 F4 1E 1F C0 CF 58 38 1D FC 09 F7 0.6.&.....X8....
09C0 4F 07 F7 61 74 3A 78 0C 6B A7 83 C7 B9 CB FF 1F O..at:x.k.......
09D0 EC E3 AE 7B 2D 6E C0 6C 5A 49 73 E5 7A 2E 45 93 ...{-n.lZIs.z.E.
09E0 36 D0 63 FF 00 B2 FB 7E DD 30 30 30 30 30 33 30 6.c....~.0000030
09F0 37 89 50 4E 47 0D 0A 1A 0A 00 00 00 0D 49 48 44 7.PNG........IHD
0A00 52 00 00 00 C8 00 00 00 C8 08 02 00 00 00 22 3A R.............":
0A10 39 C9 00 00 00 1B 74 45 58 74 54 69 74 6C 65 00 9.....tEXtTitle.
0A20 53 68 69 2D 54 6F 6F 6C 73 20 4F 65 6B 61 6B 69 Shi-Tools Oekaki
0A30 20 44 61 74 61 FD 72 61 0E 00 00 00 1F 74 45 58 Data.ra.....tEX
0A40 74 43 6F 70 79 72 69 67 68 74 00 28 43 29 73 68 tCopyright.(C)sh
0A50 69 2D 63 68 61 6E 20 32 30 30 31 2D 32 30 30 33 i-chan 2001-2003
0A60 14 A9 BC 0B 00 00 00 12 74 45 58 74 53 6F 66 74 ........tEXtSoft
0A70 77 61 72 65 00 53 68 69 2D 54 6F 6F 6C 73 27 F1 ware.Shi-Tools'.
0A80 4C 0B 00 00 00 8A 49 44 41 54 78 DA ED C1 01 01 L.....IDATx.....
0A90 00 00 00 82 20 FF AF 6E 48 40 01 00 00 00 00 00 .... ..nH@......
0AA0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0AB0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0AC0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0AD0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0AE0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0AF0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0B00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 F0 60 ...............`
0B10 D5 97 00 01 4B 46 0C 21 00 00 00 00 49 45 4E 44 ....KF.!....IEND
0B20 AE 42 60 82 .B`.

Recv
0000 48 54 54 50 2F 31 2E 31 20 32 30 30 20 4F 4B 0D HTTP/1.1 200 OK.
0010 0A 44 61 74 65 3A 20 54 68 75 2C 20 30 32 20 41 .Date: Thu, 02 A
0020 70 72 20 32 30 30 39 20 30 37 3A 32 34 3A 33 32 pr 2009 07:24:32
0030 20 47 4D 54 0D 0A 53 65 72 76 65 72 3A 20 41 70 GMT..Server: Ap
0040 61 63 68 65 0D 0A 43 6F 6E 6E 65 63 74 69 6F 6E ache..Connection
0050 3A 20 63 6C 6F 73 65 0D 0A 43 6F 6E 74 65 6E 74 : close..Content
0060 2D 54 79 70 65 3A 20 61 70 70 6C 69 63 61 74 69 -Type: applicati
0070 6F 6E 2F 6F 63 74 65 74 2D 73 74 72 65 61 6D 0D on/octet-stream.
0080 0A 0D 0A 41 43 4B 0A ...ACK.

BODYを見てみると、最初のピンク色の部分では
S00000328…投稿する人の順番みたいなもの?投稿された画像が増えるとこれが1増える
timer…経過時間を示している。単位不明
count…線を描き入れた数
後半部…絵の識別に使ってる?

後半のピンクでは
layer_count…レイヤー関係の何か。HTMLで初期値3がセットされている
image_width…画像の横幅
image_height…画像の縦幅
count_lines…線を引いた数
quality…HTMLで初期値1がセットされている

黄緑色の部分が送信されたPNG画像で、水色の部分はPNG画像だけど何かは不明。
描画の動画情報?
黄色で示した部分は見当もつかない部分。

送信が成功すると、受信パケット中の赤色部で示したように41 43 4B 0Aが返ってくる。

ではいよいよ黄緑色の部分を自分のアップロードしたい画像に置き換えてみよう。
複雑なセッションIDの管理方式ではないらしいので、そのまま送信して平気。
真っ黒で投稿した画像の左上に別のところから引っ張ってきた画像をアップロードしてみる。
Content-LengthとIDATチャンクを書き換えて送信……。

送信したはずの画像↓
toho_ltNyvOYLsvAX2w7A5GwU2.png

向こう側が受け取ってくれた画像↓(ブラウザでは表示できないのでスクショです)
hason4.png

あらら、何か色々と無茶苦茶ですね。
でも上のほうを見てみるとかろうじて送信が成功している部分があることがわかります。
では破損したファイルを見て何が原因なのか調べてみましょう

00000000 89 50 4E 47 0D 0A 1A 0A 00 00 00 0D 49 48 44 52 .PNG........IHDR
00000010 00 00 01 90 00 00 01 90 08 02 00 00 00 0F DD A1 ................
00000020 9B 00 00 00 1B 74 45 58 74 54 69 74 6C 65 00 53 .....tEXtTitle.S
00000030 68 69 2D 54 6F 6F 6C 73 20 4F 65 6B 61 6B 69 20 hi-Tools Oekaki
00000040 44 61 74 61 FD 72 61 0E 00 00 00 1F 74 45 58 74 Data.ra.....tEXt
00000050 43 6F 70 79 72 69 67 68 74 00 28 43 29 73 68 69 Copyright.(C)shi
00000060 2D 63 68 61 6E 20 32 30 30 31 2D 32 30 30 33 14 -chan 2001-2003.
00000070 A9 BC 0B 00 00 00 12 74 45 58 74 53 6F 66 74 77 .......tEXtSoftw
00000080 61 72 65 00 53 68 69 2D 54 6F 6F 6C 73 27 F1 4C are.Shi-Tools'.L
00000090 0B 00 00 3F D6 49 44 41 54 78 5E ED DD 07 74 9C ...?.IDATx^...t.
000000A0 67 9D 2E F0 6F DA D7 A7 8F 7A EF B6 DC BB 9D D8 g...o....z......
000000B0 4E 6C 27 71 42 12 52 81 04 96 BB 0B 0B E4 D2 76 Nl'qB.R........v
000000C0 61 59 20 04 48 68 49 20 21 9D 34 3B EE BD CA 5D aY .HhI !.4;...]
000000D0 B2 2D F7 2A F7 22 F7 6E F5 3E 1A 49 33 D2 A8 7C .-.*.".n.>.I3..|
000000E0 F7 F9 A4 90 E5 9E BB F7 40 B8 7B CE 5E 45 8F CF ........@.{.^E..
000000F0 77 94 B1 2C CB 9A DF 4C 9E F3 BE FF EF FF BE AF w..,...L........
00000100 25 D5 EE 15 6C 42 7A 66 46 4C 4C 4C B4 B3 D3 EA %...lBzfFLLL....
00000110 B0 76 76 77 59 2C 16 51 14 BB BB A2 AD AD AD 57 .vvwY,.Q.......W
00000120 2F 5D EE E9 E9 B1 5A 0C AB D5 D2 16 6E 99 F9 C0 /]....Z.....n...
00000130 8C 85 0B 17 95 55 54 A8 2E 37 BE 72 DD A6 C2 D7 .....UT..7.r....
00000140 DF 7C A3 A6 BA 3E DA DD E5 71 FB A2 D1 68 B8 A5 .|...>...q...h..
00000150 DD 6E B7 77 77 77 5B 45 D1 A2 28 1D DD DD 5D ED .n.www[E..(...].
00000160 9D 42 57 B7 20 58 05 BB 64 73 48 36 9B CD E7 F5 .BW. X..dsH6....
00000170 6B 9A D6 1E 09 77 75 45 55 4D 6E 69 69 AE AF AB k....wuEUMnii...
00000180 B5 5B F0 37 EC F8 87 A2 91 F6 CE 68 58 97 24 8F .[.7.......hX.$.
00000190 AE 74 46 C2 6D E1 70 4E 4A F2 6B AF FC 61 C4 B0 .tF.m.pNJ.k..a..
000001A0 E1 8A 24 B5 86 5A F6 EF DF FF EE BB EF 5F BE 72 ..$..Z......._.r
000001B0 45 B0 D9 0D 41 B0 18 16 C1 FC EE BD BF 8C DE FF E...A...........
000001C0 DA AC D1 AE 4E C3 62 EB B6 18 F8 61 E2 92 12 F1 ....N.b....a....
000001D0 EC 8C 9E AE 73 27 4F 56 76 75 F4 7D 21 7F 51 80 ....s'OVvu.}!.Q.
000001E0 02 FD 4F 20 53 8E 49 B0 EA 63 D3 06 3D 34 E1 EE ..O S.I..c..=4..
000001F0 07 C6 4D FD FC 94 19 F7 4F 98 32 73 E2 94 47 A7 ..M.....O.2s..G.
00000200 DD F7 F9 A9 D3 1E 98 34 39 DD E9 4D D5 DC 49 92 .......49..M..I.
00000210 92 AE 3B 7D 16 61 44 46 7C 67 7D 45 E3 AD 4B 73 ..;}.aDF|g}E..Ks
00000220 DF 7D 7D 70 66 A2 5D 10 FC 1E 4D 91 45 87 C3 26 .}}pf.]...M.E..&
00000230 CB 32 9E BF 53 F3 C4 C7 26 E1 77 16 8B 22 58 74 .2..S...&.w.."Xt
00000240 41 8D F7 A6 0C 1B 3C F6 BE 7B 1E F9 E7 6F FC EB A.....<..{...o..
00000250 8B BF 79 7D E9 BB 0B B6 BE B7 B0 78 51 41 49 C1 ..y}.......xQAI.
00000260 D6 33 9B 76 9D 5B B5 F1 F0 F3 2F 7D 38 79 C6 17 .3.v.[..../}8y..
00000270 DC B1 B9 82 C5 25 58 35 87 12 F0 F8 13 3D EE 80 .....%X5.....=..
00000280 62 97 35 8B 35 20 8A 4E 41 88 B5 08 FF 74 DF b.5.5 .NA....t.

何が原因かは一目でわかりますね。
元の真っ黒画像と同じサイズのところでプッツリ切断されてます。
IENDチャンクがないのでビューアによっては表示できません。
ということはどこかに画像サイズを指定している部分がありそうです。
IDATチャンクを見ても3F D6と正常になっているので、パケットのほうで長さを指定しているようです。
さて、どこなんでしょうか。 (後半へ続く)

後半
こういう場合はバイナリを見てみましょう。
まず絵の大きさは16進数で28Eなので10進数に直して654。
これがパケットのどこかに記述されていればそれが原因と予想できます。
バイナリのダンプを眺めてみると…ありましたね。
赤字で示した部分、00000655..(0D 0Aは改行、データの意味的な切れ目を示していることは知っておく)がそれっぽいですね。
で、変更してみるとビンゴ。
うまくアップロードできました。
手動でパケット送るときはゆとりをもたせて送らないと失敗します。
多少多めに画像データの容量を確保しておいてIENDチャンクの後ろにダミーデータでも入れておけばIENチャンクが切断されて画像としてうまく表示できなくなる事態は回避できます。