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

 eXeL@B —› Вопросы новичков —› Неизвестный упаковщик?
. 1 . 2 . >>
Посл.ответ Сообщение

Ранг: 3.9 (гость)
Активность: 0.010
Статус: Участник

Создано: 21 сентября 2007 12:09 · Поправил: ivans77
· Личное сообщение · #1

Всем привет!
Наконец то решил пост сделать, когда совсем приперло..
Ситуация такая.. Сестре на mail свалился очередной вирь.. Ну благополучно запустила.. В итоге я вычищал ей комп
Каспером и руками с некоторым софтом, нашел как обычно кучу хлама, а также один странный файл.
Почему я на него обратил внимание.. У меня в наборе утилит разных была тулза от китайских товарищей под
названием XSniffer. Так вот тот файл назывался точно также..
Я его забрал и запихнул в VMWare . Запустил его.. И чудо -информация в консоли такая же как и при
запуске обычного XSniffer-a... НО!
Разница в том что один весит 27 кил (который странный) а обычный - 44 кила. Я попытался запихнуть старнный
файл в OllyDbg, а та радует меня: "Module 'xsniffer.exe' has entry point outside the code....."
Я нажимаю Ok и прохожу таки туда.. IDA также ругается при попытке просмотра данного файла, говоря о том
что он типа видимо чем то упакован.
Я уже неделю пытаюсь выделить упаковщик, но ничего не получается.. Читал статьи на cracklab.ru
Но пока все равно не очень помогает..
Может кто попробует расковырять заразу? Просто интересно узнать на что я нарвался.
Оба файла прикладываю в архиве

<img src="img/attach.gif"> <SCRIPT type=text/javascript>dfl("files/","4750_21.09.2007_CRACKLAB.rU.tgz");< /SCRIPT> - Arch-strange.zip



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

Создано: 21 сентября 2007 12:53
· Личное сообщение · #2

Olly, IDA, а ты проверял QUnpack или PEID ? они почти все показывают, даже самопал быват распаковывают.
Попробуй, не получится, посмотрим...



Ранг: 21.1 (новичок)
Активность: 0.030
Статус: Участник

Создано: 21 сентября 2007 14:19
· Личное сообщение · #3

ivans77 не мог бы ты аттач поправить а то я не вкуриваю как скачать



Ранг: 3.9 (гость)
Активность: 0.010
Статус: Участник

Создано: 21 сентября 2007 14:35
· Личное сообщение · #4

М-да, аттач как странное себя ведет.. Сейчас.. Что касается PEiD и Qunpack - делал ими, причем с актуальными сигнатурами ... Ничего не показывают..

15:38:27 - Opened xsniff.exe
Quick self analyze.... unknown
PESniffer EP Scan: Unknown
PEiD scanning... Nothing found *

5db3_21.09.2007_CRACKLAB.rU.tgz - Arch-strange.rar



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

Создано: 21 сентября 2007 14:55
· Личное сообщение · #5

ivans77
UPX обработаный какой то дрянью ;)Зачем тебе анализаторы открой в HIEW да посмотри это самый лучший анализатор



Ранг: 3.9 (гость)
Активность: 0.010
Статус: Участник

Создано: 21 сентября 2007 14:59 · Поправил: ivans77
· Личное сообщение · #6

pavka пишет:
UPX обработаный какой то дрянью ;)Зачем тебе анализаторы открой в HIEW да посмотри это самый лучший анализатор


Не понял идеи.. И чем мне поможет HEIW ? Открывал во FlexHEX только толку то что? Мне хотелось разобраться как снять такую заразу.. И покаким признакам ты определил что это измененный UPX?


Тьфу блин! Точно гуру! Ещё раз сам открыл во FlexHex и все увидел! Сорри!!!
Только тогда все равно остаются вопросы - почему его анализаторы не видят? И как тогда снять таки упаковку? Имеющиеся средства не идентифицируют его как UPX и применение Unpacker-ов для UPX не дает результатов



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

Создано: 21 сентября 2007 15:24
· Личное сообщение · #7

ivans77 пишет:
И как тогда снять таки упаковку?

Самый лучщий способ руками ;) хотя Qunpack должен снять ..



Ранг: 3.9 (гость)
Активность: 0.010
Статус: Участник

