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

 eXeL@B —› Вопросы новичков —› Что я делаю не правильно?
Посл.ответ Сообщение

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

Создано: 27 марта 2006 14:37 · Поправил: Mixa
· Личное сообщение · #1

Скажите пожалуйста, что я делаю не правильно. Прочитал про распаковку, посмотрет видеотьютор (за что ОГРОМНОЕ СПАСИБО Hellspawn) и решил я научиться распаковывать файлы. Взял сделал программу на билдере (одно окно), запаковал UPX. Проверяю через PeID - запаковалась.
Запускаю OllyDbg, гружу в него PackUPX.exe, оказываюсь ессно на строке PUSHAD - листаю вниз, нахожу POPAD:
0047CE1F 61 POPAD
0047CE20 - E9 D744F8FF JMP 004012FC

Записываю OEP: 004012FC, на строке с JMP, нажимаю F2, запускаю (F9), жмякаю F8 -> Я тут:

004012FC /EB 10 JMP SHORT 0040130E
004012FE |66:623A BOUND DI,DWORD PTR DS:[EDX]
00401301 |43 INC EBX
00401302 |2B2B SUB EBP,DWORD PTR DS:[EBX]
00401304 |48 DEC EAX
00401305 |4F DEC EDI ; ntdll.7C910738
00401306 |4F DEC EDI ; ntdll.7C910738
00401307 |4B DEC EBX
00401308 |90 NOP
00401309 -|E9 98004600 JMP 008613A6
0040130E \A1 8B004600 MOV EAX,DWORD PTR DS:[46008B]

Запускаю PETools, делаю дамп (Full) и сохраняю его как Dumped. Там же смотрю Image Base= 00400000
Запускаю ImportREC - нахожу свою прогу. В ОЕР пишу: 004012FC-00400000=000012FC
Нажимаю IAT AutoSearch и ImportREC не находит ничего
А иногда (если запустить на другом компьютере) ImportREC находит одну секцию и пишет на ней в конце:.....:YES
Но при FIX Dump, сдамленый файл все равно не работает.


7846_PackUPX.exe.zip



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

Создано: 27 марта 2006 15:28
· Личное сообщение · #2

я сам недавно осваивал это, у меня тоже че-то не работало, но потом мне помогли, короче:

1. когда в концы делаешь FIX dump, сначала я убири галку с Add new selection и вписывай адресс а потом ставь галку обратно, иначе не проканает, по крайней мере у меня тока так.

2. если я правильно понял, то искать строки с popad, а потом JMP надо с конца. просто таких конструкций в прогах много, я просто гружу в w32dasm и перехожу в конец листинга, потом Ctr+F и ввожу popad и это и есть тот блок.

у меня все работало так.



Ранг: 36.9 (посетитель)
Активность: 0.050
Статус: Участник

Создано: 27 марта 2006 16:02
· Личное сообщение · #3

buian_B пишет:
2. если я правильно понял, то искать строки с popad, а потом JMP надо с конца. просто таких конструкций в прогах много, я просто гружу в w32dasm и перехожу в конец листинга, потом Ctr+F и ввожу popad и это и есть тот блок.

А я просто ставлю бряк железный на esp-4. Mixa пишет:
Но при FIX Dump, сдамленый файл все равно не работает.

А ты пробовал другими дамперами дампить,а не только Petools. Например, Lordpe и OllyDump.




Ранг: 1288.1 (!!!!), 273thx
Активность: 1.290
Статус: Участник

Создано: 27 марта 2006 16:23
· Личное сообщение · #4

Mixa
Тебе надо вручную определить начало и примерный размер IAT и выставить эти значения в ImpRec.




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

Создано: 27 марта 2006 19:30
· Личное сообщение · #5

введи в ImportREC в поле SIZE: 1000
тогда весь импорт будет (у меня всё равно, что то файл не запустился)

-----
[nice coder and reverser]





Ранг: 1288.1 (!!!!), 273thx
Активность: 1.290
Статус: Участник

Создано: 27 марта 2006 19:58
· Личное сообщение · #6

Hellspawn пишет:
введи в ImportREC в поле SIZE: 1000
тогда весь импорт будет (у меня всё равно, что то файл не запустился)

Это потому что надо дампить OllyDump'om - проблем не будет




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

Создано: 27 марта 2006 20:00
· Личное сообщение · #7

Ara пишет:
Это потому что надо дампить OllyDump'om - проблем не будет


не поверишь ара, дампил просто всем (OllyDump - я всегда им, никогда глюков не было).... не пашет и всё,
со мной такое первый раз.. мне удалось файл запустить при одном условии! что я стоя на OEP этой проги в олли, тогда файл запускается, я прям не знаю..

