eXeLab
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС ВЗЛОМ
выпущен 8 октября!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

Русский / Russian English / Английский

Сейчас на форуме: (+2 невидимых)
 · Начало · Статистика · Регистрация · Поиск · ПРАВИЛА ФОРУМА · Язык · RSS · SVN ·

 eXeL@B —› Вопросы новичков —› SD Protector
Посл.ответ Сообщение

Ранг: 14.1 (новичок)
Статус: Участник

Создано: 10 декабря 2018 20:20 · Поправил: RoKZaR New!
Цитата · Личное сообщение · #1

Доброго времени суток!
Решил копнуть SDProtector ver 1.16. Запротектил рандомный файл найденый на пк с минимальными опциями защиты. Нашел как проходить на оеп:
1. ставим игнор всех исключений.
2. ставим бряк на предпоследнюю секцию с размером e000.
3. Отпускаем прогу и попадаем на ворованый код.
4. Копируем байты оеп и ставим точку выполнения на джамп.
5. Ставим бряк на секцию text и отпускаем прогу.
6. После смотрим стек и находим место чуть ниже оеп. Ставим туда бряки делаем ран.
7. Заменяем код на оеп.
Профит. Оеп починен.
Дальше импорт. Вот с этим и проблемы. Накатал простой скрипт который восстанавливает большую часть редиректов в секцию прота. Но остаются переходы второго типа. Так их назовем. Как они работают не понимаю.
Если первого типа работают по принципу:
Code:
  1. 024E61D0 | B8 2C9802EC          | mov eax,EC02982C                         |
  2. 024E61D5 | 9C                   | pushfd                                   |
  3. 024E61D6 | 35 DC33C998          | xor eax,98C933DC                         |
  4. 024E61DB | 9D                   | popfd                                    |
  5. 024E61DC | 50                   | push eax                                 |
  6. 024E61DD | C3                   | ret                                      |

Или:
Code:
  1. 024E5FB0 | B8 9040CC74          | mov eax,<user32.EnableWindow>            |
  2. 024E5FB5 | FFE0                 | jmp eax                                  |

То вторые хз как работают. Пример GetVersion в самом начале программы:
Code:
  1. 0 | 004271D6 | FF15 DC0A4600            | call dword ptr ds:[460ADC]              |
  2. 1 | 00487E97 | E8 5B9AFFFF              | call test1.4818F7                       |
  3. 2 | 004818F7 | E8 01000000              | call test1.4818FD                       |
  4. 3 | 004818FD | 58                       | pop eax                                 |
  5. 4 | 004818FE | 05 04A8FFFF              | add eax,FFFFA804                        |
  6. 5 | 00481903 | C3                       | ret                                     |
  7. 6 | 00487E9C | 8B80 24010000            | mov eax,dword ptr ds:[eax+124]          |
  8. 7 | 00487EA2 | 8B00                     | mov eax,dword ptr ds:[eax]              |
  9. 8 | 00487EA4 | C3                       | ret                                     |

