ICFP2007 (15) Fuun Security Featuresの続きです
ICFP 2007関連が増えてきたのでカテゴリーを新設しました。
8/28に関数の最初でCから始まるユニークな無効RNAを出力していることに気づきました。関連する話は以前載せたpage 2181889 (help-undocumented-rna)にも書いてあります。
このトレース用RNAのエンコードが分かりました。RNAなので全部で7文字、先頭はCに固定です。残りの6文字はCを0、Iを1、Pを2とした3進数になっています。関数はアドレス順に通し番号がついています。以下のようになっています。
途中で番号が飛んでいることがあります。原因は暗号化されていたり壊れているときか、データのときです。欠番は9個ありました。実際は番号はついていませんが前後の関係から決めてかっこの中に記しました。
gene tableのintegrity checkでfailと表示されるものでもちゃんと番号がついているものもあります。cloud(212), cow-spot-middle(5), help-virus(219), motherDuck(82), sun(24), surfaceTransform(240)です。これらは暗号化されていなくて、先頭は壊れていなくて、途中から壊れているものと思われます。
gene tableに載っていない関数も3つありました。gene tableをアドレスでソースすると隙間が空いていて、関数番号もついていて、最後にchecksumもついています。
この表のサイズはchecksumの分も含まれているので実際の関数のサイズは24を引いた値になります。一番上のものは一番最初に実行される関数です。次はprintGeneTableでページ番号を書いています。最後もprintGeneTable内で使われています。charColorCallBackに設定しているので色関係です。impdocに載っていてgene tableには載っていないcolorYellowだと思われます。
ICFP 2007関連が増えてきたのでカテゴリーを新設しました。
8/28に関数の最初でCから始まるユニークな無効RNAを出力していることに気づきました。関連する話は以前載せたpage 2181889 (help-undocumented-rna)にも書いてあります。
このトレース用RNAのエンコードが分かりました。RNAなので全部で7文字、先頭はCに固定です。残りの6文字はCを0、Iを1、Pを2とした3進数になっています。関数はアドレス順に通し番号がついています。以下のようになっています。
0ca6fa 00127e CCCCCCC(0) endo-left-arm 0cb990 000876 CICCCCC(1) cow-right-horn 0cc21e 00ae91 CPCCCCC(2) contest-2005 0d70c7 0021ce CCICCCC(3) smoke 0d92ad 000596 CIICCCC(4) colorDuckBrown ・・・ 6f9e01 000ba3 CCPICCI(258) sky-day-bodies
途中で番号が飛んでいることがあります。原因は暗号化されていたり壊れているときか、データのときです。欠番は9個ありました。実際は番号はついていませんが前後の関係から決めてかっこの中に記しました。
0da3a7 000b34 (6) cow-spot-middle-ecc (データ?) 0e5d10 007e2d (10) help-beautiful-numbers (暗号化) 20742f 0006e0 (25) sunflower (データ?) 213563 0080f4 (28) vmu-code (暗号化) 2bc2cb 00c0eb (80) help-activating-genes (暗号化?) 42ccf3 006ed8 (119) help-error-correcting-codes (暗号化) 4aa77d 00145c (144) cow-tail (暗号化?) 5706a4 001365 (185) caravan (暗号化?) 61181e 001962 (218) duolc (データ?)
gene tableのintegrity checkでfailと表示されるものでもちゃんと番号がついているものもあります。cloud(212), cow-spot-middle(5), help-virus(219), motherDuck(82), sun(24), surfaceTransform(240)です。これらは暗号化されていなくて、先頭は壊れていなくて、途中から壊れているものと思われます。
gene tableに載っていない関数も3つありました。gene tableをアドレスでソースすると隙間が空いていて、関数番号もついていて、最後にchecksumもついています。
453945 000338 CCCCPIC(135) startup() ??? 58ccac 00131f CPCCIPC(191) drawInt() ??? 58faf2 00018a CPICIPC(194) colorYellow() ???
この表のサイズはchecksumの分も含まれているので実際の関数のサイズは24を引いた値になります。一番上のものは一番最初に実行される関数です。次はprintGeneTableでページ番号を書いています。最後もprintGeneTable内で使われています。charColorCallBackに設定しているので色関係です。impdocに載っていてgene tableには載っていないcolorYellowだと思われます。
※コメント投稿者のブログIDはブログ作成者のみに通知されます