-----
[nice coder and reverser]





Ранг: 1288.1 (!!!!), 273thx
Активность: 1.290
Статус: Участник

Создано: 27 марта 2006 20:10
· Личное сообщение · #8

Hellspawn
Гы, странно... На вот мой файлик попробуй, запустится или нет.

5847_1_.rar.zip




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

Создано: 27 марта 2006 20:20 · Поправил: Hellspawn
· Личное сообщение · #9

"кернел 32 Ресторе ласт еррор" - вылетело... у меня 98 поменяй если не трудно на др. функцию...
хм... может у меня какая-то функция не правильно восстанавливается

[добавлено]
сам поправил функцию (заменил на сетластеррор)... всё равно файл вылетает с ощибкой

-----
[nice coder and reverser]





Ранг: 1288.1 (!!!!), 273thx
Активность: 1.290
Статус: Участник

Создано: 27 марта 2006 20:44
· Личное сообщение · #10

Снеси 98, ё-мое...Убей этого динозавра.




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

Создано: 27 марта 2006 20:48
· Личное сообщение · #11

как вторая винда стоит... у меня комп слабенький... макс, что тянет 2000
я просто хочу, чтобы и там и там всё работало!

-----
[nice coder and reverser]




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

Создано: 28 марта 2006 05:54
· Личное сообщение · #12

buian_B пишет:
когда в концы делаешь FIX dump, сначала я убири галку с Add new selection и вписывай адресс а потом ставь галку обратно, иначе не проканает, по крайней мере у меня тока так.

У меня не заработало.
Black9_Byte пишет:
А ты пробовал другими дамперами дампить,а не только Petools

Пробовал. Результат один и тот же.

Ara пишет:
Тебе надо вручную определить начало и примерный размер IAT и выставить эти значения в ImpRec.

А как это можно сделать? Можно поподробнее, так как я только начинающий.

Hellspawn пишет:
введи в ImportREC в поле SIZE: 1000

А вот это работает. Только я не понял почему 1000 ? Можете объяснить?



Ранг: 50.7 (постоянный)
Активность: 0.060
Статус: Участник

Создано: 28 марта 2006 06:32
· Личное сообщение · #13

Mixa пишет:
А вот это работает. Только я не понял почему 1000 ? Можете объяснить?
- ImpRec не находит правильно все вызовы Api. Если в поле size ввести число побольше, то мы тем самым говорим ему, что надо поискать ещё подальше



Ранг: 120.2 (ветеран), 8thx
Активность: 0.120
Статус: Участник

Создано: 28 марта 2006 09:00 · Поправил: cadet
· Личное сообщение · #14

Mixa пишет:
А как это можно сделать? Можно поподробнее, так как я только начинающий.

Прочитай статью PE_Killa в разделе RAR-статьи данного сайта, там он хорошо про это написал.



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

Создано: 28 марта 2006 09:43
· Личное сообщение · #15

Большое всем спасибо, пойду читать, набираться опыта




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

Создано: 28 марта 2006 10:39 · Поправил: Hellspawn
· Личное сообщение · #16

Mixa
вот смотри (пример из левой проги)... Ты распаковал программу, дальше ищем вызов любой функции

00405B9C - FF25 E4814500 JMP DWORD PTR DS:[4581E4]

смотрим, что у нас по адресу 4581E4:

004581E4 83F48698 Thunk to KERNEL32.GetModuleHandleA
004581E8 00000000
004581EC 83F48A88 Thunk to ADVAPI32.RegQueryValueExA
004581F0 83F48A98 Thunk to ADVAPI32.RegOpenKeyExA
004581F4 83F48AA8 Thunk to ADVAPI32.RegCloseKey
004581F8 00000000
004581FC 83F486A8 Thunk to KERNEL32.lstrcpyA
00458200 83F486B8 Thunk to KERNEL32.WriteFile

так это же импотр... жмём Page UP, определяем начало импотра,
потом Page Down - определяем конец....
потом в калькуляторе считаем разнице - это и будет размер IAT

00458114 00000000 <- начало
00458118 83F48458 Thunk to KERNEL32.DeleteCriticalSection
...
00458724 83F48C38 Thunk to COMCTL32.ImageList_Create
00458728 00000000 <- конец

00458728-00458114=614 Size...
в принципе всё...

-----
[nice coder and reverser]




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

Создано: 28 марта 2006 13:06
· Личное сообщение · #17

Hellspawn
Спасибо !!!


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


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