ਪ੍ਰੀਫਿਕਸ ਹਟਾਉਣ ਤੋਂ ਬਾਅਦ ਵੀ proxychains ਮੌਜੂਦ ਹੈ
LD_PRELOAD ਵਿਰਾਸਤ ਰਾਹੀਂ ਅਚਾਨਕ ਲੋਡ ਹੋਏ ਪ੍ਰੌਕਸੀ ਰੈਪਰ ਦਾ ਪਤਾ ਲਗਾਓ ਅਤੇ ਅੱਗੇ ਹੋਣ ਵਾਲੇ ਪ੍ਰੋਸੈਸ ਲਾਂਚ ਨੂੰ ਪਹਿਲਾਂ ਲੋਡ ਹੋਈਆਂ ਲਾਇਬ੍ਰੇਰੀਆਂ ਤੋਂ ਵੱਖਰਾ ਕਰੋ।
ਤੁਸੀਂ ਕਿਸੇ ਕਮਾਂਡ ਵਿੱਚੋਂ proxychains ਹਟਾਉਂਦੇ ਹੋ, ਉਹਨੂੰ ਦੁਬਾਰਾ ਚਲਾਉਂਦੇ ਹੋ ਅਤੇ ਫਿਰ ਵੀ ਰੈਪਰ ਦਾ ਸ਼ੁਰੂਆਤੀ ਸੁਨੇਹਾ ਦਿਸਦਾ ਹੈ। ਐਪਲੀਕੇਸ਼ਨ ਸੈਟਿੰਗ ਲੱਭਣ ਤੋਂ ਪਹਿਲਾਂ ਲਾਂਚ ਵਾਤਾਵਰਣ ਦੀ ਜਾਂਚ ਕਰੋ।
ਲੀਨਕਸ ਉੱਤੇ LD_PRELOAD ਡਾਇਨਾਮਿਕ ਲਿੰਕਰ ਨੂੰ ਕਹਿੰਦਾ ਹੈ ਕਿ ਦਿੱਤੀਆਂ ਸ਼ੇਅਰਡ ਵਸਤੂਆਂ ਆਮ ਲਾਇਬ੍ਰੇਰੀਆਂ ਤੋਂ ਪਹਿਲਾਂ ਲੋਡ ਕਰੇ। ਪ੍ਰੌਕਸੀ ਰੈਪਰ ਇਸ ਤੰਤਰ ਨੂੰ ਸਮਰਥਿਤ ਨੈੱਟਵਰਕ ਕਾਲਾਂ ਨੂੰ ਰੋਕਣ ਲਈ ਵਰਤ ਸਕਦੇ ਹਨ। ਜੇ ਕਿਸੇ ਨੇ ਸ਼ੈੱਲ ਵਿੱਚ ਵੇਰੀਏਬਲ ਐਕਸਪੋਰਟ ਕੀਤਾ ਹੈ, ਤਾਂ ਬਾਅਦ ਵਾਲੇ ਚਾਈਲਡ ਪ੍ਰੋਗਰਾਮ ਇਸਨੂੰ ਵਿਰਾਸਤ ਵਿੱਚ ਲੈ ਸਕਦੇ ਹਨ, ਭਾਵੇਂ ਉਹਨਾਂ ਦੀਆਂ ਕਮਾਂਡ ਲਾਈਨਾਂ ਵਿੱਚ ਕੋਈ ਰੈਪਰ ਪ੍ਰੀਫਿਕਸ ਨਾ ਹੋਵੇ।
ਉਸ ਸ਼ੈੱਲ ਵਿੱਚ ਪਹਿਲੀ ਸਿਰਫ਼-ਪੜ੍ਹਨ ਜਾਂਚ ਇਹ ਹੈ:
printf '%s\n' "$LD_PRELOAD"
ਪ੍ਰੌਕਸੀ ਰੈਪਰ ਲਾਇਬ੍ਰੇਰੀ ਲੱਭੋ, ਪਰ ਇਹ ਸੰਭਾਵਨਾ ਰੱਖੋ ਕਿ ਵੇਰੀਏਬਲ ਹੋਰ ਜਾਣ-ਬੁੱਝ ਕੇ ਲੋਡ ਕੀਤੀਆਂ ਲਾਇਬ੍ਰੇਰੀਆਂ ਵੀ ਸੂਚੀਬੱਧ ਕਰ ਸਕਦਾ ਹੈ। ਹਰ ਐਂਟਰੀ ਨੂੰ ਅੰਨ੍ਹੇਵਾਹ ਹਟਾਉਣਾ ਕਿਸੇ ਹੋਰ ਟੂਲ ਨੂੰ ਵਿਗਾੜ ਸਕਦਾ ਹੈ।
ਲਾਂਚਰ ਬਦਲੋ, ਫਿਰ ਪ੍ਰੋਗਰਾਮ ਦੁਬਾਰਾ ਚਲਾਓ
ਪ੍ਰਭਾਵਿਤ ਪ੍ਰੋਗਰਾਮ ਚਲਾਉਣ ਵਾਲੇ ਵਾਤਾਵਰਣ ਵਿੱਚੋਂ ਅਚਾਨਕ ਪ੍ਰੌਕਸੀ ਪ੍ਰੀਲੋਡ ਹਟਾਓ। ਜੇ ਸਟਾਰਟਅਪ ਫਾਈਲ ਜਾਂ ਲਾਂਚਰ ਇਸਨੂੰ ਐਕਸਪੋਰਟ ਕਰਦਾ ਹੈ, ਤਾਂ ਉਸ ਸਰੋਤ ਨੂੰ ਵੀ ਠੀਕ ਕਰੋ। Bash ਲਾਂਚ ਲਈ ਸਟਾਰਟਅਪ ਫਾਈਲਾਂ ਦਾ ਕ੍ਰਮ ਅਪਣਾਓ। ਸਾਫ਼ ਸ਼ੈੱਲ ਦਾ ਨਵਾਂ ਚਾਈਲਡ ਪੁਰਾਣੇ ਟਰਮੀਨਲ ਜਾਂ IDE ਦੇ ਚਾਈਲਡ ਤੋਂ ਵੱਖਰਾ ਕੇਸ ਹੈ, ਜੋ ਵੇਰੀਏਬਲ ਨੂੰ ਅਜੇ ਵੀ ਰੱਖਦਾ ਹੈ।
ਵਾਤਾਵਰਣ ਵੇਰੀਏਬਲ ਅਣਸੈੱਟ ਕਰਨ ਨਾਲ ਪਹਿਲਾਂ ਹੀ ਇਸ ਨਾਲ ਸ਼ੁਰੂ ਹੋਏ ਪ੍ਰੋਸੈਸ ਵਿੱਚੋਂ ਲਾਇਬ੍ਰੇਰੀ ਅਣਲੋਡ ਨਹੀਂ ਹੁੰਦੀ। ਇਸ ਲਈ ਚੱਲ ਰਹੀ ਐਪਲੀਕੇਸ਼ਨ ਸੰਸ਼ੋਧਿਤ ਲਾਂਚ ਪਥ ਰਾਹੀਂ ਦੁਬਾਰਾ ਸ਼ੁਰੂ ਹੋਣ ਤੱਕ ਰੈਪਰ ਰੱਖ ਸਕਦੀ ਹੈ।
ਜੇ ਵੇਰੀਏਬਲ ਨਹੀਂ ਹੈ, ਤਾਂ /etc/ld.so.preload ਵਰਗੇ ਹੋਰ ਸੰਰਚਿਤ ਪ੍ਰੀਲੋਡ ਸਰੋਤ ਅਤੇ ਅਸਲ ਲਾਂਚਰ ਜਾਂਚੋ। ਇਸ ਤੰਤਰ ਦੀਆਂ ਹੱਦਾਂ ਹਨ: ਸਟੈਟਿਕ ਐਗਜ਼ੀਕਿਊਟੇਬਲ, ਸਿੱਧੇ ਸਿਸਟਮ ਕਾਲ ਅਤੇ ਸੁਰੱਖਿਅਤ-ਐਗਜ਼ੀਕਿਊਸ਼ਨ ਪਾਬੰਦੀਆਂ ਵੱਖਰੇ ਵਿਵਹਾਰ ਕਰ ਸਕਦੀਆਂ ਹਨ। sudo ਨਾਲ ਰੈਪਰ ਦਾ ਕ੍ਰਮ ਮਹੱਤਵਪੂਰਨ ਹੈ। ਵਿਰਾਸਤ ਵਿੱਚ ਮਿਲਿਆ ਪ੍ਰੀਲੋਡ ਅਚਾਨਕ ਰੋਕਣ ਦੀ ਵਿਆਖਿਆ ਕਰਦਾ ਹੈ; ਇਹ ਸਬੂਤ ਨਹੀਂ ਕਿ ਹਰ ਕਿਸਮ ਦਾ ਨੈੱਟਵਰਕ ਟ੍ਰੈਫਿਕ ਪ੍ਰੌਕਸੀ ਵਰਤਦਾ ਹੈ।