Сейчас на форуме: -Sanchez-, barsik, vasilevradislav, vsv1, padad42664, kris_sexy (+6 невидимых)

 eXeL@B —› Крэки, обсуждения —› Inline NsPack3.x
Посл.ответ Сообщение

Ранг: 221.3 (наставник), 135thx
Активность: 0.190.07
Статус: Участник

Создано: 19 мая 2007 18:16
· Личное сообщение · #1

Собственно сабж.

Дошел до прыга на оеп:
006082EB 61 popad
006082EC 9D popfd
006082ED B8 01000000 mov eax,1
006082F2 C2 0C00 retn 0C
006082F5 61 popad
006082F6 9D popfd
006082F7 -E9 7888F6FF jmp packed.00570B74 <--- прыг
006082FC 8BB5 1BFAFFFF mov esi,dword ptr ss:[ebp-5E5]
00608302 0BF6 or esi,esi

После джампа идет всякая ботва которая к лоадеру пакера вроде не относится.
Затираю джамп и вписываю:

mov byte ptr ds:[0056BF54], 0B8
mov byte ptr ds:[0056BF55], 01
mov byte ptr ds:[0056BF56], 00
mov byte ptr ds:[0056BF57], 00
mov byte ptr ds:[0056BF58], 00
jmp 00570B74

Прога вываливается в ексепшион. Кто знает, в чем косяк? Подскажите.

-----
xchg dword [eax], eax





Ранг: 990.2 (! ! !), 380thx
Активность: 0.680
Статус: Модератор
Author of DiE

Создано: 19 мая 2007 18:19
· Личное сообщение · #2

лучше поправь jmp packed.00570B74 на пустое место, а там впиши свой код

-----
[nice coder and reverser]




Ранг: 221.3 (наставник), 135thx
Активность: 0.190.07
Статус: Участник

Создано: 19 мая 2007 18:38
· Личное сообщение · #3

Hellspawn
Я так и делаю.

Пытаюсь заменить вызов функции (call xxxxxxxx) на mov eax, 1

-----
xchg dword [eax], eax





Ранг: 500.6 (!), 7thx
Активность: 0.260
Статус: Участник

Создано: 19 мая 2007 18:45
· Личное сообщение · #4

v0id2k пишет:
Прога вываливается в ексепшион.


А атрибуты секции в памяти какие?
Должны быть RW.



Ранг: 10.8 (новичок)
Активность: 0=0
Статус: Участник

Создано: 19 мая 2007 18:49
· Личное сообщение · #5

v0id2k пишет:
Пытаюсь заменить вызов функции (call xxxxxxxx) на mov eax, 1

На стэк посмотри, с патчем и без, может call'у параметры передаются, а ты стек не восстанавливаешь.



Ранг: 221.3 (наставник), 135thx
Активность: 0.190.07
Статус: Участник

Создано: 19 мая 2007 19:00
· Личное сообщение · #6

NIKOLA
С аттрибутами все путем - E0000060 (запись\чтение\выполнение)

Spate
Функция только восвращает параметры, записывает в eax либо 0, либо 1.

-----
xchg dword [eax], eax





Ранг: 340.0 (мудрец), 22thx
Активность: 0.120
Статус: Участник
THETA

Создано: 19 мая 2007 19:05 · Поправил: FrenFolio
· Личное сообщение · #7

Hellspawn пишет:
лучше поправь jmp packed.00570B74 на пустое место, а там впиши свой код

Вариантов тут может быть несколько.
Задет stub распаковщика, - это чревато ошибками при инлайне.
Нельзя забывать про один важный момент, - тип перехода, - короткий или длинный. Дело в том, что выбрав свободное место, куда будешь вписывать свой код, может так оказаться, что переход превратится в длинный, для которого используется целых 12 байт, в отличие от короткого с его 2 байтами! В этом случае ты также затрешь команды в коде.
Интервал адресного пространства, в пределах которого работает короткий переход = 80 байт. Поэтому нужно по правилам инлайн-патчинга перед передачей управления на OEP сделать прыжок в свободное место кода и выполнить свой патчащий код, а затем уже оттуда и прыгать на предпоследнюю команду перед переходом на OEP. Типа такого
jmp packed.<code cave> ;переход на пустое место в коде
...
mov byte ptr ds:[0056BF54], 0B8 ;твои патчащии инструкции
mov byte ptr ds:[0056BF55], 01
mov byte ptr ds:[0056BF56], 00
mov byte ptr ds:[0056BF57], 00
mov byte ptr ds:[0056BF58], 00
jmp <jump to pre-OEP command jump>
nop


Может быть в проге используется контроль целостности? Отсюда и вылет в эксепшн. Попробуй сделать лоадер...

-----
Программист SkyNet




Ранг: 221.3 (наставник), 135thx
Активность: 0.190.07
Статус: Участник

Создано: 19 мая 2007 19:13
· Личное сообщение · #8

FrenFolio
Ты прав, задет stub распаковщика, я не до конца разобрался и уже полез делать инлайн
Инструкции которые идут после джампа на оеп используется в одной из функций распаковщика, так что придется искать свободное место или создавать дополнительную секцию и уже туда прыгать, а уж потом на оеп.

-----
xchg dword [eax], eax





Ранг: 238.8 (наставник), 67thx
Активность: 0.20
Статус: Участник
CyberHunter

Создано: 19 мая 2007 20:19
· Личное сообщение · #9

Вот только на днях инлайнил прогу под NsPack, там нужно было менять атрибуты секции кода

-----
Nulla aetas ad discendum sera




Ранг: 221.3 (наставник), 135thx
Активность: 0.190.07
Статус: Участник

Создано: 20 мая 2007 17:03
· Личное сообщение · #10

To ALL
Все, заинлайнил. Скоро инлайн патчер зарелизю, возможно с исходниками.

-----
xchg dword [eax], eax





Ранг: 271.6 (наставник), 2thx
Активность: 0.30
Статус: Участник

Создано: 21 мая 2007 10:45
· Личное сообщение · #11

v0id2k пишет:
Скоро инлайн патчер зарелизю

Маладетс! Хачу пабыстеи пасматреть!
А вот с сорцами - это хорошо!

-----
iNTERNATiONAL CoDE CReW





Ранг: 328.7 (мудрец), 73thx
Активность: 0.170.01
Статус: Участник

Создано: 08 сентября 2007 16:26
· Личное сообщение · #12

а где новее 3.7 версию пакера взять




Ранг: 500.6 (!), 7thx
Активность: 0.260
Статус: Участник

Создано: 08 сентября 2007 20:30
· Личное сообщение · #13

r99 пишет:
а где новее 3.7 версию пакера взять


Я ни где ещё не видал новее.


 eXeL@B —› Крэки, обсуждения —› Inline NsPack3.x
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати