Посл.ответ |
Сообщение |
Ранг: 14.2 (новичок), 2thx Активность: 0.03↘0 Статус: Участник
|
Создано: 24 июня 2008 13:56 · Личное сообщение · #1
Здравствуйте, помогите пожалуйста научиться вообще распаковывать файлы. Я кроме UPX больше не чего не распаковывал... Не могу разобраться как найти OEP "OEP Not Found", а как описано в статье такого у меня не находит "E8 DB E8" а находит "CALL..." вообще не чего не получается  . Нужна помощь в распаковке данного файла. Спасибо. 2528_24.06.2008_CRACKLAB.rU.tgz - pec2gui.rar
| Сообщение посчитали полезным: |
|
 Ранг: 469.0 (мудрец), 100thx Активность: 0.25↘0 Статус: Участник [www.AHTeam.org]
|
Создано: 24 июня 2008 14:04 · Личное сообщение · #2
воспользуйся скриптом:
// Script for OllyScript plugin by SHaG - ollyscript.apsvans.com
;--------------
/*
//////////////////////////////////////////////////////////////
// PECompact 2.xx (Support all ver) OEP finder
// Author: hacnho/VCT2k4
// Email : hacnho@hotmail.com
// Website: nhandan.info/hacnho
// OS : WinXP Pro, OllyDbg 1.10 Final, OllyScript v0.85
// Date ReLeAsE: 14 July 2005
/////////////////////////////////////////////////////////////
*/
var CS
var CB
var Temp
sto
findop eax, #C3#
bp $RESULT
esto
esto
gmi eip, CODEBASE
mov CB, $RESULT
log CB
gmi eip, CODESIZE
mov CS, $RESULT
log CS
bpwm CB, CS
esto
sto
bpmc
findop eip, #FFE0#
mov Temp, $RESULT
bp $RESULT
esto
jmp exit
Return:
esto
jmp exit
exit:
cmp eip, Temp
jne Return
sto
log eip
cmt eip, "This is the OEP! Found by hacnho/VCT2k4"
MSG "Dumped and fix IAT now! Thanx for using my Script...!"
ret
;---
// [BACK]
----- -=истина где-то рядом=- | Сообщение посчитали полезным: |
Ранг: 14.2 (новичок), 2thx Активность: 0.03↘0 Статус: Участник
|
Создано: 24 июня 2008 14:13 · Поправил: Dima555 · Личное сообщение · #3
KingSise
Спасибо за скрит, но то что он нашёл я находил уже руками...
0040EB98 > $ E8 2D7A0000 CALL pec2gui.004165CA ; This is the OEP! Found by hacnho/VCT2k4
Разве это то, что нужно?
| Сообщение посчитали полезным: |
Ранг: 14.2 (новичок), 2thx Активность: 0.03↘0 Статус: Участник
|
Создано: 24 июня 2008 15:15 · Личное сообщение · #4
Я нашел OEM я сделал DAMP. Восстановил ресурсы и у меня ил и одна ошибка или другая.
i047.radikal.ru/0806/83/9e3995d60057.png
i037.radikal.ru/0806/b2/ed3f350ad4e7.png
или не запускается вообще
| Сообщение посчитали полезным: |
Ранг: 14.2 (новичок), 2thx Активность: 0.03↘0 Статус: Участник
|
Создано: 24 июня 2008 16:27 · Личное сообщение · #5
Вроде сломал прогу... не подскажите как вот тут текст переправить?
i055.radikal.ru/0806/3f/c7a26db174da.png
| Сообщение посчитали полезным: |
 Ранг: 2014.5 (!!!!), 1278thx Активность: 1.34↘0.25 Статус: Модератор retired