Создано: 21 сентября 2007 15:26
· Личное сообщение · #8

Я понял что руками! Qunpack-ом пробовал - не помогает
С чего тогда нужно начинать? Откуда отталкиваться? Я просто под Олькой то его уже на раз гонял, частично алгоритм восстановил до определенного момента, но от этого не легче



Ранг: 3.9 (гость)
Активность: 0.010
Статус: Участник

Создано: 21 сентября 2007 15:42
· Личное сообщение · #9

Просто что сильно сбивает столку - после POPAD как написано в статьях сразу должен стоять JMP на OEP..

Здесь же нет JMP.. А есть ret..
Как тогда быть?



Ранг: 3.9 (гость)
Активность: 0.010
Статус: Участник

Создано: 21 сентября 2007 15:59 · Поправил: ivans77
· Личное сообщение · #10

Кажется нашел, причем сильно напоминающее то что у меня имеется... Вот в этой статье:
[url=Распаковка UPX-Scrambler - нет ничего проще]--> http://www.exelab.ru/art/?action=view&id=366 <--[/url]

Только объясните мне чайнику, что за слова там такие:
"...
Для начала найдём OEP, здесь не будем придумывать ничего нового, а просто в отладчике поставим бряк:
hr esp-4
...
"
hardware breakpoint я ставил - только то ли это - не пойму ? и в каком месте нужно ставить?

И с этим вроде тоже разобрался. Стоя на начале посмотрел то что в ESP, Нашел его в стеке и сметился на 4. После чего сделал Follow in Dump для ентого элемента, и там поставил Hardware breakpoint на чтение для DWORD. После этого запустил c помощью F9. Несколько раз сделал шаги, в том числе попадая и на POPAD.. А потом в итоге встал намертво и OllyDbg говорит о какой то ошибке.. Я так понимаю что мне нужно внимательно смотреть шаг перед тем как прога умирает?



Ранг: 3.9 (гость)
Активность: 0.010
Статус: Участник

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

нАРРооД! Помогите! Весь день снова головой об стенку простучался но так и не смог ничего сделать.. Не могу OEP найти...



Ранг: 20.4 (новичок)
Активность: 0.020
Статус: Участник

Создано: 21 сентября 2007 19:43
· Личное сообщение · #12

oep вроде бы 00403bc7

попробуйте

39c4_21.09.2007_CRACKLAB.rU.tgz - dumped.rar



Ранг: 3.9 (гость)
Активность: 0.010
Статус: Участник

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

Слушай похоже получилось!!! Огромное спасибо!!! Слушай, ты не мог бы здесь или в приват мне (лучше наверное здесь) рассказать как ты сие сделал и получил! Очень прошу - хотелось бы понять технику!




Ранг: 156.2 (ветеран), 2thx
Активность: 0.090
Статус: Участник

Создано: 22 сентября 2007 01:28
· Личное сообщение · #14

ReZiDenT_USSR
Интересно получится, если в Quick Unpack ввести в поле ОЕР 004140D0

P.S. Я не говорил что это OEP



Ранг: 3.9 (гость)
Активность: 0.010
Статус: Участник

Создано: 22 сентября 2007 11:29
· Личное сообщение · #15

Мужики )) Все таки, объясните мне - как вы выходите на эти значения? Какая технология?



Ранг: 158.7 (ветеран)
Активность: 0.110
Статус: Участник

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

ivans77
да поищи ты по форуму в новичках про распаковку upx или других несложных пакеров. ей богу як дитё. ivans77 пишет:
hardware breakpoint я ставил - только то ли это - не пойму ? и в каком месте нужно ставить?

а такие вещи в распаковке надо просто знать. Распаковка: от самого простого к чуть более сложному - в статьях.
читай

-----
Я ещё не волшебник, я только учусь...




Ранг: 3.9 (гость)
Активность: 0.010
Статус: Участник

Создано: 22 сентября 2007 13:16
· Личное сообщение · #17

Assass1n пишет:
да поищи ты по форуму в новичках про распаковку upx или других несложных пакеров. ей богу як дитё. ivans77 пишет:
hardware breakpoint я ставил - только то ли это - не пойму ? и в каком месте нужно ставить?
а такие вещи в распаковке надо просто знать. Распаковка: от самого простого к чуть более сложному - в статьях.
читай


Если ты бы внимательно прочитал что написано ниже в том посте то увидел что я там разобрался. Далее, у меня нет привычки писать на форумах по подобной тематике не порывшись по ним - если я написал вопрос и прошу объяснить значит мне реально не хватило информации.
P.S: я читал про распаковку UPX но мне сие не очень сильно помогло .. И если честно я не совсем понимаю в чем сложность ОБЪЯСНИТЬ ? Почему если у кого-то знания выше, то считается ниже своего достоинства рассказывать более подробно тем кто только учиться?




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

Создано: 22 сентября 2007 14:50
· Личное сообщение · #18

ivans77
UPX распаковать очень просто (если он не модифицированный и не скремблирован). Загружаешь файл в Ольку и прокручиваешь вниз (буквально несколько экранов) до пустого места кода, заполненного нулями. Перед ним будут две инструкции
POPAD
JMP xxxxxxxx
,
где xxxxxxxx - адрес перехода на OEP.
Примерно так.

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




Ранг: 3.9 (гость)
Активность: 0.010
Статус: Участник

Создано: 22 сентября 2007 15:04
· Личное сообщение · #19

Дело в том что я писал выше - он не идентифицируется никакими средставми как UPX. Как мне сказали выше - это измененный UPX, т.е модифицированный! Я сам увидел что енто UPX лишь когда открыл файл во FlexHex и там увидел запись..
Тот пример что ты привел - я о нем читал и первоначально когда изучал этот файл именно такую связь и искал, о чем читал выше. Такой связи не было найдено.
Далее я нашел ещё здесь одну статью (ссылка написана выше в одном из моих постов в этой теме)... Так вот там как раз очень похожая на мою ситуацию:
"...Как видите, вместо pushad, которые так свойственны upx, первой инструкцией является popad.
Код явно нетипичный для upx. ..."

у меня именно так .. Дальше начал разбираться так как в статье написано... Но в итоге увы не получилось.. у меня.. А ReZiDenT_USSR успешно снял пакер... Только вот как он добрался до OEP = я никак не могу разобраться..



Ранг: 20.4 (новичок)
Активность: 0.020
Статус: Участник

Создано: 22 сентября 2007 15:07
· Личное сообщение · #20

OEP нашлось довольно просто. Т.К. прога на С++ то одной из первых вызываемых API является GetVersion. Поставил бряк на начало функции, первый же вызов 00403bf3 был из секции кода проги. Вышел из GetVersion,
00403BEA . 8965 E8 MOV DWORD PTR SS:[EBP-18],ESP
00403BED ? FF15 58804000 CALL DWORD PTR DS:[408058] ; kernel32.GetVersion
00403BF3 ? 33D2 XOR EDX,EDX

чуть выше увидел OEP
00403BC7 ? 55 PUSH EBP
00403BC8 . 8BEC MOV EBP,ESP
00403BCA . 6A FF PUSH -1
00403BCC . 68 38814000 PUSH 00408138

Далее перезапустил программу в отладчике и посмотрел, что до старта находиться в секции кода(00401000-00407fff). Там находился мусор и нули.
Поставил memory breakpoin on write,
остановился здесь (вроде бы происходит затирание мусора нулями)
004141F3 8826 MOV BYTE PTR DS:[ESI],AH
004141F5 46 INC ESI
004141F6 49 DEC ECX
и просто зажал клавишу F9.
Оказался тут
003200E1 F3:A4 REP MOVS BYTE PTR ES:[EDI],BYTE PTR DS:[>
003200E3 5E POP ESI
003200E4 53 PUSH EBX
аналогично клавиша F9, оказался тут(запись раскриптованого кода в секцию)
0033005E F3:A4 REP MOVS BYTE PTR ES:[EDI],BYTE PTR DS:[ESI]
00330060 5F POP EDI
00330061 83C7 28 ADD EDI,28
также зажал клавишу F9 , подожда пока в ecx останется 40,
поставил memory breakpoint on access на секцию кода
и оказался на oep.С дампил, прикрутил импорт, всё.



Ранг: 3.9 (гость)
Активность: 0.010
Статус: Участник

Создано: 22 сентября 2007 15:09
· Личное сообщение · #21

ReZiDenT_USSR !!!!! Ещё раз огромное спасибо ! Сейчас буду осмысливать ))
Пасиба!




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

