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, system32
birkaç 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 procmon
inizle %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.