2010-01-20 8 views
5

모든 어셈블리의 32 비트 CRC (Cyclic Redundancy Check)를 제공해야하며,이 어셈블리는 릴리스 제어용으로 저장되며 나중에 시스템에있는 어셈블리와 비교할 수 있습니다 (릴리스가 어떤 방식 으로든 손상되지 않았는지 확인하기 위해)..NET 어셈블리가 변경됩니까?

.NET 어셈블리 이제까지 변경 마십시오

내가 어셈블리 자체의 CRC를 계산 아무 문제가 없다, 내 질문은 이것이다? 나는. 어셈블리의 실제 바이너리 내용이 대상 시스템에 설치된 후 어떤 이유로 변경됩니까? 그렇다면 CRC도 변경 될 것입니다.

표준 시스템 어셈블리가 아닌 내 소프트웨어로 패키지 된 어셈블리 만 언급합니다.이 어셈블리는 확인되지 않습니다.

환호 당신은 (그들을 덮어 쓰기) 어셈블리를 업데이트하지 않으면, 그들은 절대 변하지 않을 것

+0

어셈블리에 서명하는 용도가 아닌가요? – Svish

+0

다른 어떤 것보다 관리를 릴리스하는 것이 우리 회사의 접근 방식 때문입니다. CRC는 주로 임베디드 개발 과거에서 비롯된 것이며,이 프로세스는 모든 Windows 개발 작업에 적용됩니다. – Kazar

답변

6

휠을 다시 발명하고 있습니다. 강한 이름은 이미이 작업을 수행하고 있습니다. 올바른 CRC32를 갖도록 어셈블리를 조작하면 매우 간단합니다. 강력한 이름을 깨는 것은 암호로 안전합니다.

+0

네, .NET에는 사용자 지정 방법보다 확실히 선호해야하는 요구 사항을 처리하기위한 메커니즘이 이미 내장되어 있습니다. –

+0

다른 권장 사항을 알려 주셔서 감사 드리며 귀하가 옳다는 것이 바람직한 접근 방법입니다. 그러나 이것은 자신보다 수석 엔지니어가 더 많이 요구하는 회사 정책입니다. 내가 할 수있는 일이 많지 않아. – Kazar

4

.

+0

또는 어셈블리에 다시 서명 할 수 있습니다. –

-1

어딘가에 .net optimiser가 어떤 어셈블리를 검색하고 이들을 '최적화'할 수 있는지를 기억하십니까? 그것이 설치 후이 일을 들었 - 결코 직접 들여다 보지 마 - 그들이 아마 당신이 정말로 보장 할 수있는 뭔가가 있는지 모르겠다는 것을 상상 id.

그것을 시도해보십시오! 행운을 빌어 요.

+3

Ngen.exe에 대해 이야기하고 있습니다. 다른 파일을 만듭니다. –

0

프로그래머가 프로그램에 불쾌한 해킹을 포함시키지 않으면 설치 또는 업데이트 중에 만 변경해야합니다. 그러나 의심스러운 경우, 해당 파일을 쓰거나 수정하기위한 사용자 권한을 철회하면 어떨까요?

관련 문제