|
Создано: 24 июня 2008 18:19 · Личное сообщение · #6
Текст на стеке формируется, смотри, где формируется, да правь. Если распакованный ещё нужен-QuickUnpack наверняка распакует.
| Сообщение посчитали полезным: |
Ранг: 14.2 (новичок), 2thx Активность: 0.03↘0 Статус: Участник
|
Создано: 24 июня 2008 18:42 · Личное сообщение · #7
Archer
Я этот текст вижу в запущенном виде, но в запущенном виде после редактирования сохранить нельзя -((
| Сообщение посчитали полезным: |
Ранг: 13.9 (новичок), 1thx Активность: 0.01↘0 Статус: Участник
|
Создано: 24 июня 2008 18:52 · Личное сообщение · #8
Опять же просто можно изменить стоку в самом файле...
| Сообщение посчитали полезным: |
Ранг: 14.2 (новичок), 2thx Активность: 0.03↘0 Статус: Участник
|
Создано: 24 июня 2008 18:55 · Личное сообщение · #9
Я это понимаю, но не каким редактором не могу найти где менять
| Сообщение посчитали полезным: |
Ранг: 13.9 (новичок), 1thx Активность: 0.01↘0 Статус: Участник
|
Создано: 24 июня 2008 20:59 · Личное сообщение · #10
Dima555 пишет:
Я это понимаю, но не каким редактором не могу найти где менять
то есть? для просмотра можно и Wdasm использовать.. он хорошо строки показывает... а так, если строки не динамически формируются то WinHex в руки и вперед на амбразуру ))
| Сообщение посчитали полезным: |
Ранг: 441.3 (мудрец), 297thx Активность: 0.41↘0.04 Статус: Участник
|
Создано: 24 июня 2008 21:01 · Личное сообщение · #11
Dima555
Рад бы помочь, но твой оригинальный файл (который из первого поста) не запускается без UpdateChecker.dll
Выложи чтоли все необходимые файлы для запуска
| Сообщение посчитали полезным: |
Ранг: 14.2 (новичок), 2thx Активность: 0.03↘0 Статус: Участник
|
Создано: 25 июня 2008 09:58 · Поправил: Dima555 · Личное сообщение · #12
tihiy_grom
www.bitsum.com/files/pec2setup.zip
RusEm
Я эти все программы перепробовал. Ни чего не нашел
| Сообщение посчитали полезным: |
 Ранг: 126.7 (ветеран) Активность: 0.14↘0 Статус: Участник #CCh
