1:ナマケロ@ざいりょうぶくろ投稿日:2020/06/23 23:30:07 ID:DDtMVCtc
【追記】ポケモン剣盾で確認されているレイドのパスワードのバグについて
— うつみ (@ossanmoai) June 23, 2020
うちの工学部生およびOBの知識とひらめきにより一応の結論が出ました.
結論から言うとレイドのパスワードは完全一致ではなくても入れます.
交換対戦は検証していませんが同じ可能性はあります. https://t.co/NXiAyTQto2
以下まとめ
a を1桁の自然数とする.
b,c,d,e,f,g,h を1桁の整数とする.
・頭1桁目が『0』の場合
「0abcdefg」のパスワードのレイドには「abcdefgn」(nは1桁の任意の整数)で入ることが可能である.・頭1桁目が『0』以外の場合
「abcdefgh」のパスワードのレイドには「abcdefgn」(nは1桁の任意の整数)で入ることが可能である.・頭1桁目,2桁目共にが『0』の場合
完全一致のみ入ることが可能.
頭2桁を「00」とすると完全一致でしか入れないため比較的安全である
引用元
スポンサーリンク
11:ダンゴロ@かいふくポケット投稿日:2020/06/23 23:49:13 ID:q9cMWNaY
あーそういう事ね完全に理解したわ

3:スボミー@メガバングル投稿日:2020/06/23 23:33:48 ID:.y7MzY6.
なるほどわからん・・・!
2:ビークイン@ベリブのみ投稿日:2020/06/23 23:32:16 ID:1tsgP5bk
普通に面白くて良い
10:テブリム@きょうかポケット投稿日:2020/06/23 23:48:43 ID:kR02mhjU
頭良さそうでついていけない
5:ピチュー@むらさきはなびら投稿日:2020/06/23 23:35:15 ID:aXYUlHko
つまり最初を0にすれば大丈夫ってことか
・・・ん?結局実質7桁じゃね?
・・・ん?結局実質7桁じゃね?
7:通りすがりのスライム◆v/ACWh8G7A投稿日:2020/06/23 23:39:31 ID:DDtMVCtc
>>5
最初を0にしても後ろ7桁が他の人の前7桁と一致してたら入られるから00にしないと駄目
よって実質6桁
最初を0にしても後ろ7桁が他の人の前7桁と一致してたら入られるから00にしないと駄目
よって実質6桁
6:サンドパン@ゴーストジュエル 投稿日:2020/06/23 23:37:02 ID:gIwcGhAk
上一桁が機能していないという情報があったけどそれも7桁が機能していることに関係してたのか
9:通りすがりのスライム◆v/ACWh8G7A投稿日:2020/06/23 23:47:56 ID:DDtMVCtc
他にもこういう考察をしてる人もいた
ガバガバパスチェック関数、取り敢えず思い付いたのを書いてみたけどどちらかというと文字列→数値の変換でやらかしてそうな気がするんだよなぁ pic.twitter.com/jCtXWeJ2RD
— ぼんじり(15) (@_3z8) June 23, 2020

