Сейчас на форуме: -Sanchez-, barsik, vasilevradislav, vsv1, padad42664, kris_sexy (+5 невидимых)

 eXeL@B —› Крэки, обсуждения —› чем запакована прога
Посл.ответ Сообщение


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

Создано: 28 августа 2007 10:21
· Личное сообщение · #1

помогите определить, чем запакована прога
ifolder.ru/3134576 (Размер: 748.22 кб)
PeID глючит по-сташному...

На всякий случай еще библиотека oodguirs.dll
(нужна если исследовать прогу, хотя можно и без нее)
ifolder.ru/3134603



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

Создано: 28 августа 2007 13:37 · Поправил: crc1
· Личное сообщение · #2

У меня PeID говорит PolyEnE 0.01+ by Lennart Hedlund *
OEP находится легко
00469103 PUSH 60
00469105 PUSH 00577930
0046910A CALL 00470354
Импорт весь загажен. Я накидал скрипт для его восстановления
//******************************************************
// Запускать стоя на OEP


var startscan
var OEP
var temp
var TempESP

mov OEP, eip
mov TempESP, ESP
mov startscan, 0053C000 // Начало IAT
rec:
cmp startscan, 0053CC54 // конец IAT?
je endscript
mov temp,[startscan]
cmp temp, 00000000 // Проверка разделителя между библами
je next
cmp temp,10000000 // Есть немного неиспорченых ф-й
ja next
mov eip, temp
add temp, 17
bp temp
run
bc temp
mov [startscan], eax
next:
add startscan, 4
jmp rec
endscript:
mov eip, OEP
mov ESP, TempESP
ret
//******************************************************
Вот распакованный http://rapidshare.com/files/51801075/1_.rar.html http://rapidshare.com/files/51801075/1_.rar.html



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

Создано: 28 августа 2007 16:53
· Личное сообщение · #3

crc1
Для какой версии OllyScript этот скрипт? У меня чето все версии ругаются на него: ошибка на 6 строке - mov TempESP, ESP.




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

Создано: 28 августа 2007 18:09
· Личное сообщение · #4

QuickUnpack последний вполне анпачит, за ОЕП взял 4692e2.



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

Создано: 28 августа 2007 19:27
· Личное сообщение · #5

Mavlyudov пишет:
Импорт весь загажен.

Сабж не портит таблицу ;) там не фиг восстанавливать, либо скопипастить либо не дать заполнить и сдампить на оеп




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

Создано: 28 августа 2007 21:52
· Личное сообщение · #6

Archer
По умолчанию QuickUnpack предлагает ОЕР=005269D7
Но явно неверно.
Я также пробовал брать то что ты предложил 4692e2, и еще два варианта.
00472E05
00469103
В первых двух дампах после запуска была ошибка по адресу 0x00e30038,
третий не запустился вообще. Определенно, импорт надо править...

Расскажи, кстати, как дошел до ОЕР=4692e2




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

Создано: 28 августа 2007 22:46
· Личное сообщение · #7

Mavlyudov
hr esp-4 рулит. Поставив этот OEP руками, последний QuickUnpack нормально распачил. По идее последняя публичная версия тоже должна нормально. Для импорта даже трассер не понадобился, в QU и так норм.




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

Создано: 28 августа 2007 22:47 · Поправил: Mavlyudov
· Личное сообщение · #8

crc1
Кажется начинаю понимать..

hr esp-4
потом несколько раз ф9 и стою тут

004692DC E8 B8700000 CALL oodcnt.00470399
004692E1 C3 RETN
004692E2 E8 1E9B0000 CALL oodcnt.00472E05
004692E7 ^E9 17FEFFFF JMP oodcnt.00469103

Вот куда ведет КОЛ и ПРЫГ
00472E05 55 PUSH EBP
00472E06 8BEC MOV EBP,ESP
-------------------------------------------------------------
00469103 6A 60 PUSH 60
00469105 68 30795700 PUSH oodcnt.00577930
0046910A E8 45720000 CALL oodcnt.00470354

только почему не подходит строка ?????
004692E7 ^E9 17FEFFFF JMP oodcnt.00469103
Ведь это JMP EAX

