Инструменты:OLLYDBG v 110
Imprec16f
LordPE by yoda
Распаковка:
Загружаем программу в OLLYDBG,
00401000 >/$ 68 01504000 PUSH blaadmeA.00405001 <----Здесь стоим мы
00401005 |. E8 01000000 CALL blaadmeA.0040100B
0040100A \. C3 RETN
0040100B $ C3 RETN
0040100C 70 DB 70 ; CHAR 'p'
0040100D 60 DB 60 ; CHAR '`'
0040100E 18 DB 18
0040100F 78 DB 78 ; CHAR 'x'
00401010 93 DB 93
00401011 BE DB BE
00401012 DC DB DC
00401013 12 DB 12
00401014 13 DB 13
00401015 BC DB BC
00401016 09 DB 09
00401017 4E DB 4E ; CHAR 'N'
00401018 6A DB 6A ; CHAR 'j'
00401019 28 DB 28 ; CHAR '('
0040101A 06 DB 06
0040101B 42 DB 42 ; CHAR 'B'
0040101C EE DB EE
0040101D B2 DB B2
0040101E E7 DB E7
0040101F 91 DB 91
00401020 59 DB 59 ; CHAR 'Y'
00401021 CB DB CB
Нажимаем F9(Чтобы запустить программу).Нажимаем Shift+F9(Чтобы обойти все исключения)27 раз
(если нажать 28 раз то программа запустится-а нам это не нужно).И оказываемся в этом месте :
Далее встаём на строку 008D6815 и нажимаем F2-/чтобы поставить брейкпоинт/(Нам нужно сняться
с "Access violation").Далее нажимаем Shift+F9(чтобы бряк сработал).Прервались???Снимаем брейкпоинт.
Теперь нажимаем Alt+M(чтобы открыть карту памяти).Даллее смысл таков:нужно поставить брейкпоинт
на первую секцию после PE header’a(в данном случае это 00401000).Итак нажимаем на секции 00401000
правой кнопкой мышки и выбираем Set memory breakpoint on access.Поставили???Теперь нажимаем F9 и
мы прервались на ОЕП.
Напомню что мы сейчас стоим на адресе 00401000.Запускаем LordPE by yoda,
выбираем в списке процессов нашу программу , кликаем на ней правой кнопкой мышки и выбираем dump full,
сохраняем-всё дамп готов.
Теперь можно закрыть OLLYDBG.
Восстановление импорта:
Запускаем Imprec16f и нашу запакованную программу.В Imprec16f выбираем в списке процессов нашу программу.
Нажимаем кнопку IAT AutoSearch.Затем нажимем кнопку Get Imports и видим что две функции не
определились.Теперь нажимаем кнопку Show Invalid(Чтобы увидеть неопределённые функции)Затем
кликаем правой кнопкой мыши на выделенных функциях и выбираем Plugin Tracers->ASProtect1.22
и Trace level1(Чтобы Imprec нашел их сам).Далее видим что теперь все функции восстановлены
(Везде написано YES).У вас тоже самое???Теперь нажимаем Fix Dump(Чтобы прикрутить наш дамп)и
выбираем тот файл который вы сохранили когда мы снимали дамп(У меня dumped.exe).Всё теперь
распакованная программа называется dumped_.exe(У вас может по другому).
00401000 >/$ 68 01504000 PUSH blaadmeA.00405001 <----We are here cost
00401005 |. E8 01000000 CALL blaadmeA.0040100B
0040100A \. C3 RETN
0040100B $ C3 RETN
0040100C 70 DB 70 ; CHAR 'p'
0040100D 60 DB 60 ; CHAR '`'
0040100E 18 DB 18
0040100F 78 DB 78 ; CHAR 'x'
00401010 93 DB 93
00401011 BE DB BE
00401012 DC DB DC
00401013 12 DB 12
00401014 13 DB 13
00401015 BC DB BC
00401016 09 DB 09
00401017 4E DB 4E ; CHAR 'N'
00401018 6A DB 6A ; CHAR 'j'
00401019 28 DB 28 ; CHAR '('
0040101A 06 DB 06
0040101B 42 DB 42 ; CHAR 'B'
0040101C EE DB EE
0040101D B2 DB B2
0040101E E7 DB E7
0040101F 91 DB 91
00401020 59 DB 59 ; CHAR 'Y'
00401021 CB DB CB
We press F9.We press Shift+.F9 2"of times
(if we harvest 28 times that program neglect- A to us this is not
necessary).And it is exerted in this place:
Further we arise on line 008D6815 and press F2-/in order to place .Further we press Shift+.F9.They did interrupt???We remove point.
Now we press Alt+.M. sense is such:it is necessary to place point in the first section after PE header'.a(v this case of this 00401000).Thus we press in section 00401000 by right button of mouse and we select Set memory point on access.They did place???Now we press F9 and we interrupted on OYEP
Will resemble that we is now cost on address 00401000.We start LordPE by yoda,
we select in the list of processes our program, on it by the right button of mouse we select dump full,
preserve- all dump is ready.
Now it is possible to shut OLLYDBG.
Restoration of the import:
We start Imprec16f and our packed program.In Imprec16f we select in the list of processes our program.
We press button IAT AutoSearch.Then nazhimem button Get Imports and we see that two functions they
were not determined.Now we press button Show Invalid with the right button of mouse on the chosen
functions and we select Plugin Tracers->.ASProtect1.22 and Trace
level1.We further see that now all functions they are restored (is everywhere
written YES).In you also the very???Now press Fix Dump i we select that file
which you they preserved when we was removed damp(U me dumped.exe).Entire now unpacked program is called dumped _.exe(U you can on other).
@VolX
hi good to see u again...did u receive a pm from me from DFCG about armadillo import table elimination???
can u give me ur email...i would like to know how u fix the import table elimination in armadillo...because now a lot of program start using this protection....