Как такие восстановить ума не приложу. Направьте в нужное русло пожалуйста! Заранее благодарю.
P.S. IAT: Начало 460818-460f28
Code:
  1. 60 F5 4A 77 10 FC 4A 77 20 00 4B 77 60 0F 4B 77 00 FA 4A 77 00 00 00 00 C0 E5 C8 73 E0 17 CD 73 00 00 00 00 50 41 C1 76 50 81 C1 76 10 38 C1 76 70 3A C1 76 F0 41 C1 76 F0 39 C1 76 D0 BF C1 76 D0 B8 C1 76 F0 74 C1 76 B0 BB C1 76 70 BD C1 76 80 51 C1 76 70 3D C1 76 D0 74 C1 76 70 42 C1 76 10 6F C1 76 E0 3B C1 76 10 41 C1 76 D0 BD C1 76 40 4D C1 76 80 44 C1 76 00 6B C1 76 E0 3A C1 76 50 BE C1 76 80 6A C1 76 80 D3 C1 76 D0 37 C1 76 20 54 C1 76 70 74 C1 76 C0 3C C1 76 20 47 C1 76 D0 B1 C1 76 10 69 C1 76 60 D0 C1 76 10 4D C1 76 30 3A C1 76 E0 69 C1 76 A0 68 C1 76 B0 74 C1 76 20 48 C1 76 A0 3B C1 76 50 BD C1 76 60 48 C1 76 50 75 C1 76 F0 3C C1 76 F0 42 C1 76 A0 69 C1 76 10 6A C1 76 50 6A C1 76 60 6C C1 76 60 69 C1 76 D0 68 C1 76 50 3F C1 76 50 46 C1 76 60 D6 C1 76 C0 D3 C1 76 70 A4 C1 76 80 D2 C1 76 E0 6C C1 76 00 50 C1 76 C0 3D C1 76 E0 55 C1 76 A0 5B C1 76 A0 6C C1 76 50 47 C1 76 C0 6A C1 76 10 44 C1 76 10 3F C1 76 60 3C C1 76 90 5F C1 76 40 D8 C1 76 70 4C C1 76 A0 4C C1 76 E0 52 C1 76 30 3D C1 76 10 46 C1 76 E0 40 C1 76 00 00 00 00 00 54 00 74 80 4F 00 74 50 E0 05 74 24 8A 48 00 13 8A 48 00 20 7B 00 74 40 5D 00 74 F0 87 48 00 00 67 00 74 C0 4B 00 74 F0 56 00 74 D0 56 00 74 F0 68 00 74 90 68 00 74 B0 DF 05 74 70 55 00 74 60 59 00 74 80 59 00 74 F0 67 00 74 20 4B 00 74 40 4B 00 74 C0 4D 00 74 D0 4D 00 74 40 66 00 74 90 52 00 74 D0 52 00 74 90 3A 00 74 40 4F 00 74 60 4F 00 74 30 43 00 74 50 43 00 74 E0 63 00 74 70 A1 5E 77 20 8C 5E 77 B0 CC 5E 77 10 57 00 74 80 50 00 74 30 4C 00 74 10 2C 03 74 90 2B 03 74 40 E0 05 74 20 E0 05 74 D0 DF 05 74 8B 8B 48 00 E0 91 03 74 20 6F 00 74 A0 52 04 74 70 67 00 74 A0 5A 00 74 90 67 00 74 50 61 5F 77 70 4B 04 74 C0 60 5F 77 F0 4F 04 74 40 C7 60 77 40 67 00 74 30 AA 60 77 80 E0 05 74 F0 E0 05 74 D0 E1 05 74 50 E2 05 74 50 E1 05 74 A0 DB 05 74 60 DF 05 74 10 E2 05 74 70 E2 05 74 80 E1 05 74 F0 DD 05 74 40 DB 05 74 B0 DB 05 74 80 7C 04 74 20 64 00 74 E0 4A 00 74 F0 2B 03 74 F0 6A 00 74 40 87 00 74 20 55 00 74 50 DE 05 74 E0 E2 05 74 00 3D 04 74 90 3D 04 74 B0 6A 00 74 60 5B 00 74 30 6A 00 74 70 6B 00 74 E0 7C 04 74 50 87 00 74 D0 4E 04 74 B0 50 04 74 90 4F 00 74 97 7E 48 00 F0 D9 05 74 B0 E1 05 74 C0 DD 05 74 20 DE 05 74 D0 D9 03 74 C0 E7 05 74 40 65 00 74 20 E5 05 74 C0 E5 05 74 70 97 04 74 44 8A 48 00 60 D0 05 74 90 97 04 74 80 66 00 74 90 E6 05 74 30 E6 05 74 20 E6 05 74 80 E7 05 74 00 76 00 74 60 66 00 74 70 E5 05 74 90 E5 05 74 50 E6 05 74 A0 59 00 74 D0 50 00 74 60 4B 00 74 50 52 00 74 E0 E5 05 74 60 E6 05 74 10 DF 05 74 A0 DE 05 74 30 4F 00 74 20 4E 00 74 60 DE 05 74 70 56 00 74 90 1E 00 74 D6 89 48 00 30 6B 00 74 20 33 04 74 20 5A 00 74 E0 5A 00 74 C0 5A 00 74 40 5A 00 74 80 5A 00 74 60 5A 00 74 E0 72 00 74 40 73 00 74 D0 4F 00 74 00 11 00 74 00 00 00 00 10 A3 E4 74 60 36 E4 74 80 52 E9 74 F0 A7 E4 74 30 37 E4 74 F0 37 E4 74 D0 35 E4 74 40 35 E4 74 20 36 E4 74 C0 37 E4 74 10 92 E4 74 30 A9 E4 74 B0 8A E4 74 80 A8 E4 74 80 A0 E4 74 B0 53 E9 74 00 00 00 00 40 B5 19 75 30 B5 19 75 C0 AB 1B 75 00 00 00 00 D0 4C CC 74 D0 DC D1 74 70 DD D1 74 E0 F1 CB 74 10 B1 CC 74 D0 04 CC 74 90 4E CC 74 D0 D1 D1 74 50 F7 CB 74 90 0B CC 74 70 7A CC 74 30 C8 CC 74 30 0A CC 74 20 D0 CB 74 60 FC CB 74 F0 F5 CC 74 20 0E CC 74 B0 7A CC 74 D0 67 CC 74 00 11 CC 74 B0 E6 CC 74 20 57 CC 74 B0 3F D2 74 90 D3 CB 74 F0 D2 D1 74 30 E8 CC 74 10 E5 CC 74 80 EC CC 74 60 F5 D1 74 80 6B CC 74 D0 90 CB 74 20 7E D2 74 40 F6 D1 74 A0 F4 CC 74 50 EF CC 74 F0 AC CB 74 50 9E CB 74 00 6C CC 74 00 D1 CB 74 00 37 CC 74 60 60 CC 74 C0 AA CB 74 E0 DE CB 74 D0 98 CC 74 20 0A CC 74 B0 F2 CC 74 E0 DF CB 74 A0 F3 CB 74 20 28 CC 74 F0 3E CC 74 20 4C CC 74 30 5C CC 74 F0 F9 CB 74 80 F4 CC 74 C0 F2 CB 74 10 D2 CB 74 D0 09 CC 74 60 6C CC 74 40 21 CC 74 E0 05 CC 74 60 90 CB 74 D0 8E CB 74 A0 F6 D1 74 90 B9 CB 74 50 AD CB 74 30 BD CB 74 A0 A0 63 77 C0 E6 CC 74 20 40 CC 74 D0 61 CC 74 90 81 CC 74 C0 4B CC 74 60 F5 CC 74 50 2A CC 74 90 E9 CC 74 90 64 CC 74 E0 0A CC 74 70 F3 CB 74 70 4D CC 74 30 2B CC 74 10 28 CC 74 80 86 CC 74 40 F4 CC 74 10 B1 CC 74 D0 E8 CC 74 70 40 CC 74 20 FB CB 74 20 F1 CC 74 A0 8F CB 74 20 5E CC 74 F0 3B D2 74 A0 69 CC 74 C0 79 CC 74 C0 F4 CB 74 60 D3 CC 74 30 8E CB 74 C0 4E CC 74 C0 4E CC 74 F0 14 CC 74 90 56 CC 74 70 F9 CB 74 90 3F CC 74 80 FA CB 74 20 F9 CB 74 C0 EE CC 74 20 C3 CC 74 60 03 CC 74 90 7D D2 74 C0 74 CC 74 20 76 CC 74 60 7A D2 74 30 76 CC 74 30 5F CC 74 60 97 CB 74 00 95 CB 74 A0 A4 CC 74 B0 38 CC 74 20 F6 CC 74 90 AF CB 74 80 5E CC 74 30 5A CC 74 50 F8 CB 74 D0 38 CC 74 4B 88 48 00 60 5B CC 74 4C E1 CC 74 50 88 CC 74 B0 17 CC 74 00 9B CB 74 C0 02 CC 74 30 F0 CC 74 10 EE CC 74 00 66 CC 74 B0 04 CC 74 70 B8 D1 74 D0 DF D1 74 80 5A CC 74 10 42 D2 74 D0 08 CC 74 10 26 CC 74 A0 A9 CB 74 D0 9F CC 74 70 DB CB 74 A0 BA CB 74 A0 F1 CC 74 B0 C3 CC 74 40 FB D0 74 00 A7 CC 74 E0 E1 CB 74 10 BA CB 74 10 21 CC 74 40 06 CC 74 90 40 CC 74 D0 DD CB 74 00 B0 CC 74 30 E3 CB 74 30 97 CB 74 60 DE CB 74 F0 F7 D1 74 00 AB CB 74 50 64 CC 74 50 A7 CC 74 F0 AB CB 74 00 00 00 00 50 41 D6 73 00 00 00 00 00 5C B4 73 60 0E B5 73 E0 52 B4 73 40 3C B4 73 60 29 B5 73 80 35 B5 73 D0 3A B4 73 20 CF B3 73 00 00 00 00 00 58 38 76 E0 E1 38 76 60 E6 38 76 00 95 38 76 C0 99 38 76 A0 9A 38 76 90 EC 38 76 10 3E 39 76 20 1E 38 76 00 00 00 00 F0 08 F7 76 40 0A FA 76 70 E4 F2 76 90 FC F6 76 90 40 AD 74 50 47 AD 74 E0 65 F3 76 50 F5 AE 74 F0 95 AC 74 30 7A AC 74 10 57 AC 74 F0 54 FB 76 70 B6 AD 74 D0 54 FD 76 20 78 FB 76 70 96 AC 74 00 00 00 00 D0 41 B0 73