EDIT

2Archer
Начал писать свой ответ еще до того как появился твой...
да, hr esp-4 рулит



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

Создано: 29 августа 2007 08:26 · Поправил: crc1
· Личное сообщение · #9

pavka пишет:
Сабж не портит таблицу ;)


0053C404 00C9094C
0053C408 00C90968 <== А это что?
0053C40C 00C90984
0053C410 00C909A0
0053C414 7C882FC4 kernel32.LoadLibraryW
0053C418 7C882FEC kernel32.GetProcAddress
0053C41C 7C910340 ntdll.RtlSetLastWin32Error

Кароче, что бы импорт был нормальный
005A3E21 CALL 005A3746
005A3E26 TEST EAX, EAX
005A3E28 JE SHORT 005A3E73 тут меняем на JMP

Дампить можно хоть на 004692E2, хоть на 00469103, я разницы не заметил
deepred
OllyScript 1.52

ЗЫ Похоже еще и PE заголовок портит




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

Создано: 29 августа 2007 09:39
· Личное сообщение · #10

crc1
выложи пожалуйста OllyScript 1.52



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

Создано: 29 августа 2007 10:53
· Личное сообщение · #11

crc1
вот сам PolyEnE 0.01+ by Lennart Hedlund заполняет таблицу
0041B2B8 FF15 90B34100 CALL DWORD PTR DS:[<&KERNEL32.GetProcAdd>; kernel32.GetProcAddress
0041B2BE 68 00000000 PUSH 0
0041B2C3 59 POP ECX
0041B2C4 52 PUSH EDX
0041B2C5 50 PUSH EAX
0041B2C6 3B0C24 CMP ECX,DWORD PTR SS:[ESP]
0041B2C9 5A POP EDX
0041B2CA 5A POP EDX
0041B2CB 0F84 28000000 JE polyene.0041B2F9
0041B2D1 8903 MOV DWORD PTR DS:[EBX],EAX
0041B2D3 52 PUSH EDX
0041B2D4 BA 04000000 MOV EDX,4
0041B2D9 03DA ADD EBX,EDX
0041B2DB 5A POP EDX
0041B2DC ^ E9 B2FFFFFF JMP polyene.0041B293
0041B2E1 8DBF 14000000 LEA EDI,DWORD PTR DS:[EDI+14]
0041B2E7 ^ E9 5CFFFFFF JMP polyene.0041B248
0041B2EC 61 POPAD
0041B2ED 55 PUSH EBP ; OEP

вот сама таблица не затертая а что ты там распаковываешь фиг его знает
00405000 00005480
00405004 00005470
00405008 0000545E
0040500C 00005494
00405010 0000543E
00405014 0000544C
00405018 00000000
0040501C 00005262
00405020 00005272
00405024 0000524E
00405028 0000522E
0040502C 00005240
00405030 0000529A
00405034 000052A6
00405038 00005220
0040503C 00005210
00405040 0000528E
00405044 00005280
00405048 000051F6
0040504C 00005202
00405050 000051E8
00405054 00000000
00405058 000053FE
0040505C 00000000
00405060 0000535E
00405064 0000536E
00405068 00005350
0040506C 00005304
00405070 00005384
00405074 000053A4
00405078 00005310
0040507C 000053C2
00405080 000053D4
00405084 000053E2
00405088 00005394
0040508C 000053B6
00405090 000052F4
00405094 000052E2
00405098 000052CC
0040509C 000052C0




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

Создано: 29 августа 2007 11:15
· Личное сообщение · #12

crc1
пробовал по-разному, в точ числе и менять прыг, но ImportREC не пашит, выводит одни No



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

Создано: 29 августа 2007 11:27
· Личное сообщение · #13

pavka пишет:
вот сама таблица не затертая а что ты там распаковываешь фиг его знает

Я распаковываю то что Mavlyudov в первом посте выложил (oodcnt.exe) и спросил чем запакована прога?
Мой PeID утверждает это PolyEnE 0.01+ by Lennart Hedlund. Возможно он ошибается и судя по тому что привел ты, это так. Тогда вопрос что это за пакер? Скачал бы и глянул. Импорт на 95% - переходники такого вида:
00469117 CALL DWORD PTR DS:[53C43C]
DS:[0053C43C]=00C90AD4

00C90AD4 PUSH EAX
00C90AD5 PUSH EAX
00C90AD6 MOV EAX, 4622E92B
00C90ADB XCHG DWORD PTR SS:[ESP], EAX
00C90ADE ROL DWORD PTR SS:[ESP], 0B
00C90AE2 MOV EAX, 6BC94461
00C90AE7 XOR DWORD PTR SS:[ESP], EAX
00C90AEA POP EAX Тут в EAX адрес реальной API kernel32.GetStartupInfoW
00C90AEB XCHG DWORD PTR SS:[ESP], EAX
00C90AEE RETN

Как это лечится я описал выше.



0406_29.08.2007_CRACKLAB.rU.tgz - ODbgScript_v1.52_ENG.rar




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

Создано: 29 августа 2007 11:30 · Поправил: Mavlyudov
· Личное сообщение · #14

crc1
запустил твой скрипт. что-то он долго отрабатывает....так и должно быть?

deepred
я кажется понял, почему была ошибка в скрипте.
Тут
mov TempESP, ESP
надо ESP маленькими буквами написать...
вроде работает.

crc1
Спс. я также нашел 1.48
Подскажи еще, как найти начало и конец IAT



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

Создано: 29 августа 2007 11:36
· Личное сообщение · #15

Mavlyudov
Попробуй ручками в импреке задать RVA == 0013C000 и Size == 0C54
Про OEP обсудили выше




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

Создано: 29 августа 2007 11:44
· Личное сообщение · #16

crc1
как нашел?
не могу нгикак выйти на нормальный call, который бы привел сюда JMP DWORD PTR DS........



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

Создано: 29 августа 2007 11:52 · Поправил: crc1
· Личное сообщение · #17

Mavlyudov пишет:
Подскажи еще, как найти начало и конец IAT

1000 раз писали
1001
Стоишь на OEP
00469103 PUSH 60
00469105 PUSH 00577930
0046910A CALL 00470354
0046910F AND DWORD PTR SS:[EBP-4], 0
00469113 LEA EAX, DWORD PTR SS:[EBP-70]
00469116 PUSH EAX
00469117 CALL DWORD PTR DS:[53C43C] Переходник
0046911D MOV DWORD PTR SS:[EBP-4], -2
00469124 MOV EDI, 94
00469129 PUSH EDI
0046912A PUSH 0
0046912C MOV EBX, DWORD PTR DS:[53C440]
00469132 CALL EBX
00469134 PUSH EAX
00469135 CALL DWORD PTR DS:[53C444] ; ntdll.RtlAllocateHeapНормальный вызов ф-ии

Правой кнопкой на DS:[53C444] и Follow in Dump=>Memory Address
В дампе чтобы было легче меняешь режим Long=>Address
Увидишь это
0053C440 00C90AF0 Переходник
0053C444 7C9105D4 ntdll.RtlAllocateHeap
0053C448 7C91043D ntdll.RtlFreeHeap
Крутиш вверх пока не пойдут нули или байты явно не относящиеся к IAT
0053BFF4 00000000
0053BFF8 00000000
0053BFFC 00000000
0053C000 00CE0000 Начало IAT
0053C004 00CE001C
Крутишь вниз пока не пойдут нули или байты явно не относящиеся к IAT
0053CC44 00D20070
0053CC48 00D2008C
0053CC4C 00D200A8
0053CC50 00D200C4
0053CC54 00000000 Конец IAT
0053CC58 00000000
0053CC5C 0053A816 ASCII "№hY"
0053CC60 0053A820 oodcnt.0053A820
0053CC64 0053A82C oodcnt.0053A82C
Фсе
Когда поменяешь джамп табличка будет ОК



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

Создано: 29 августа 2007 12:03
· Личное сообщение · #18

Mavlyudov пишет:
который бы привел сюда JMP DWORD PTR DS........
Прога на писана на Visual C++ поэтому вызовы импортируемых ф-ий осуществляются CALL DWORD PTR DS........



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

Создано: 29 августа 2007 12:33
· Личное сообщение · #19

crc1 пишет:
Мой PeID утверждает это PolyEnE 0.01+ by Lennart Hedlund. Возможно он ошибается и судя по тому что привел ты, это так. Тогда вопрос что это за пакер? Скачал бы и глянул. Импорт на 95% - переходники такого вида:
00469117 CALL DWORD PTR DS:[53C43C]

Посмотрел ни чего общего с PolyEnE 0.01+ by Lennart Hedlund и вообще нафиг там нужен скрипт!
переход на оеп в самом низу загрузчика
005A415C 61 POPAD
005A415D 8B7C24 24 MOV EDI,DWORD PTR SS:[ESP+24]
005A4161 57 PUSH EDI
005A4162 8D87 F03E1A00 LEA EAX,DWORD PTR DS:[EDI+1A3EF0]
005A4168 FFD0 CALL EAX
005A416A 8D4424 24 LEA EAX,DWORD PTR SS:[ESP+24]
005A416E 8B28 MOV EBP,DWORD PTR DS:[EAX]
005A4170 BE E2920600 MOV ESI,692E2
005A4175 0130 ADD DWORD PTR DS:[EAX],ESI
005A4177 8B5D 3C MOV EBX,DWORD PTR SS:[EBP+3C]
005A417A 03DD ADD EBX,EBP
005A417C 8B7B 28 MOV EDI,DWORD PTR DS:[EBX+28]
005A417F 03FD ADD EDI,EBP
005A4181 B0 B8 MOV AL,0B8
005A4183 AA STOS BYTE PTR ES:[EDI]
005A4184 B8 00000000 MOV EAX,0
005A4189 AB STOS DWORD PTR ES:[EDI]
005A418A B0 C2 MOV AL,0C2
005A418C AA STOS BYTE PTR ES:[EDI]
005A418D B8 04000000 MOV EAX,4
005A4192 66:AB STOS WORD PTR ES:[EDI]
005A4194 61 POPAD
005A4195 8D6424 04 LEA ESP,DWORD PTR SS:[ESP+4]---004692E2 переход на ОЕП
005A4199 C3 RETN
004692E2 E8 1E9B0000 CALL oodcnt.00472E05 <------- OEP
004692E7 ^ E9 17FEFFFF JMP oodcnt.00469103
импорт держит во внутреней таблице при заполнении зачем то оставлет функи ну и делали бы весь импорт через переходники ;) а так этот джамп увидит даже слепой... фигня в общем ни чего интересного



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

