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

 eXeL@B —› Вопросы новичков —› PECompact 2.x -> Jeremy Collake
Посл.ответ Сообщение

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

Создано: 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.250
Статус: Участник
[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.030
Статус: Участник

Создано: 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.030
Статус: Участник

Создано: 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.030
Статус: Участник

Создано: 24 июня 2008 16:27
· Личное сообщение · #5

Вроде сломал прогу... не подскажите как вот тут текст переправить?

i055.radikal.ru/0806/3f/c7a26db174da.png




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

Создано: 24 июня 2008 18:19
· Личное сообщение · #6

Текст на стеке формируется, смотри, где формируется, да правь. Если распакованный ещё нужен-QuickUnpack наверняка распакует.



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

Создано: 24 июня 2008 18:42
· Личное сообщение · #7

Archer
Я этот текст вижу в запущенном виде, но в запущенном виде после редактирования сохранить нельзя -((



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

Создано: 24 июня 2008 18:52
· Личное сообщение · #8

Опять же просто можно изменить стоку в самом файле...



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

Создано: 24 июня 2008 18:55
· Личное сообщение · #9

Я это понимаю, но не каким редактором не могу найти где менять



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

Создано: 24 июня 2008 20:59
· Личное сообщение · #10

Dima555 пишет:
Я это понимаю, но не каким редактором не могу найти где менять

то есть? для просмотра можно и Wdasm использовать.. он хорошо строки показывает... а так, если строки не динамически формируются то WinHex в руки и вперед на амбразуру ))



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

Создано: 24 июня 2008 21:01
· Личное сообщение · #11

Dima555
Рад бы помочь, но твой оригинальный файл (который из первого поста) не запускается без UpdateChecker.dll
Выложи чтоли все необходимые файлы для запуска



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

Создано: 25 июня 2008 09:58 · Поправил: Dima555
· Личное сообщение · #12

tihiy_grom
www.bitsum.com/files/pec2setup.zip

RusEm
Я эти все программы перепробовал. Ни чего не нашел




Ранг: 126.7 (ветеран)
Активность: 0.140
Статус: Участник
#CCh

Создано: 25 июня 2008 10:32
· Личное сообщение · #13

Попробуй стоя на ЕП поставить хардварный бряк на байт памяти 0012Fxxxx чото там (по которому текст). При push \ pop срабатывать не будет, а при дин. формировании текста должен поймать..

-----
invoke OpenFire




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

Создано: 25 июня 2008 10:45 · Поправил: Dima555
· Личное сообщение · #14

Ice-T
кажется, если в программе етсь выбор языков, значит нужно язык править в другом файле...

Теперь одна проблема, программа закрывается. вот я биру... распаковываю программу и она теперь не работает как запакованная... она почему то закрывается при выборе файла

Значит язык сменил, триал остановил, осталось понять почему закрывается программа...



Ранг: 441.3 (мудрец), 297thx
Активность: 0.410.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.030
Статус: Участник

Создано: 25 июня 2008 21:29
· Личное сообщение · #16

tihiy_grom
Надпись переправил в языковом файле
Осталось проблема... после распаковки при выборе файла в программе она тупо закрывается не понимаю в чем дело..



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

Создано: 25 июня 2008 23:49
· Личное сообщение · #17

Dima555
Это уже какой-то пошаговый запрос на взлом получается
Прыг на ExitProcess происходит по адресу 4123AE - правь его с JNZ на JMP, например, и всё будет путём.
И если опять что-то не будет работать уже в другом месте - пробуй разобраться сам. Трассируй в отладчике, пытайся понять что именно делает код, следи за значениями в стеке, лови прогу бряками на нужных API. И скачай себе какой-нибудь справочник по API-функциям, чтобы хотя бы иметь представление какая функция за что отвечает (типа SetWindowTextA - изменение текста в окнах, ExitProcess - завершение программы и т.д.)

Кстати, следующая проблема у тебя будет такая после сжатия окно не становится активным.



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

Создано: 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.410.04
Статус: Участник

Создано: 26 июня 2008 13:26
· Личное сообщение · #19

crc1
Твой вариант действительно лучше, просто Dima555 пошёл с самого начала более трудным путём. Зато есть несомненно плюс - он уже умеет распаковывать PECompact



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

Создано: 26 июня 2008 14:58
· Личное сообщение · #20

tihiy_grom пишет:
он уже умеет распаковывать PECompact
Который не работает
Dima555, не ссать, дерзай дальше и усе получится...



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

Создано: 26 июня 2008 17:21
· Личное сообщение · #21

crc1 Позже займусь.


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


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