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

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

 eXeL@B —› Основной форум —› Распаковка MEW
Посл.ответ Сообщение

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

Создано: 02 октября 2004 22:30 New!
Цитата · Личное сообщение · #1

как осуществить? пробовал dump потом imprec, но чтото не выходит




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

Создано: 02 октября 2004 22:44 New!
Цитата · Личное сообщение · #2

Распаковывается очень легко.
Пишу мини-тутор =)
Определяем ОЕР (например при помощи плагина Generic OEP Finder из PEiD).
Открываем ехешник в ольке.
Жмём Ctrl+G и прыгаем на ОЕР.
Нажимаем F4 и ждём.
Прога остановилась прямо на ОЕР.
Теперь дампим (я дампил LordPE)
Теперь восстанавливаем импорт ImpRec'ом.
Всё




Ранг: 60.7 (постоянный)
Статус: Участник
KpTeaM

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

v0id
А что за прога ? Дай ссылку.

WELL
> Определяем ОЕР (например при помощи плагина Generic OEP Finder из PEiD).
Я как-то распаковывал сам MEW v1.0, но GenOEP неправильно OEP нашёл, так что пришлось самому дойти

P.S. MEW v1.1 по-моему UPX'ом запакован




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

Создано: 03 октября 2004 00:31 New!
Цитата · Личное сообщение · #4

Ну я чисто для примера Generic OEP Finder предложил. Руками, конечно, надёжнее ;)
Runtime_err0r пишет:
MEW v1.1 по-моему UPX'ом запакован

Так и есть.
А я думал имеются ввиду проги mew'ом запакованные



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

Создано: 03 октября 2004 01:50 New!
Цитата · Личное сообщение · #5

Привет, вот скрипт для нахождения OEP, проверялся на 10-й версии, автор - SMoKE:

===============================================

/*
// OEP FINDER FOR: Mew 10 exe-coder 1.0 by Northfox
// AUTHOR : SMoKE (smoke@freenet.am)
// OS : WinXP SP1, OllyDbg v1.10c, OllyScript v0.8
// INFOZ : dump at OEP and simply fix import table by ImpRec
*/


var X
gpa "LoadLibraryA", "kernel32.dll"
bphws $RESULT, "x"
eob label1
run
label1:
bphwc $RESULT
mov X, [esp]
bp X
eob label2
run
label2:
bc X
findop eip, #C3#
bp $RESULT
eob label3
run
label3:
bc $RESULT
sto
cmt eip, "OEP Reached !"

==============================================

Кстати, кто-нить пытался распаковать прогу автора этого скрипта - ARM Pack v0.3 (http://freenet.am/~softland/armp.rar)
Рульный протектор.




Ранг: 332.0 (мудрец)
Статус: Участник
•Pr0tEcToRs KiLLeR•

Создано: 03 октября 2004 05:55 New!
Цитата · Личное сообщение · #6

arnix пишет:
Рульный протектор.

хехе, этому гмм... "протектору" до рульного ещё как до звезды ;)
если импрек юзать - то он за минуту снимается, если OrigIT восстанавливать - то вот скрипт написал:


var mbase
gmi eip, MODULEBASE
mov mbase, $RESULT
log mbase

var oep
var decr
var wr_addr
var temp
var l_addr
var IT

mov temp, eip
shr temp, 0c
shl temp, 0c
mov decr, temp
add decr, 0ab
bphws decr, "x"
eob lab1
eoe lab1
run

lab1:
log eip
cmp eip, decr
je loc1
cmp [eip], 01eb008b
je loc2
cmp [eip], 909090CC
je loc3
esto

loc1:
bphwc decr
find temp, #750B83C410# // mem_check
mov wr_addr, $RESULT
mov [wr_addr], #EB#
pause
find temp, #EB019AF7# // write to iat
mov wr_addr, $RESULT
sub wr_addr, 2
mov [wr_addr], #9090#
find temp, #8D460C50EB01# // crypt image_import_descriptor (dll)
mov wr_addr, $RESULT
add wr_addr, 7
mov [wr_addr], #9090909090#
find temp, #A856EB01AA# // crypt image_import_descriptor
mov wr_addr, $RESULT
add wr_addr, 5
mov [wr_addr], #9090909090#
mov l_addr, wr_addr
bp l_addr
sub wr_addr, 2d
mov [wr_addr], #9090909090#
find temp, #C6060046803E0075F4# // clear name dll & api
mov wr_addr, $RESULT
mov [wr_addr], #909090909090909090#
find temp, #57EB01E8# // crypt name api
mov wr_addr, $RESULT
add wr_addr, 4
mov [wr_addr], #9090909090#
find temp, #57EB01EBE8# // crypt name dll
mov wr_addr, $RESULT
add wr_addr, 4
mov [wr_addr], #9090909090#
esto

