여기에 반사에 사용되는 코드의 예 : 소프트웨어가 난독난독 화가 완료된 후 리플렉션을 통해 C#에서 클래스/속성을 찾는 가장 좋은 방법은 무엇입니까?
var i = typeof(Program).Assembly.CreateInstance("test.Program");
후, 코드가 분명히 작동이 중지됩니다.
나는 난독 화가 완료된 후 변경되지 않는 클래스의 속성을 검색하여이 문제를 해결하기 위해 노력하고 있습니다. 나는 타입으로 그것을 시도했다 .GUID,하지만 디버그 버전을 실행할 때, 하나의 GUID를 얻고, 난독 화가 완료된 후 릴리스에서 GUID가 변경된다.
나는 난독 화를 위해 Eazfuscator.NET을 사용하고 있습니다.
가능하면 클래스/메소드를 표시하기 위해 속성을 사용하지 마십시오.
무엇이 효과가 있을지에 대한 아이디어가 있습니까?
호기심에서 벗어나 클래스 및 메소드를 표시하기 위해 속성을 사용하지 않으려는 동기는 무엇입니까? –
"나는 X를하고 싶다.하지만 쉽고 분명한 해결책을 피하고 싶다. 왜 그런지 말하지 않을 것이다."라는 질문을하는 사람들은 항상 혼란 스럽다. 우리는 초능력이 아닙니다. "난독 화를 건너 뛸 속성으로 표시"와 같은 분명한 해결책을 피할 이유가 있다면 그 이유가 무엇인지 확실히 알 수 없습니다. 아마도 당신은 어려운 일을하는 것의 도전을 즐기지 않을 것입니다. –
게다가, 질문은 조금 자책하고 있습니다. 공격자를 물리 칠 수있는 obfuscator를 사용하려고하지만, 공격자가 그것을 물리 칠 수있을만큼 충분히 약해 지길 원할 것입니다. 확실하게 obfuscator를 물리 칠 수있는 방법을 찾으면 걱정되는 공격으로부터 당신을 보호하기 위해 의존해서는 안됩니다! –