46:ぽけりん@ポケモンBBS投稿日:2020-06-24 21:05 ID:YzQ1Zjg2
ちなみにぼんじり氏は乱数調整ツール作ってる人の1人
17:通りすがりのスライム◆v/ACWh8G7A投稿日:2020/06/24 00:05:08 ID:xheMa9hE
>>9の解説
大体合ってると思うけど間違ってたら指摘してください
①:数字を入れる箱に入れてたパスワードを文字を入れる箱に移し替えた時に先頭の0が抜けて7桁になる
(12345678とかはそのままだけど01234567だと0が抜けて1234567になる)
↓
②:上から1桁ずつ確認していくけど入力ミスで7桁目までしか確認されない。
↓
③:①で言ったとおり先頭の0は抜けてるから12345678と01234567が同じだと判断される。
大体合ってると思うけど間違ってたら指摘してください
①:数字を入れる箱に入れてたパスワードを文字を入れる箱に移し替えた時に先頭の0が抜けて7桁になる
(12345678とかはそのままだけど01234567だと0が抜けて1234567になる)
↓
②:上から1桁ずつ確認していくけど入力ミスで7桁目までしか確認されない。
↓
③:①で言ったとおり先頭の0は抜けてるから12345678と01234567が同じだと判断される。
18:ヘラクロス@ヘルガナイト投稿日:2020/06/24 00:05:59 ID:SYUAQ1PI
>>17
クソわかり易い
クソわかり易い
SNS共有:記事タイトルとURLをコピーする
注目記事!
カテゴリ「ゲーム」の最新記事
人気記事(10日集計)
コメント(→コメント投稿)
いち
ぼんじりって
任意コード関連のやべーやつじゃん
日本語でおk
変換でやらかすなら文字列同士で比較してやれよw
英字も入れれば解決じゃないの?
よく分かんないから誰か3行で猿でも分かる様に解説して
なるほどそうか・・・つまり?
つまりゲーフリに技術力がないってことでOK?
プログラミング覚えたての頃に誰しもやるやつじゃん…
よくわからんかすげー
でも頭00にすると実質6桁パスワードじゃん
プログラミング覚えたてならfor文で回すときに1文字多くしたとか、String型とint型の型変換でエラーが出たとか良くあるけど、最終チェック入った納品物で間違えるのは流石にどうなん・・・
考察(チー牛の妄想)
全体確率では頭文字00の完全一致は有用だが、それが知れ渡ると寧ろ普通に7桁一致にした方が偶然一致してしまう確率が低くなるというジレンマ
4から8だし定数設定ミスって可能性もありそう
3行でまとめたらこうかな
・入力桁数4→8にしました!
・チェック桁数4→7にしちゃいました!
・8桁入力できるけど先頭7桁しかチェックしません!
じゃね?
記事記載の通り先頭の0無視してるなら入力値まとめてStr型変換するのに失敗してそうだけど
まあ単純なミスだが簡単な修正だからテストも簡単にしかしてないっぽいわね
このミスで余計なテスト手順増えて工数増えたのに人数そのままで…ヴォエ!!
ゲーフリの雇ってる土方の質が悪いって話やな
プログラミング習ったけど正直わからんぞ
4桁のときには発生してなかったのに8桁になったら発生するようになったんだろ?
桁数や文字数を増やすだけなら、文字列型と整数型の変換ミスがアップデートで混入するのはおかしくないか?
なんか余計なロジック変更やったのかな?
※17
Excelで00123456って入力したセルの値が勝手に123456になるようなもん
とにかく「00xxxxxx」ってパスワード設定にすればいいんだな!
※18
16bitの数値型使ってたんじゃないか?それが8桁になったから文字列変換入れたとか
※19
1行でめっちゃ分かりやすい説明
単純にパスワード間違えるお子さんがいるんだからその為の配慮な
ゲーフリってバカみたいに儲けてる金何に使ってんの?笑
こんな学生でもしないような超初歩的なミス放ったらかしってマジで企業として無能すぎんぞ
「”優秀な”エンジニアが不足している」のがよくわかる
※23
そんなわけねーじゃんアホか
自分語りとイキりと煽りが無いだけマシ
え?普通の人は説明する時にそんな要素は入れない?
※13
お前が何故チー牛って煽ったのか理解できない
※28
みんなチー牛チー牛言ってるから使いたくなったんでしょ
Excelでよくあるやつかなるほどなー
知ったばっかのスラング使いたくなるお年頃なんやろ
ほっといてやれ
ゲーム専門学校生未満レベルだな
げフリはポケモンの権利手放せ
ワイオコリザルよくわからなかった
最初の方は全然駄目じゃん…
※28
何言ってるか理解できないっていう嫉妬から
レッテルを張ることで相手の地位を一方的に低くランク付けしようとする行為
論破された左寄りに多い
※18
チェックする桁数を4から変更するときに8桁だから7ってやった可能性が高い。
理由がよくわからんな
一旦数値型に変換してるのは処理や通信の都合で仕方ないことなのかもしれないけど、そのあと文字列で比較するのが謎
しかも一切テストしてないとか大丈夫かこの会社?
※31
コナミ「権利こうたるで、ナンボなん?」
ガチ考察(検証)
「0を含まない8桁同士の場合は前の7桁を参照する」っていう仕様の理由がわからんな
1桁目が0の時はExcelのアレと同じって説明でいいけど
※37
大丈夫じゃないからマウスカーソルが映ったりテキスト等がおかしかったりするんやで
※19
すげー分かりやすい
ありがとう
ゲーフリはポケモンだけで技術力成長してないからな
ゲーフリこれいつ直すんやろか
いいからさっさと直せ
ちなみにぼんじり氏は乱数調整ツール作ってる人の1人
ダブルオーってすごいんやな
「8桁パスワードは高度な技術なのでそう簡単には実装できなかったらしい」って煽られてて草
部◯民チー牛のid:NjFiYThl発狂してて草、そのまんま崖から落ちて◯ね!!
※15
先頭文字を無視してるんじゃなくて、stringからintに変換したら当然先頭の0はなかったことになる
パスワードの数列としてでなく8桁の数字として認識される
(最上位の0を無視する)
そもそも上から7桁目までしか読んでいない
という二つのミスが存在するってことか
最初を00にすると6桁しかないことになるから7桁以上は不一致判定なのか?
でも最近こういう検証のユーザー側の間違い多いからな
そちらはそちらで信用できない
サイホーンでもわかる説明してくれる人がいてありがてえよ
プログラミングのド素人が8桁の整数の比較に挑戦できて偉い!
ミスは誰でもあるさ
エラーの出ないミスほど厄介な物はない
頭わるそう
※55
入力された値が仮に「001234156」だとして、これはstringからintに変換かけると「123456」として扱われる。
「00012345」でも変換したら前0は意味を成さないので「12345」になる。
これ普通に結構な問題なんだけどな
プログラムにミスがあることそのものが問題じゃなくて基本的なテストケースを考えて実行するだけで見つかるレベルのミスが残ってることが問題
要するに技術者なら知ってて当たり前の知識すらない人間が作ってるってことやで
まともな会社の開発環境とは思えん
考察じゃなくて検証じゃん
ポケモン新作、ゴミ
谷くん無能説急浮上
そこらの日曜プログラマーでもやらんわこんなレベルの低いミス
ポケモンユナイトだけかよ。これは荒れるぞ。
管理人さん
まだポケモンユナイトの記事書いてないの?
それともまだ書いてる途中?
はじめしゃちょー4ね
※61
なんで安価向けてくれたのかわからんのだけど、
数字として意味をなさない0が消えるってのは理解してるが?
stringとかintとか言われてもわからんしパスワードとして
そうなっちゃまずいってのは間違ってないよな?
なおバカエルも理解できていない模様
つまり両面待ちってことだな!(適当)
これが金や重要な情報が絡むものだったらヤバかったな
※19
鬼才現る
プログラムの仕様とか関係ないんだよなぁ
認証キー足りないとか大問題なんだけどゲームだから大事にはしないね
0落ちか
ようするに開発環境がゴミってことか
なぜはじめから文字列型で読み取らない?
11111111と11111112
01234567と12345678が同じに扱われるってどんだけだよ
どのみち上から7桁しか参照してない、最初の上一桁の0はないもの扱いされる、か
※62
パスワードのテストでそこまで確認するパターン作るか?というか「12345678」と「01234567」がマッチするかなんてテスト組むんならこのミス発生しないだろ
そもそも変換ミスやる以前に
何でチェック桁数が7なんだよ
誰か教えてくれ。八桁あるパスワードなのに7桁しかチェックしないようなプログラムを作る意図を
これプログラム確認してチェックすりゃすぐ分かるだろうに見逃されてるのはバグ検査する人員がプログラム見てないってことかね
プログラム見ずに動作確認なんて不毛なことやってるんか
そもそもなんでこんなプログラムなのか謎だが
未経験の新入社員に作らせただろ絶対
さすがにガバガバ過ぎて
しかもこのバグ直したらどこかに影響出るとも思えんし、サッサと直せよ
※81
0,1,2,3,4,5,6,7
8つあるヨシ!
真相は分からんけどそもそも文字列比較して真偽返すだけで良くねコレ
Cで標準サポートされてる機能なんだけどゲフリのプログラマはCすら知らないの?
※80
マッチするか?じゃなくてマッチしないよね?ってテストも必要
マッチしないのは無限に考えられるから一部だけをピックアップしたんだろうけどね
下一桁でも違ったら通らないよね?ってのはシステムの性能確かめるなら当たり前のようにやっといたほうが良かったよね
※86
YY通信の仕組みはわからんから細かく言えないけど
それだと対戦とレイドで同じパスワード使ってるときも真で通りそう
似たようなあつ森とは違ってマッチしたい双方以外にも大勢の人がが送受信を同時に行っている以上、受け取った値に真偽返すだけだと同じパスワードが三人以上いた場合バグが起こりそう
単体ならそれでいいんだけどね
他のシステムとの関わりがあるから一概にそれが最適のプログラムとは言えない
俺には全く分からん
ほげーって感じやわ
※88
そんなん場合分けすりゃいいだけでしょ
対戦/レイドの切り分けも、パスワードのマッチングも一個の条件分岐でやろうとしてるわけ?
そんなの絶対にバグの温床になる
※90
あなたはYY通信がどういう仕組みが知ってるのかもしれないけど中身が見えない状態でこういうことすらしてないのって決めつけるのは机上の空論すぎてね…
※91
中身を決めつけているのではなく、※88の想定している仕組みがgmすぎるのを否定しただけ
中身を決めつけているのも机上の空論なのも※88のほうでしょ