Welcome to touyou note!!

こんにちは。touyouです。touyou noteは、creativeな人間を志すちっぽけな学生が様々なことに体当たりするブログです。
どうぞお楽しみ下さい。

Twitter: @touyoubuntu
HomePage: TOUYOUBUNTU

検索用ワード

PC Linux Windows Cygwin Android Python Java C/C++ C# HTML Processing Lisp Perl Arduino Japanino Unity Google TopCorder Codeforces Vim Emacs Github PSP Gundam Soccer Mobile Dialy Study Music ...

2010年10月4日月曜日

Python Challenge#0.5

Cygwinを入れたので、PythonChallengeを開始しました。。。

やばいです。Level.0の問題に惑わされていました(^^;)


ここから先はLevel.0の問題を解くと手に入れられる情報です。
自力で解こうとする人は、サイトに行って自分の力でLevel.0を解き、進めてください。
ちなみにLevel.0については以前書いた記事を見てください。



さて、Level.1ですか。

問題ページには以下のものがありました。
ヒント画像

ヒント
everybody thinks twice before solving this.

問題文


























g fmnc wms bgblr rpylqjyrc gr zw fylb. rfyrq ufyr amknsrcpq ypc dmp. bmgle gr gl zw fylb gq glcddgagclr ylb rfyr'q ufw rfgq rcvr gq qm jmle. sqgle qrpgle.kyicrpylq() gq pcamkkclbcb. lmu ynnjw ml rfc spj.

*What about making trans?






























これが難しい・・・









問題の意味も良く分からんからねwww


一応ジェネレータ使って下のコード書いたんだけど・・・


def one():
# Level1 http://www.pythonchallenge.com/pc/def/'url'.html
# Transrate M to K and Q to O and G to E.
##########
#g fmnc wms bgblr rpylqjyrc gr zw fylb. rfyrq ufyr amknsrcpq ypc dmp. bmgle gr gl zw fylb
# gq glcddgagclr ylb rfyr'q ufw rfgq rcvr gq qm jmle. sqgle qrpgle.kyicrpylq() gq pcamkkclb
#cb. lmu ynnjw ml rfc spj.
##########
    def input(data):
        a = 0
for index in range(a):
a = a + 1
if a > len(data) - 1:
break
else:
yield data[index]
  for char in input("g fmnc wms bgblr rpylqjyrc gr zw fylb. rfyrq ufyr amknsrcpq ypc dmp. bmgle gr gl zw fylb gq glcddgagclr ylb rfyr'q ufw rfgq rcvr gq qm jmle. sqgle qrpgle.kyicrpylq() gq pcamkkclbcb. lmu ynnjw ml rfc spj."):
if char == 'm':
char = 'k'
print char
elif char == 'q':

char = 'o'
print char

elif char == 'g':
char = 'e'
print char
else:
print char


よく分からないままだから、案の定動きませんでしたorz


じっくり時間かけてやっていこうと思います。
というか最悪問題文変換は自力でやっても・・・




いや、何でもありません。
ではノシ


コラムーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー


Linuxのreadelfコマンドでは指定したディレクトリの中にある実行可能バイナリやオブジェクトファイルのフォーマットが参照できます。
主なオプションは以下の通りです。


  • -h ELFヘッダを見ることが出来ます。
  • -l  プログラムヘッダを見ることが出来ます。
  • -S セクションヘッダを見ることが出来ます。
  • -s  シンボルテーブルを見ることが出来ます。
また、これで得た情報をもとにodコマンドで必要なバイナリ情報を探すことも出来ます。
非常に便利な機能ですが、これに変わるテクニックはいくつもあります。それについてはまた今度。
皆さんもreadelfをつかってELF(Executable and Linking Format)に慣れ親しんでください。


詳しい用語の解説、他のBinary Hackのテクニックを知りたい方はO'REILLY刊「Binary Hacks ハッカー秘伝のテクニック100選」をご購入下さい。


※readelf,odコマンドはroot権限の元使用できます。

0 件のコメント:

コメントを投稿