2011-05-05 1 views
1

의 코드를 변경, 내가 반사경을 통해 파일을 열고, 파일은 내가내가 DLL 파일은 C 번호에 기록되어있는 조립

if (a == 5) 
{ 
} 
에 코드를 변경할 수있는 방법 코드

if (a! = 5) 
{ 
} 

입니다

나는 아직도 당신이 할 수있는

+0

@Brian - Jon Skeet이 지금 깨어 있다면,이 질문은 반드시 몇 분 안에 적절한 답을 얻습니다;) –

+0

Brian이 말한 것에 덧붙이면, 여기에 커뮤니티에 최소한의 참여를하지 않으면 사람들은 당신을 도울 가능성이 적다. 질문에 대한 답변에 가장 도움이되는 답변을 투표하고 답변을 수락하십시오 (투표의 왼쪽에있는 큰 틱을 클릭하십시오). 이렇게하지 않으면 사람들이 귀하의 질문을 무시하게 될 위험이 있습니다. –

+0

heh, 16 진수 편집기에서이 작업을 수행 할 수 있습니다. 오른쪽 75를 74로 바꿔야합니다.) 디스어셈블러가있는 경우 관련 지침을 찾아서 75에서 74로 바꿉니다. do while reversing :) 당신이 찾고있는 opcode는 JNE (0x75)이고 JE (0x74)가되고 싶습니다. – Shark

답변

1

Reflexil 플러그인을 가질 수 MSIL Disassembler

디 컴파일의 USI를 사용하여 해당 도구를 사용하여 IL에서 변경 사항을 적용하고 다시 컴파일하여 사용 MSIL Assembler

컴파일 된 응용 프로그램이 보호되지 않으면 원활하게 작동합니다.

1

일리노이 수정에 대한 대답은 정확하지만 Denis Bauers plugin for reflector을 사용하여 코드를 분해하고 새 프로젝트를 만들 수도 있습니다. 그런 다음 해당 프로젝트를 다시 컴파일하여 새 DLL을 생성 할 수 있습니다.

이렇게하면 일리노이를 다루지 않고보다 친숙한 환경에서 변경 작업을 수행 할 수 있습니다. 변경하려는 언어를 선택할 수도 있습니다.

어셈블리에 서명해야하는 경우 다시로드하는 데 문제가있을 수 있습니다.

+0

Reflexil은 완벽한 VB/C# 편집기와 Intellisense를 제공하여 Reflector에서 바로 코드를 삽입 할 수 있습니다. 참조 : http://www.codeproject.com/KB/msil/reflexil.aspx –

1

다른 대안은 ILSpy이거나 디스어셈블러가 포함 된 Resharper 6.0입니다.

+0

+1 사실은 저에게 새로운 것입니다. 감사! –