2015-06-01 2 views
-4

У меня есть некоторые проблемы с моим проектом. Я хочу вставить свой код в любую программу. Я объясняю ситуацию: моя программа принимает файл (тип PE) и запускает XOR'ed данные из первой секции в последнюю секцию. Затем я загружаю в последний раздел свой код ASM, который декодирует эти данные. Я отметил последний раздел, как (Write, Execute, Data). Мой ASM Код:PE File Injection

mov eax, /*I insert address of the beginning of the first section*/ 
mov ebx, /* I insert orginal EntryPoint (need to use jmp in the end)*/ 
mov cx, /*I insert number of bytes between Last Section and First*/ 
DO: 
    mov ch, [eax] 
    xor ch,2 
    mov [eax], ch 
    inc eax 
    loop DO 
jmp ebx 

я починил VirtualSize, SizeOfRawData (добавить 24 к каждому + сделал выравнивание). Также я изменил SizeOfImage и BaseOfCode (здесь я написал новый адрес my asm code (pLastSectHeader->Misc.VirtualSize)).

Но у меня проблема при запуске моего приложения (которое я ввел). Помогите мне, пожалуйста, с моей проблемой :) Я пытаюсь сделать это несколько недель.

P.S Мой код на Plain C + WinAPI http://pastebin.com/Q4EJvM2J

+0

Добро пожаловать в переполнение стека! Возможно, вы захотите проверить [как задать вопрос] (http://stackoverflow.com/help/how-to-ask). Правильное форматирование вопроса поможет вам получить ответ, который вы ищете. –

+2

Удачи, убедительные антивирусные программы, что вы делаете это с лучшими намерениями. – IInspectable

ответ

0

ch является частью ecx так что вы переписав счетчик. Кроме того, x86 позволяет xor с операндом памяти, поэтому просто сделайте xor byte [eax], 2. Вдобавок, вы должны загрузить ecx не только cx, потому что loop использует все ecx.

Обратите внимание, что если разделы, которые вы пытаетесь расшифровать, не отмечены как записываемые, вы также столкнетесь с проблемами.

Учиться использовать отладчик и в следующий раз предоставить лучший вопрос, чем «У меня проблема при запуске моего приложения».

+0

Большое вам спасибо! Я понимаю, что вы замечаете. Но, возможно, у вас есть некоторые идеи о том, почему мой PE-файл недействителен? Я оставил свой код в сообщении – MaZaHaKa

Смежные вопросы