|
Создано: 25 июня 2008 10:32 · Личное сообщение · #13
Попробуй стоя на ЕП поставить хардварный бряк на байт памяти 0012Fxxxx чото там (по которому текст). При push \ pop срабатывать не будет, а при дин. формировании текста должен поймать..
----- invoke OpenFire | Сообщение посчитали полезным: |
Ранг: 14.2 (новичок), 2thx Активность: 0.03↘0 Статус: Участник
|
Создано: 25 июня 2008 10:45 · Поправил: Dima555 · Личное сообщение · #14
Ice-T
кажется, если в программе етсь выбор языков, значит нужно язык править в другом файле...
Теперь одна проблема, программа закрывается. вот я биру... распаковываю программу и она теперь не работает как запакованная... она почему то закрывается при выборе файла
Значит язык сменил, триал остановил, осталось понять почему закрывается программа...
| Сообщение посчитали полезным: |
Ранг: 441.3 (мудрец), 297thx Активность: 0.41↘0.04 Статус: Участник
|
Создано: 25 июня 2008 20:28 · Личное сообщение · #15
Dima555
Я так и не понял что именно ты хочешь поправить в строке "7 trials day remain (дней опробования: 7)"  Но скорее всего ты хочешь просто убрать эту надпись
Вот тут
00428F75 . 51 PUSH ECX
в стек заносится текст "PECompact2 GUI"
Сразу после этого делай джамп на адрес 00428F85 и вместо "7 trials day remain" получишь надпись "PECompact2 GUI"
| Сообщение посчитали полезным: |
Ранг: 14.2 (новичок), 2thx Активность: 0.03↘0 Статус: Участник
|
Создано: 25 июня 2008 21:29 · Личное сообщение · #16
tihiy_grom
Надпись переправил в языковом файле
Осталось проблема... после распаковки при выборе файла в программе она тупо закрывается  не понимаю в чем дело..
| Сообщение посчитали полезным: |
Ранг: 441.3 (мудрец), 297thx Активность: 0.41↘0.04 Статус: Участник
|
Создано: 25 июня 2008 23:49 · Личное сообщение · #17
Dima555
Это уже какой-то пошаговый запрос на взлом получается
Прыг на ExitProcess происходит по адресу 4123AE - правь его с JNZ на JMP, например, и всё будет путём.
И если опять что-то не будет работать уже в другом месте - пробуй разобраться сам. Трассируй в отладчике, пытайся понять что именно делает код, следи за значениями в стеке, лови прогу бряками на нужных API. И скачай себе какой-нибудь справочник по API-функциям, чтобы хотя бы иметь представление какая функция за что отвечает (типа SetWindowTextA - изменение текста в окнах, ExitProcess - завершение программы и т.д.)
Кстати, следующая проблема у тебя будет такая  после сжатия окно не становится активным.
| Сообщение посчитали полезным: |
Ранг: 138.7 (ветеран), 135thx Активность: 0.11↘0 Статус: Участник
|
Создано: 26 июня 2008 12:57 · Личное сообщение · #18
tihiy_grom пишет:
Кстати, следующая проблема у тебя будет такая после сжатия окно не становится активным.
А еще следующая, почему после семи дней pec2gui.exe запускается, а проги не пакует
ИМХО лучше делать инлайн патч. И пачить в памяти надо не код программы, а тупо килять ключ реестра
Software\Microsoft\Windows\CurrentVersion\COMCTL где хранится триальный счетчик. Этим убиваются два зайца.
1. Не нада распаковывать pec2gui.exe и искать и править проверки на триал и распакованность.
2. То же самое относиться к консольному файлу PEC2.exe Он тоже чекает триал из того же ключа реестра и после семи дней паковать не будет.
Примерно это будет выглядеть так:
Было
00440A2C POP EBX
00440A2D POP EBP
00440A2E JMP EAX ; Прыг на OEP, меняем на короткий джамп, потому что длинный, PECompact затрет.
Получится
00440A2C POP EBX
00440A2D POP EBP
00440A2E JMP SHORT 00440A4F ; короткий прыг
............
............
............
00440A4F JMP 00400240 ; вот тут длинный джамп, прыгаем в хидер, где пишем такой код
00400240 PUSH EAX ; Сохраним регистр EAX (в нем адрес OEP)
00400241 PUSH 00400264 ; UNICODE "Software\Microsoft\Windows\CurrentVersion\COMCTL"
00400246 PUSH 80000001 ; HKEY_CURRENT_USER
0040024B CALL DWORD PTR DS:[430020] ; ADVAPI32.RegDeleteKeyW
00400251 POP EAX ; восстановим регистр EAX
00400252 JMP EAX ; Прыгаем на OEP
По адресу 00400264 нужно записать UNICODE строку Software\Microsoft\Windows\CurrentVersion\COMCTL
Почему UNICODE? Потому что PECompact импортирует тока функу RegDeleteKeyW которая работает с UNICODE строками.
В итоге имеем вечный семидневный триал
ЗЫ. Если инлайнить код самой проги, тогда нужно учесть, что PECompact после распаковки проги в память, меняет атрибуты секции кода на чтение/выполнение и писать в эту секцию низя. Это тоже легко обходится.
| Сообщение посчитали полезным: |
Ранг: 441.3 (мудрец), 297thx Активность: 0.41↘0.04 Статус: Участник
|
Создано: 26 июня 2008 13:26 · Личное сообщение · #19
crc1
Твой вариант действительно лучше, просто Dima555 пошёл с самого начала более трудным путём. Зато есть несомненно плюс - он уже умеет распаковывать PECompact
| Сообщение посчитали полезным: |
Ранг: 138.7 (ветеран), 135thx Активность: 0.11↘0 Статус: Участник
|
Создано: 26 июня 2008 14:58 · Личное сообщение · #20
tihiy_grom пишет:
он уже умеет распаковывать PECompact Который не работает
Dima555, не ссать, дерзай дальше и усе получится...
| Сообщение посчитали полезным: |
Ранг: 14.2 (новичок), 2thx Активность: 0.03↘0 Статус: Участник
|
Создано: 26 июня 2008 17:21 · Личное сообщение · #21
crc1 Позже займусь.
| Сообщение посчитали полезным: |