Создано: 22 сентября 2007 18:57
· Личное сообщение · #22

ivans77 пишет:
Дело в том что я писал выше - он не идентифицируется никакими средставми как UPX. Как мне сказали выше - это измененный UPX, т.е модифицированный!

Дело в том, что мне не скачать было.
Но даже если есть модифицированный UPX, то это не намного усложняет задачу. В основном, просто добавляют несколько инструкций/криптуют код, чтобы нельзя было снять на автомате. Может еще и антидамп прикрутят, что не очень-то помогает. Но добраться до OEP в случае с UPX все равно очень просто. Так что слей файл на нормальный файлообменник, например на рапиду, тогда я может и напишу подробнее...

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




Ранг: 3.9 (гость)
Активность: 0.010
Статус: Участник

Создано: 22 сентября 2007 19:08
· Личное сообщение · #23

Залил:
slil.ru/24887235




Ранг: 156.2 (ветеран), 2thx
Активность: 0.090
Статус: Участник

Создано: 23 сентября 2007 01:50
· Личное сообщение · #24

ReZiDenT_USSR
как я понял:
После бряка на GetVersion мы тут
7C4FEB3A > 64:A1 18000000 MOV EAX,DWORD PTR FS:[18]
Возврат в прогу по ALT+F9
00403BF3 ? 33D2 XOR EDX,EDX
Смотри выше выше
00403BC7 ? 55 PUSH EBP
..Кажется прога написана на делфи...

ReZiDenT_USSR пишет:
Далее перезапустил программу в отладчике и посмотрел, что до старта находиться в секции кода(00401000-00407fff).

00401000 - это адрес первой секции, которая без названия. А почему ставим бряк именно на 00401000-00407FF0 ? (может это и есть вся первая секция)
Кстати, как поставить бряк на секцию из командной строки? а тоя мучаюсь и выделяю адреса вручную...



Ранг: 158.7 (ветеран)
Активность: 0.110
Статус: Участник

Создано: 23 сентября 2007 02:43 · Поправил: Assass1n
· Личное сообщение · #25

Я бы сделал так:
После того как визуально определили OEP, набираем в комманд баре d 00403BC7, выделяем байт по вышеуказанному адресу и ставим бряк на экзекушан. перезапускаем программу, жмём f9 и опа, мы стоим прямо на оеп.

-----
Я ещё не волшебник, я только учусь...




Ранг: 3.9 (гость)
Активность: 0.010
Статус: Участник

Создано: 23 сентября 2007 16:21 · Поправил: ivans77
· Личное сообщение · #26

ReZiDenT_USSR пишет:
Далее перезапустил программу в отладчике и посмотрел, что до старта находиться в секции кода(00401000-00407fff). Там находился мусор и нули.
Поставил memory breakpoin on write,
остановился здесь (вроде бы происходит затирание мусора нулями)
004141F3 8826 MOV BYTE PTR DS:[ESI],AH
004141F5 46 INC ESI
004141F6 49 DEC ECX
и просто зажал клавишу F9.
Оказался тут
003200E1 F3:A4 REP MOVS BYTE PTR ES:[EDI],BYTE PTR DS:[>
003200E3 5E POP ESI
003200E4 53 PUSH EBX
аналогично клавиша F9, оказался тут(запись раскриптованого кода в секцию)
0033005E F3:A4 REP MOVS BYTE PTR ES:[EDI],BYTE PTR DS:[ESI]
00330060 5F POP EDI
00330061 83C7 28 ADD EDI,28


Cнова привет! Опять заморочки у меня.. когда пытался разобраться что и как:
итак, сначала я иду полностью также как и ReZiDenT_USSR :
1) после загрузки модуля, вызвал View->Memory и поставил Memory breakpoint on write
2) нажал F9 и благополучно попал туда, куда и говорил ReZiDenT_USSR:

004141F3 8826 MOV BYTE PTR DS:[ESI],AH
004141F5 46 INC ESI
004141F6 49 DEC ECX

3) после чего зажал F9, и благополучно прокрутившись попал в области памяти, вот на это место:

003300E1 F3:A4 REP MOVS BYTE PTR ES:[EDI],BYTE PTR DS:[>
003300E3 5E POP ESI
003300E4 53 PUSH EBX
003300E5 68 00800000 PUSH 8000

- как видно, все тоже самое что и у ReZiDenT_USSR, разница только в адресе памяти ..
4) также держу F9 и прокрутившись.... Вообщем попадаю совсем не туда...

0040C027 AD LODS DWORD PTR DS:[ESI]
0040C028 CD 20 INT 20
0040C02A 83C4 20 ADD ESP,20

и в Statusbar-e пишет "Access violation when reading (00000000)-please ...."
и все...

p.s: спасибо Assass1n-у, он все объяснил



Ранг: 20.4 (новичок)
Активность: 0.020
Статус: Участник

Создано: 23 сентября 2007 22:57
· Личное сообщение · #27

Assass1n пишет:
набираем в комманд баре d 00403BC7, выделяем байт по вышеуказанному адресу и ставим бряк на экзекушан

Да, так действительно намного проще.
ivans77 пишет:
Вообщем попадаю совсем не туда

Отладчик тормозиться на экзепшене, у меня такие настройки см.аттач

точка останова на GetVersion
ctrl+g в появившемся окне вводишь GetVersion и оказываешься на начале этой функции ставишь бряк на первые байты.

Mavlyudov пишет:
как поставить бряк на секцию из командной строки?


MW expression1 ,expression2 memory breakpoint on write
MR expression1 ,expression2 memory breakpoint on access

e107_23.09.2007_CRACKLAB.rU.tgz - Screen.JPG




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

Создано: 24 сентября 2007 20:46
· Личное сообщение · #28

ivans77 пишет:
и в Statusbar-e пишет "Access violation when reading (00000000)-please ...."

Надо поставить галку у ексепшна "Memory access violation". Это единственный анти-отладочный прием использовавшийся здесь. Проверил на оригинальной Ольке.
В принципе, если еще актуально, то могу флеху заснять.

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




Ранг: 3.9 (гость)
Активность: 0.010
Статус: Участник

Создано: 01 октября 2007 16:40 · Поправил: ivans77
· Личное сообщение · #29

Всем привет! Народ, снов нужна помощь!
Вот какая проблема - пробую снять с очередного файла упаковщик (примерно похож на тот что я здесь указывал).. Но есть проблема.. Когда пробовал ставить бряк на GetVersion (исследуемый файла написан (как говорит Die) на MS VC++) то пролетал мимо.. Когда я нашел похожий аналог, не упакованный (как и в данном случае) то оказалось что в функции Start вместо GetVersion используется GetVersionEx.
Однако Gtrl+G и ввод туда GetVersionEx заканчивалось плачевно.. Типа нет ничего такого.. Пробовал и другие - типа GetModuleHandle и GetCoomandLine (они также идут до вызова функции main(...)) - также меня программа посылала...
Подскажите, как в такой ситуации быть ?

P.S:Тьфу сорри, дурацкий вопрос = сам разобрался.. GetVerisonExA и W..
но почему то все равно блин я не возвращюсь в код программы. а оказываюсь в ntdll.dll кажется

P.S:
Попробую уточнить.. Итак, если в предыдущих файлах использовался вызов GetVersion - То все было нормально. действительно ставили бряк на GetVersion и проходили её и вываливались в код, где рядом было OEP.
Сейчас у нас идет вызов GetVersionEx. Я поставил бряк на GetVersionExA, внутри которого вызывается GetVersionExW. Попадаю туда успешно, но после retrun из этой функции я оказываюсь внутри MSVCRT.. и далее я кручусь там.. попасть в тело у меня никак не получается.. В какой то момент работа заканичивается и в StatusBar OllyDbg у меня имеется запись: "Process terminates. Exit code 0"
- я так понимаю, что программа закончила свою работу.
Подскажите все таки плиз = как мне найти OEP???



Ранг: 3.9 (гость)
Активность: 0.010
Статус: Участник

Создано: 01 октября 2007 22:26
· Личное сообщение · #30

Решил таки все таки прикрепить файл. Может кто попробует. Если получиться - то плиз подскажите как искать OEP в такой ситуации! Очень буду признателен.

P.S: файл вроде не вирус

b3b8_01.10.2007_CRACKLAB.rU.tgz - s3.rar


. 1 . 2 . >>
 eXeL@B —› Вопросы новичков —› Неизвестный упаковщик?
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


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