SetCurrentDirectoryİşlem zaten başlatıldıktan sonra aramak için DLL enjeksiyonu kullanabilirsiniz . Bu bir enjektör uygulaması, artı enjekte etmek DLL oluşturmak gerekir. Bazı eğiticiler var; muhtemelen bulduğum en iyi iki şey:
Bunu başarmak için iyi miktarda C ++ programlama arka planına (ve çalışan bir yapı ortamına) ihtiyacınız olacaktır.
Ancak, bu hizmetin geçerli dizine baktığını varsayar. Başka bir olasılık da kullanıyor olması %path%. "Başlıyor, system32birkaç konum daha ve sonunda kendi dizini çalışıyor " diyorsunuz, bu yüzden bu benim için daha olası görünüyor.
Eğer gördüğünüz dizinleri karşılaştırın procmoninizle %path%. Bunlar aynıysa, hizmeti çalıştıran kullanıcının SYSTEM %path%ya %path%da kullanıcının değiştirilmesini düşünün , böylece aramasını istediğiniz dizin önce olur.
Fred'in haklı olduğuna inanıyorum - çok sık olmadıkça, bunlardan herhangi birini yaparak önemli bir performans avantajı görmeniz olası değildir . Basit dosya açma işlemleri, özellikle yerel bir yolsa ve dosya gerçekten mevcut değilse, özellikle pahalı değildir.