loc2:
mov oep, ebx
xor oep, 0CAFEBABE // хз
bp oep
eoe end
eob end
esto

end:
bc oep
cmt eip, "-====OEP====-"
dpe "c:\unp.exe", eip
msg "Saved as C:\unp.exe"
bpmc
ret


loc3:
bc l_addr
mov IT, esi
sub IT, mbase
mov temp, mbase
add temp, 3c
mov temp, [temp]
add temp, 80
add temp, mbase
mov [temp], IT
log IT
esto


кста про этот пакер тут уже кто-то говорил... про прошлую версию... там где ещё автор не учёл перенаправление апи из kernel32 в ntdll ;)

ЗЫ в той версии вроде тоже оеп с этой кафебабой ксорилось... я наверно поэтому его и запомнил



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

Создано: 03 октября 2004 06:49 New!
Цитата · Личное сообщение · #7

arnix пишет:
Рульный протектор.

Тока под Win2K не пахаеть из-за отсутствия Import Table ;)




Ранг: 332.0 (мудрец)
Статус: Участник
•Pr0tEcToRs KiLLeR•

Создано: 03 октября 2004 13:25 New!
Цитата · Личное сообщение · #8

sanniassin пишет:
Тока под Win2K не пахаеть из-за отсутствия Import Table ;)