Создано: 29 августа 2007 12:55
· Личное сообщение · #20

pavka
Это и так все извесно и прога распакована. Чел задал вопрос че за пакер. Сразу бы сказал - не знаю



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

Создано: 29 августа 2007 14:09
· Личное сообщение · #21

crc1
Не знаю чего тебе известно ;) Ты просил посмотреть я посмотрел! Да и оеп ты нашел не правильно Скрипт вместо двух строчек типа
bp oep
mov [jmp], #EB#
run
накатал непонятно что Да и с PolyEnE 0.01 лоханулься какие ко мне претезии



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

Создано: 30 августа 2007 02:55
· Личное сообщение · #22

Народ, кто может в 1002 раз объяснить как находить IAT вручную, желательно в виде статьи и чтобы с примером на C++ и на Делфи. Искал в Яндексе и Гугле, но не нашел или тыкните меня носом где искать.



Ранг: 329.6 (мудрец), 192thx
Активность: 0.140.01
Статус: Участник

Создано: 30 августа 2007 10:27
· Личное сообщение · #23

deepred пишет:
Народ, кто может в 1002 раз объяснить как находить IAT вручную, желательно в виде статьи и чтобы с примером на C++ и на Делфи


Посмотри на мои статьи в разделе RAR-статьи. Я там подробно описал ручной поиск таблицы IAT.




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

Создано: 30 августа 2007 13:02
· Личное сообщение · #24

deepred
почитай статьи краклаба. В теме Ebooks сделали chm версию всех статей


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


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