proxychains ຍັງຢູ່ຫຼັງຈາກເອົາ prefix ອອກ
ຕິດຕາມ wrapper proxy ທີ່ຖືກໂຫຼດໂດຍບໍ່ໄດ້ຄາດໝາຍຜ່ານການສືບທອດ LD_PRELOAD ແລະ ແຍກການເລີ່ມ process ໃໝ່ຈາກ library ທີ່ໂຫຼດແລ້ວ.
ທ່ານເອົາ proxychains ອອກຈາກຄຳສັ່ງ, ເລີ່ມມັນຄືນໃໝ່ ແລະ ຍັງເຫັນຂໍ້ຄວາມເລີ່ມຕົ້ນຂອງ wrapper. ກວດເບິ່ງສະພາບແວດລ້ອມການເລີ່ມກ່ອນຈະຊອກຫາການຕັ້ງຄ່າໃນແອັບ.
ໃນ Linux, LD_PRELOAD ຂໍໃຫ້ linker ແບບເຄື່ອນໄຫວໂຫຼດວັດຖຸຮ່ວມທີ່ກຳນົດໄວ້ກ່ອນ library ທຳມະດາ. wrapper proxy ສາມາດໃຊ້ກົນໄກນັ້ນເພື່ອດັກຈັບການເອີ້ນເຄືອຂ່າຍທີ່ຮອງຮັບ. ຖ້າໃຜສົ່ງອອກຕົວແປນັ້ນໃນ shell, ໂປຣແກຣມລູກຕໍ່ມາສາມາດສືບທອດມັນໄດ້ ເຖິງແມ່ນວ່າແຖວຄຳສັ່ງຂອງພວກມັນບໍ່ມີ prefix ຂອງ wrapper ກໍຕາມ.
ການກວດສອບແບບອ່ານຢ່າງດຽວຄັ້ງທຳອິດໃນ shell ນັ້ນແມ່ນ:
printf '%s\n' "$LD_PRELOAD"
ຊອກຫາ library ຂອງ wrapper proxy, ແຕ່ຮັກສາຄວາມເປັນໄປໄດ້ທີ່ຕົວແປອາດຈະລາຍຊື່ library ອື່ນທີ່ຖືກໂຫຼດໂດຍເຈຕະນາ. ການເອົາທຸກລາຍການອອກຢ່າງບໍ່ພິຈາລະນາອາດລົບກວນເຄື່ອງມືອື່ນ.
ປ່ຽນ launcher, ແລ້ວເລີ່ມໂປຣແກຣມຄືນໃໝ່
ລຶບການໂຫຼດ proxy ທີ່ເກີດຂຶ້ນໂດຍບໍ່ໄດ້ຕັ້ງໃຈອອກຈາກສະພາບແວດລ້ອມທີ່ເລີ່ມໂປຣແກຣມທີ່ໄດ້ຮັບຜົນກະທົບ. ຖ້າໄຟລ໌ເລີ່ມຕົ້ນ ຫຼື launcher ສົ່ງອອກມັນ, ແກ້ໄຂແຫຼ່ງນັ້ນດ້ວຍ. ສຳລັບການເລີ່ມ Bash, ໃຫ້ປະຕິບັດຕາມ ລຳດັບໄຟລ໌ເລີ່ມຕົ້ນ. ລູກໃໝ່ຂອງ shell ທີ່ສະອາດແມ່ນກໍລະນີຕ່າງຈາກລູກຂອງ terminal ຫຼື IDE ເກົ່າທີ່ຍັງຖືຕົວແປນັ້ນ.
ການຍົກເລີກຕົວແປສະພາບແວດລ້ອມບໍ່ໄດ້ຖອດ library ອອກຈາກ process ທີ່ເລີ່ມດ້ວຍມັນແລ້ວ. ດັ່ງນັ້ນແອັບທີ່ກຳລັງແລ່ນອາດຮັກສາ wrapper ໄວ້ຈົນກວ່າຈະເລີ່ມຄືນຜ່ານເສັ້ນທາງທີ່ແກ້ໄຂແລ້ວ.
ຖ້າຕົວແປບໍ່ມີ, ໃຫ້ກວດເບິ່ງແຫຼ່ງໂຫຼດກ່ອນອື່ນທີ່ຕັ້ງຄ່າໄວ້ ເຊັ່ນ /etc/ld.so.preload ແລະ launcher ຕົວຈິງ. ກົນໄກນີ້ມີຂີດຈຳກັດ: ໄຟລ໌ປະຕິບັດການແບບສະຖິດ, ການເອີ້ນລະບົບໂດຍກົງ ແລະ ຂໍ້ຈຳກັດການປະຕິບັດທີ່ປອດໄພ ອາດເຮັດວຽກຕ່າງກັນ. ກັບ sudo, ລຳດັບຂອງ wrapper ສຳຄັນ. ການໂຫຼດກ່ອນທີ່ສືບທອດມາອະທິບາຍການດັກຈັບທີ່ບໍ່ໄດ້ຄາດໝາຍ; ມັນບໍ່ແມ່ນຫຼັກຖານວ່າການຈະລາຈອນເຄືອຂ່າຍທຸກຊະນິດໃຊ້ proxy.