а там просто винде не нравится отсутствие адреса в header`е проги или пакер не правильно определяет imagebase kernel32 ?
он берёт указатель на системный Seh и выравнивает это значение к 10000 () , потом вычитает по 10000 до тех пор, пока там не окажется сигнатура MZ... в ХП это прокатывает...

arnix пишет:
Рульный протектор.

почитал я его readme и решил посмотреть, что из себя представляют все его опции:

- Anti Ring3 Debugger (Application Level)
executable will refuse to run if it detects that the process is working under application level (ring 3) debugger (debuggers that use debug APIs).


байтик в PEB:
004DD140    >MOV EAX,DWORD PTR FS:[30]

004DD146 >NOP
004DD147 >NOP
004DD148 >NOP
004DD149 >NOP
004DD14A >MOVZX EAX,BYTE PTR [EAX+2]


- Anti SoftIce and Monitoring Tools
executable will refuse to run if there is active SoftIce/Trw system debuggers and plus some of well known Monitoring Tools (like RegMon and FileMon).


0>.\\.\TRW.\\.\SIC

0>E.\\.\NTICE.\\.\
0>FILEVXD.\\.\FILE
0>MON.\\.\REGVXD.\
0>\.\REGMON.......

CreateFileA - старо как мир ;)

- Exit In Case Of Bad CRC
executable will refuse to run if it detects that the file is modified, changing even one byte will make executable un-runable.


_lopen

_lread
...
004DD33F >CALL CRC
004DD344 >NOP
004DD345 >NOP
004DD346 >NOP
004DD347 >NOP
004DD348 >XOR EAX,435243
004DD34D >NOP
004DD34E >NOP
004DD34F >NOP
004DD350 >CMP EAX,DWORD PTR [EBP+403A0B]
004DD356 >JE SHORT ResHacke.004DD384 // если равно, то идём дальше

короче тоже стандарт

- Erase API/DLL Name Strings (Destroy IT)
if the file protected with this option, there wont be any API and DLL names in the memory after startup. So the import table (IT) will be destroyed.


фигня, легко нопится

- Anti API Breakpoint
this option will fight against breakpoints on apis which executable uses (APIs from import table). So if there will be any breakpoint executable will refuse to run.


0CCh в первом байте

- Anti In-Loader API BPX (Prevent Unpack)
and this option checks breakpoints for apis that in-mem loader uses (emulated APIs).


сами адреса апи берутся с использованием таблицы экспорта, имена хранятся в виде хешей (как в SVKP, PESpin...) проветка - стандартно, на равенство первого байта 0CCh.

- Anti In-Loader Code BPX
this option will fight against software breakpoints, if there will be any breakpoint in the loader body program will refuse to run.


если находит в своём коде 0CCh (тупо проверяет весь свой код) то вылет:
loc_nextbyte:


mov al, [esi]
dec al
cmp al, 0CBh
jnz loc_notfound
add esp, 10 // если найдено 0CCh
popad
ret

loc_notfound:

inc esi
loopd nextbyte // в ecx - размер проверяемого кода


- Anti Hardware Breakpoint
and this option will fight against hardware breakpoints, that system (ring0) debuggers use to break on (hmm.. ring3 debuggers use hardware breakpoints aswell


один раз внутри Seh запихивает ноли в структуру CONTEXT

- Password Protect
if you choose this option, protected file will ask for a password at run-time, entering wrong password will crash program (read more in ABOUT PASSWORD PROTECTION)


RAR рулит

- Anti IceDump (Win9x only)
executable refuse to run if there is active IceDump loaded.
From IceDump readme file "icedump performs exports renormalization on several system DLLs which remains effective even after icedump has been unloaded" so regarding to this fact, option will detect unloaded icedump too, means will detect even if icedump is unloaded by user to bypass the protection


9x - sux

И ещё, у этого протектора в коде есть очень интересный dword, значение которого - это комбинация:
01h - Anti Ring3 Debugger (Application Level)
02h - Anti SoftIce and Monitoring Tools
04h - CRC
08h - Erase API/DLL Name Strings (Destroy IT)
10h - Anti API Breakpoint
20h - bpx in-loader API
40h - bpx in-loader code
80h - Anti Hardware Breakpoint
100h - Password
200h - Anti IceDump
если этот dword обнулить, то проверять пакер ничего не будет ;)



Ранг: 384.1 (мудрец)
Статус: Участник
www.int3.net

Создано: 03 октября 2004 13:32 New!
Цитата · Личное сообщение · #9

Mario555
Молодец! ;)




Ранг: 332.0 (мудрец)
Статус: Участник
•Pr0tEcToRs KiLLeR•

Создано: 03 октября 2004 13:42 New!
Цитата · Личное сообщение · #10

люблю асмовые пакеры... ;)



Ранг: 450.1 (мудрец)
Статус: Участник

Создано: 03 октября 2004 13:57 New!
Цитата · Личное сообщение · #11

_http://www.datarescue.com/idabase/unpack_pe/index.htm ;)



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

Создано: 03 октября 2004 14:56 · Поправил: sanniassin New!
Цитата · Личное сообщение · #12

Mario555 пишет:
а там просто винде не нравится отсутствие адреса в header`е проги или пакер не правильно определяет imagebase kernel32 ?

Винде не нравится отсутствие адреса в header`е
Мож в header какую-нить хренотень впихнуть ;)



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

Создано: 14 октября 2004 20:38 New!
Цитата · Личное сообщение · #13

мне надо распаковать прогу которая MEW запакована.
Попробую (Generic OEP Finder) он кстати на сайте есть?
А ручками искать не умею опыта мало




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

Создано: 14 октября 2004 20:53 New!
Цитата · Личное сообщение · #14

v0id
Generic OEP Finder c peid'ом идёт в виде плагина =)
А дальше...
WELL пишет:
Распаковывается очень легко.
Пишу мини-тутор =)
Определяем ОЕР (например при помощи плагина Generic OEP Finder из PEiD).
Открываем ехешник в ольке.
Жмём Ctrl+G и прыгаем на ОЕР.
Нажимаем F4 и ждём.
Прога остановилась прямо на ОЕР.
Теперь дампим (я дампил LordPE)
Теперь восстанавливаем импорт ImpRec'ом.
Всё





Ранг: 60.7 (постоянный)
Статус: Участник
KpTeaM

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

v0id
> мне надо распаковать прогу которая MEW запакована.
Так ссылку бы что-ли дал !!!



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

Создано: 18 октября 2004 10:25 New!
Цитата · Личное сообщение · #16

да это просто тренинг, я сам взял прогу и запаковал её, а вот теперь хочу распаковать


 eXeL@B —› Основной форум —› Распаковка MEW

Видеокурс ВЗЛОМ