はてなキーワード: jaeとは
プラスサイズの航空会社の乗客は、FAA へのオンライン請願で無料の座席と広いバスルームを要求します
空の旅中のプラスサイズの乗客の虐待は「容認できない」と請願者は言う
ディアドラ・ライリー ディアドラ ・ライリー | フォックス・ニュース
プラスサイズの航空会社の乗客は、他の人よりも大きい人々のための乗客の宿泊施設に関して、航空会社に変更を要求するオンライン請願を開始しました.
「プラスサイズの顧客を保護するための FAA の要求」というタイトルの Change.org の請願書で、請願書の作成者であり、ワシントン州バンクーバーのコンテンツ作成者である Jae'lynn Chaney 氏は、より大きな個人が安全かつ快適に飛行することに関して、いくつかの変更を要求しています。 .
「空の旅は、サイズに関係なく、誰もが快適で利用しやすいものであるべきです」とチェイニーは嘆願書に書いています。
「プラスサイズの旅行者として、パートナーと私は残念ながら飛行中に差別と不快感を経験してきました。」
嘆願書はまた、プラスサイズの個人のための無料の追加の座席を求めています.
「しかし、明らかなことは、プラスサイズの旅行者に対する虐待と差別は容認できず、対処しなければならないということです」と彼女は部分的に述べた.
「航空業界には、乗客の規模に関係なく、すべての乗客に安全で快適で包括的な環境を提供する責任があります。」
彼女は潜在的な解決策を提供し、「多くの航空会社はまた、フライトの座席の割合を過剰販売しており、追加の部屋が必要な乗客に対応するために使用できる空席がある」と述べた.
チェイニー氏は、「プラスサイズの乗客を収容するためのポリシーを実装するには、関連するコストがかかる場合がありますが、これらのコストは、より歓迎的で包括的な旅行体験を作成する利点と比較検討する必要があります.」(下のInstagramビデオでChaneyが彼女の請願について語っているのを見てください。)
彼女はまた、「さらに、政府は、すべての市民にとってアクセス可能で公平な交通機関を促進する責任の一環として、これらの政策に資金を提供したり、奨励したりする役割を担う可能性がある」と述べた.
彼女は、「結局のところ、これらの政策の費用を誰が負担するかという問題は、行動を起こす際の障壁であってはなりません」と付け加えました。
チェイニーが請願書で要求している変更には、「代替座席配置」、シートベルト延長装置、より大きな座席など、より大きな乗客を収容することに関するFAAからすべての航空会社への明確なガイドラインが含まれています.
さらに、 航空会社は、「追加の座席を個別に購入する」「プラスサイズの乗客には払い戻しを提供する」べきだと、彼女の嘆願書は述べています。
その他の要求には、プラスサイズの人々の予約、払い戻し、チェックイン、搭乗、および飛行手順に関する航空会社の基準の作成が含まれます。
嘆願書は、プラスサイズの旅行者のためのより大きなサイズのバスルーム、優先搭乗、追加の空港支援も求めています。
航空会社の従業員のトレーニングも、請願書の記録に記載されています。
当然全米が激怒。
栄えある今年の候補者をごらんください
コロナウイルスのパンデミック宣言が遅れ、中国擁護のあまり初動対応の遅れの戦犯としてCHOとの尊称を得る、マスクに効果がないとかとんでもないことを言い出すなど、アホの権化でありつづけ、人々の失笑の種を提供し続けた。
メンヘラ少女として人々の間に紛争の種を常にまき続け、世界にクソの投げつけあいという平和をもたらした
コロナを軽く見積もり、全米流行の一因となり、人種間対立をあおり続ける事でアメリカに紛争をもたらした。外交的には他候補よりは地域平和に貢献してるかもしれないw
強盗、略奪、放火など、組織化された重犯罪組織だが、リベラルメディア視点では正義の騎士団
ノーベル平和賞アピールのためアメリカと北朝鮮の和平のために北朝鮮に傾倒する共産主義者だが、北朝鮮に島を占領され建築物爆破されて、媚びすぎておびえた犬呼ばわりされる。
「プロテクトかけたアルゴリズムを実装したバージョンに差し替え」たなんて言われると本当に「プロテクト」がかかっているのか確かめてみたくなるのが人情というもの。というわけで、プロテクト強化後のもふったー(v0.9.6b)からconsumer secretが抜けるか試してみた。結論から言うと、あっけなく取り出せた。以下に手順を記す。
動作がよくわかっていないアプリケーションを解析して仕様を明らかにすることをリバースエンジニアリングと呼ぶ。ソフトウェアのリバースエンジニアリングは基本的に対象を逆アセンブルしてひたすら読むことによって行う(その補助に1命令ずつ実行してレジスターやメモリーの様子を観察することもある)。しかし、よっぽど小規模なものでなければオブジェクトコード全体を逆アセンブルして最初から最後まで読むなんてのは不可能だ。人間の読速度には限界があるし、時間も有限だからだ。そして、詳しい動作を知りたい部分というのは全体のごく一部であることが多いので全逆アセンブリを読むのには非常に無駄が多い。
だから、リバースエンジニアリングではいかに詳らかにすべき動作を行っているコードを絞り込むか(=読むべき逆アセンブリを少なくするか)が重要になる。
この場合も同様だ。TwitterのGUIクライアントを頭から読むのは到底無理なので、どうやって解析すべきコードの範囲を狭めるかを考えた。それにはOAuth認証においてconsumer secretがどのような役割を果たすのかを知る必要がある。
OAuth認証で、consumer secretはそのままサーバーに送信されたりはしない。signatureの生成にHMAC-SHA1が使われ、その鍵にconsumer secretが使われる。HMACは次のように算出される。
HMAC (K,m) = H ((K ⊕ opad) ∥ H ((K ⊕ ipad) ∥ m))
ここで
である。
まずはこのあたりから攻めようと思った。SHA-1の計算にはいくつか特徴的な定数が使われるので、そこからSHA-1の計算に使われているであろう関数444190を特定する。この関数のエントリーポイントに中断点(ブレークポイント)を設定してOAuth認証をさせるべくもふったーの「ブラウザで認証」ボタンを押す。狙い通り中断するので関数を抜けるまで実行する。関数401100の4012DAに出た。少し下を見るとこのようになっている。
CPU Disasm Address Hex dump Command Comments 00401311 |. 33F6 xor esi, esi 00401313 | 8D8C24 A40000 /lea ecx, [local.54] 0040131A |. 394C24 14 |cmp dword ptr ss:[local.90], ecx 0040131E |. 75 0E |jne short 0040132E 00401320 |. 3BF5 |cmp esi, ebp 00401322 |. 73 29 |jae short 0040134D 00401324 |. 0FB68434 A400 |movzx eax, byte ptr ss:[esi+esp+0A4] 0040132C |. EB 21 |jmp short 0040134F 0040132E | 3BF5 |cmp esi, ebp 00401330 |. 73 1B |jae short 0040134D 00401332 |. 8B5424 18 |mov edx, dword ptr ss:[local.89] 00401336 |. 52 |push edx ; /Arg1 = [LOCAL.89] 00401337 |. 8D8C24 FC0000 |lea ecx, [local.33] ; | 0040133E |. 8BD6 |mov edx, esi ; | 00401340 |. E8 CB4D0000 |call 00406110 ; \mofooter.00406110 00401345 |. 83C4 04 |add esp, 4 00401348 |. 0FB6C0 |movzx eax, al 0040134B |. EB 02 |jmp short 0040134F 0040134D | 33C0 |xor eax, eax 0040134F | 34 5C |xor al, 5C 00401351 |. 888434 B80000 |mov byte ptr ss:[esi+esp+0B8], al 00401358 |. 83C6 01 |add esi, 1 0040135B |. 83FE 40 |cmp esi, 40 0040135E |.^ 72 B3 \jb short 00401313 00401360 |. 895C24 3C mov dword ptr ss:[local.80], ebx
0040134F | 34 5C |xor al, 5C
が注意を引く。もしかしてこれはopadとのxorではないか?
00401351 |. 888434 B80000 |mov byte ptr ss:[esi+esp+0B8], al
はxorした結果を格納している。
先ほどの中断点は無効化しこのループを抜けた地点である401360まで飛ばす。この時点でesp+0B8を見ると次のようになっている。
Hex dump 64 2E 16 64|37 04 32 6D|0F 0D 26 29|3A 37 1F 2F| 18 69 6E 6E|0D 25 29 33|11 34 29 69|12 36 24 1E| 05 16 33 6A|04 3B 0E 68|7A 5C 5C 5C|5C 5C 5C 5C| 5C 5C 5C 5C|5C 5C 5C 5C|5C 5C 5C 5C|5C 5C 5C 5C|
あとはこれと5Cとをxorすればconsumer secretが手に入る。終わり。
はてなは増田のスーパーpre記法で半角の<>が含まれていると投稿が出来ないのを早く直してください。
もふったーの作者から反応があった。「本気だったつもりのもふったーのデバッグ処理が残ってた」らしい(http://blog.livedoor.jp/blackwingcat/archives/1763951.html)。修正したとのことなので最新版(v0.9.6e)を見てみた。確かに若干変更されているが何の問題もない。SHA-1の呼び出しに中断点を設置して渡されているバイト列を見るだけ。
CPU Disasm Address Hex dump Command Comments 00401324 |. 8D4424 20 |lea eax, [local.102] 00401328 |. 50 |push eax ; /Arg1 = 00401329 |. E8 623A0400 |call 00444D90 ; \mofooter.00444D90
ここでeaxが指すメモリーを見ると以下のようになっている。
01 23 45 67|89 AB CD EF|FE DC BA 98|76 54 32 10| F0 E1 D2 C3|00 02 00 00|00 00 00 00|40 00 00 00| 40 4F 73 53|62 54 5C 7E|59 57 53 42|55 45 7A 57| 61 47 7A 5B|42 4F 7B 61|5D 66 5E 7A|42 7F 40 63| 79 66 05 55|79 4C 60 42|02 10 36 36|36 36 36 36| 36 36 36 36|36 36 36 36|36 36 36 36|36 36 36 36|