Сейчас на форуме: asfa, _MBK_, Rio (+7 невидимых)

 eXeL@B —› Вопросы новичков —› Таблица импорта в XP и Vista после снятия ExeCryptor
Посл.ответ Сообщение


Ранг: 85.5 (постоянный), 16thx
Активность: 0.040.05
Статус: Участник

Создано: 20 января 2009 10:52
· Личное сообщение · #1

Есть программка, навешан Execryptor, без опций, просто навесная защита.
Снимал с помощью Unpacker ExeCryptor RC2 + ImpRec (пробовал и вручную без анпакера) под XP SP2.
Под XP работает замечательно. Но под вистой валится при запуске. Копал, копал, оказалось что импорт некоторых библиотек (rasapi32.dll, iphpapi.dll и т.п.) отличается от XP-шного, т.е. совсем другие функции импортируются на место тех какие должны быть. Причём запакованный EXE работает нормально как под XP так и под вистой, всё импортируется как надо.
Что делать?

PS:ссылку на программку могу дать только в ЛС




Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

Создано: 20 января 2009 12:57
· Личное сообщение · #2

Что значит другие функции на место тех, что должны? В импорте они нормально прописаны? Именно по именам, а не ординалам?




Ранг: 85.5 (постоянный), 16thx
Активность: 0.040.05
Статус: Участник

Создано: 20 января 2009 13:16 · Поправил: RAMZEZzz
· Личное сообщение · #3

К примеру, должно быть так и под ХР так и есть:
Code:
  1. 0071E460  - FF25 F4037B00   JMP     NEAR [DWORD 7B03F4]              ; RASAPI32.RasEnumEntriesW
  2. 0071E466  - FF25 18047B00   JMP     NEAR [DWORD 7B0418]              ; RASAPI32.RasGetEntryPropertiesW
  3. 0071E46C  - FF25 F8037B00   JMP     NEAR [DWORD 7B03F8]              ; RASAPI32.RasGetConnectStatusW
  4. 0071E472  - FF25 FC037B00   JMP     NEAR [DWORD 7B03FC]              ; RASAPI32.RasHangUpW
  5. 0071E478  - FF25 00047B00   JMP     NEAR [DWORD 7B0400]              ; RASAPI32.RasDialW
  6. 0071E47E  - FF25 04047B00   JMP     NEAR [DWORD 7B0404]              ; RASAPI32.RasGetEntryDialParamsW
  7. 0071E484  - FF25 08047B00   JMP     NEAR [DWORD 7B0408]              ; RASAPI32.RasGetProjectionInfoW
  8. 0071E48A  - FF25 0C047B00   JMP     NEAR [DWORD 7B040C]              ; RASAPI32.RasGetProjectionInfoA
  9. 0071E490  - FF25 10047B00   JMP     NEAR [DWORD 7B0410]              ; RASAPI32.RasEnumConnectionsW
  10. 0071E496  - FF25 14047B00   JMP     NEAR [DWORD 7B0414]              ; RASAPI32.RasGetErrorStringW


А под вистой получается так:
Code:
  1. 0071E460   - FF25 F4037B00 JMP     NEAR [DWORD 7B03F4]              ; RASAPI32.RasGetAutodialAddressW
  2. 0071E466   - FF25 18047B00 JMP     NEAR [DWORD 7B0418]              ; RASAPI32.RasGetProjectionInfoW
  3. 0071E46C   - FF25 F8037B00 JMP     NEAR [DWORD 7B03F8]              ; RASAPI32.RasGetCustomAuthDataA
  4. 0071E472   - FF25 FC037B00 JMP     NEAR [DWORD 7B03FC]              ; RASAPI32.RasRenameEntryA
  5. 0071E478   - FF25 00047B00 JMP     NEAR [DWORD 7B0400]              ; RASAPI32.RasEditPhonebookEntryW
  6. 0071E47E   - FF25 04047B00 JMP     NEAR [DWORD 7B0404]              ; RASAPI32.RasGetLinkStatistics
  7. 0071E484   - FF25 08047B00 JMP     NEAR [DWORD 7B0408]              ; RASAPI32.RasInvokeEapUI
  8. 0071E48A   - FF25 0C047B00 JMP     NEAR [DWORD 7B040C]              ; RASAPI32.RasHangUpW
  9. 0071E490   - FF25 10047B00 JMP     NEAR [DWORD 7B0410]              ; RASAPI32.RasEnumEntriesA
  10. 0071E496   - FF25 14047B00 JMP     NEAR [DWORD 7B0414]              ; RASAPI32.RasGetSubEntryHandleW


восстанавливал ImpRec'ом, он походу по ординалам прописыввет? как тогда по именам сделать?




Ранг: 568.2 (!), 464thx
Активность: 0.550.57
Статус: Участник
оптимист

Создано: 20 января 2009 13:32
· Личное сообщение · #4

RAMZEZzzТамже опции есть в импереке Import at by Ordinal ,если там стоит галочка убераешь её и всё, теперь имперек прописывать должен по имени

-----
Чтобы правильно задать вопрос, нужно знать большую часть ответа. Р.Шекли.





Ранг: 85.5 (постоянный), 16thx
Активность: 0.040.05
Статус: Участник

Создано: 20 января 2009 13:50
· Личное сообщение · #5

ClockMan пишет:
там стоит галочка


а она и НЕ стоит там
Стоят только: Rebuild Original FT и Create New IAT




Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

Создано: 20 января 2009 15:28
· Личное сообщение · #6

Ещё раз спрашиваю, в импорте они нормально прописаны? По именам именно? Это значит, что в конечном файле надо сползать в таблицу импорта и поглядеть, есть ли там вообще эти функции, действительно ли на них указывают эти переходники и импортируются ли они именно по имени. В зависимости от этого надо колдовать с деревом импорта или настройками импрека.




Ранг: 154.2 (ветеран), 66thx
Активность: 0.080
Статус: Участник
REVENGE Crew

Создано: 20 января 2009 18:13
· Личное сообщение · #7

А опция «Create New IAT» зачем включена, чем тебя старая IAT не устраивает? Ведь в большинстве случаев Thunk'и можно в секцию импорта воткнуть сразу после IAT (IAT_End + 8), зачем новую секцию создавать.



Ранг: 1045.7 (!!!!), 31thx
Активность: 0.570
Статус: Участник

Создано: 21 января 2009 04:41
· Личное сообщение · #8

kioresk пишет:
Ведь в большинстве случаев Thunk'и можно в секцию импорта воткнуть сразу после IAT (IAT_End + 8), зачем новую секцию создавать.

В большинстве это сильно сказано В основном только с делфями и то если там нули ;)
Скорй всего у него и заюзана старая табличка




Ранг: 85.5 (постоянный), 16thx
Активность: 0.040.05
Статус: Участник

Создано: 21 января 2009 19:28
· Личное сообщение · #9

всем спасибо, оссобенно Archer.
Проблема была в том что половина функций импортировалась по именам, а другая по ординалам, не знаю как так получилось




Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

Создано: 21 января 2009 19:59
· Личное сообщение · #10

Видимо, импрек иногда косячит, по непонятным причинам импортируя по ординалу, если галка Import by Ordinal не стояла. Прогонка через другой анпакер проблему решила.
Раз проблема решена, топик можно закрыть, полагаю.


 eXeL@B —› Вопросы новичков —› Таблица импорта в XP и Vista после снятия ExeCryptor
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати