Cordovaアプリでline-heightの値がおかしかった
環境はGalaxy S6 edge.
ionic-frameworkを使ってアプリを作成中のこと.
line-heightの値が56pxに指定されているのに,実際は44.8pxになっていた.
他の値に設定した感じ,常に0.8倍されていた.
おかげでアイコンがズレる.
原因
システム設定のフォントサイズを最小にしていたのが原因.(極小も同じになった)
メーカーカスタマイズされていないAndroid 6.0では小・中・大・極大しか選べないようなので,サムスンのカスタマイズが悪さをしていた.
恐らくフォントサイズを「小」よりも小さくするとスパースになるためにそのような仕様にしていたようだ.(本来の意味でのline-heightを指定するときは倍率で指定すべきらしいので,デフォルト値のみを変えるようにして欲しいものだが)
しかし,CSSのline-heightで中央指定することによって図形や文字を中央に配置するのは,本来のline-heightの目的と違うのではないかとも思う.(楽なので結構やってしまうが)
この場合悪いのはカスタマイズなのだろうか,それともそのような指定なのだろうか…
JavaScriptのDate.parseの仕様
本当はQiitaに書こうと思ったが,不正確な内容が含まれるためこっちに書いた.
正直意味がわからない.
Google CTF 2016 Mobile Write-up
1問目はまずAPKをデコンパイルするとstrings.xmlにgithubのアカウント名が書いてあるのでそのユーザーのリポジトリをcloneする.
この人.
github.com
gitのログを見ると間違えてkeystoreを上げてしまっているコミットがあるのでそこまで戻す.
デコンパイルしたソースを読むとBroadcastReceiverでリクエストを受け取り結果を送ってくれるようなので,他のアプリからリクエストを送る.
同じkeystoreでコンパイルされたアプリからのBroadcastしか受信しないようになっているので,testAppをBroadcast発行アプリに書き換えて実行すれば,3つあるActivityの中の1つがFlagを返してくれるようになっている.
3問目はこのkeystoreのパスワードの文字列がそのままFlag.
2問目はkeystoreは関係していないが同じくBroadcastで通信を行う.単純ななSQLインジェクションが存在するので,flagカラムの文字列をLIKEを使って割り出してLog.dなどで出力するようにし,指定されたサーバーにアプリをアップロードすれば数分~数十分後にアプリをインストールするちょっと前から一定時間のログが吐き出されるので,出力したFlagを探せば良い.
CTF開始直後はアップロードしてサーバー側でログを出力する部分にバグが有り,アップロードしたものの最初の数分間はメッセージを含め何も出力されず混乱させた後,10分くらい後にログが吐かれていた.
しかしそのログが,アプリをインストールしてからBobbyApplicationを起動したちょっと後までのログのみで,自分のアプリは起動されておらず何かもうひと工夫必要なのかと考えさせられた.
実はただのバグだったようで,日本時間の昼頃には直っていた.キレた.
GitBucketのDBが壊れたので直した
SECCON 2015 オンラインCTF に参加した
参加しました.
続きを読む