제목에서 말했듯이, 어떻게 수행 될까요? opcode의 시작 부분에 1 바이트를 추가하면 메모리의 주소가 1 바이트로 푸시됩니다. 원래실행에 영향을 미치지 않고 PE에 바이트 추가
:
0x1 mov ecx, 10
0x2 mov eax, 1
0x3 inc eac
0x4 cmp eax
0x5 jl 0x3
추가 바이트 : 당신은 질문을 이해 해달라고하면 수동으로 모든 JMP를 설정
0x1 NOP
0x2 mov ecx, 10
0x3 mov eax, 1
0x4 inc eac
0x5 cmp eax
0x6 jl 0x3
내가 을까, 전화 등을하거나 할 수있는 다른 방법이 있습니다 그것?
프로그램에서 사용 된 모든 메모리 주소를 수동으로 검사하여 조정해야하는지 확인해야합니다. 평범하지 않은 프로그램에서는 수정해야 할 주소가 어디든지있을 수 있으므로 실용적이지 않습니다. 또한 목록에있는 대부분의 명령어는 1 바이트 이상입니다. –
흠, 이것은 정확한 복제물이 아닐 수도 있습니다. 필자가 골랐던 dup-target은 새로운 코드를 추가하는 특정 방법 (새로운 섹션에 넣고 기존 insns를 jmp로 바꾸는 방법)이지만 Jean-François의 대답은 다른 기술을 지적합니다. –