これは過去の話なんですけどね AndroidってLinuxLinux言いますけど魔改造されててPOSIX準拠じゃないんですよ 例えばpmコマンドって知ってます? パッケージインスコするのに使うアレ。 今Nexus 5Xで調べたら /system/bin/pm にあるんですよ でもUbuntuには /system なんてないんですわ なのでAndroidを極めると"普通の"(POSIX準拠の)LinuxとAndroidで違う場所にあったりそもそも無かったりなんて事があってしまう訳で 今回も他人事とはいえ起こっちゃったんですね /etc/resolv.conf がねぇぞどこいったと大騒ぎになったんですね。phpからネットにつなぐために じゃあ指定出来るようにしてしまおう、と。 いや指定できたら脆弱性突けるだろ というお話になりそうですか仕方ないね。突かれて死んで頂こう だけどこれってphpの管轄じゃないんですわ その下に居座るlibcっていう奴がハードコーディングしてくれてるわけ 嗚呼、libc触らなアカンのか 今回そのphpは musl を使ってstatic linkされておりました。archは参考までにaarch64でした で、muslを改造する訳ですが、沢山あるファイルの中からresolv.confをハードコーディングしているしている部分をすぐ見つけるのは大変なので、GitHubにImportしてから検索掛けたんですな なんと /src/network/resolvconf.c だけ触れば要件は満たせちゃうんですな。しかもやってることは超単純。 チャチャっと弄って、終わり! でもコンパイラ無いと意味がないんですな まぁ musl-cross-make なんていう便利なツールキットがあったものだ これに適当にパッチをブチ込めば改造musl搭載コンパイラ作れちゃうんですな makeすると数十分掛かるので暇つぶしの方法ぐらい探しておこうね あとは適当にphpをコンパイルして喚いてる何かにぶん投げて終わり 乙