Сам файл: https://dropmefiles.com/2uUmP

Ранг: 214.2 (наставник)
Статус: Участник

Создано: 10 декабря 2018 21:56 New!
Цитата · Личное сообщение · #2

RoKZaR
Поиском пользовался?
--> Link <--

Ранг: 14.1 (новичок)
Статус: Участник

Создано: 10 декабря 2018 23:15 New!
Цитата · Личное сообщение · #3

Пользовался, но нужного не нашел. В основном все восстановление импорта с переходниками 1 типа. 2 нет.
void пишет:
Поиском пользовался?

Ссылку уже видел


Ранг: 1991.4 (!!!!)
Статус: Модератор
retired

Создано: 11 декабря 2018 06:16 New!
Цитата · Личное сообщение · #4

Видимо, GetVersion ему известна, и он её эмулирует. Как вариант-руками такие апи восстановить.

Ранг: 14.1 (новичок)
Статус: Участник

Создано: 11 декабря 2018 10:12 New!
Цитата · Личное сообщение · #5

Archer пишет:
Видимо, GetVersion ему известна

Хмм... В том то и дело что не известно как он ее эмулирует. Все еще осложняется тем, что на KiUserExceptionDispatcher палит хард бряки и записывает в iat в куче разных мест. Но это можно обойти. Попробую поправить iat еще при запуске.
 eXeL@B —› Вопросы новичков —› SD Protector

Оригинальный DVD-ROM: eXeL@B DVD !

Вы находитесь на форуме сайта EXELAB.RU
Проект ReactOS