Сейчас на форуме: YDS, _MBK_, user99, ManHunter (+4 невидимых)

 eXeL@B —› Основной форум —› Хитрож.пая OEP в Арме 3.х-4.х
Посл.ответ Сообщение


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

Создано: 01 декабря 2005 12:33
· Личное сообщение · #1

Hi, people!

DVD Data Rescue 2.1 build 1458
h**p://www.naltech.com/download/dvddr.exe (2 мегаса) - Arma 3.7-4.х

Проблема:
отделяю сынка от папы, вывожу сынка из loop, ставлю бряку на CreateThread - всё как обычно (до этого места)... НО nag после первого бряка на CreateThread не выскакивает - появляется после второго... А после подтверждения триала вообще не брякается и прога запускается :-/

FYI:
После "прохода" по ret из двух бряков на CreateThread никаких CALL EDI нету - есть только CALL ECX

Гляньте, где лажа запрятана...

ЗЫ. Скрипт для отделения папы/сынка (для новых Арм, к-ые палят bp) - в аттаче.


e940_ArmDetach.osc.zip




Ранг: 500.6 (!), 7thx
Активность: 0.260
Статус: Участник

Создано: 01 декабря 2005 13:07
· Личное сообщение · #2

estet пишет:
есть только CALL ECX


Так вот и ставь бряк на CALL ECX, тот который перед ret.




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

Создано: 01 декабря 2005 15:06
· Личное сообщение · #3

NIKOLA

CALL ECX там не простой - я ловил не первый, а ВТОРОЙ...

0D070355 /75 1E JNZ SHORT 0D070375
0D070357 |8B90 88000000 MOV EDX,DWORD PTR DS:[EAX+88]
0D07035D |FF76 18 PUSH DWORD PTR DS:[ESI+18]
0D070360 |3390 84000000 XOR EDX,DWORD PTR DS:[EAX+84]
0D070366 |FF76 14 PUSH DWORD PTR DS:[ESI+14]
0D070369 |3350 40 XOR EDX,DWORD PTR DS:[EAX+40]
0D07036C |FF76 10 PUSH DWORD PTR DS:[ESI+10]
0D07036F |2BCA SUB ECX,EDX
0D070371 |FFD1 CALL ECX ; dvddr.0046698B
0D070373 |EB 23 JMP SHORT 0D070398
0D070375 \83FA 01 CMP EDX,1
0D070378 75 21 JNZ SHORT 0D07039B
0D07037A FF76 04 PUSH DWORD PTR DS:[ESI+4]
0D07037D 8B90 88000000 MOV EDX,DWORD PTR DS:[EAX+88]
0D070383 3390 84000000 XOR EDX,DWORD PTR DS:[EAX+84]
0D070389 FF76 08 PUSH DWORD PTR DS:[ESI+8]
0D07038C 3350 40 XOR EDX,DWORD PTR DS:[EAX+40]
0D07038F 6A 00 PUSH 0
0D070391 FF76 0C PUSH DWORD PTR DS:[ESI+C] ; dvddr.00400000
0D070394 2BCA SUB ECX,EDX
0D070396 FFD1 CALL ECX ; dvddr.0046698B

Выходим сюда после первого бряка на CreateThread (Z0oMiK, привет, дамп на этом месте я делал уже)

0046698B 55 PUSH EBP
0046698C 8BEC MOV EBP,ESP
0046698E 6A FF PUSH -1
00466990 68 38EE4E00 PUSH dvddr.004EEE38
00466995 68 984B4600 PUSH dvddr.00464B98
0046699A 64:A1 00000000 MOV EAX,DWORD PTR FS:[0]
004669A0 50 PUSH EAX ; dvddr.0070560C
004669A1 64:8925 0000000>MOV DWORD PTR FS:[0],ESP
004669A8 83EC 58 SUB ESP,58
004669AB 53 PUSH EBX ; dvddr.006E26B3
004669AC 56 PUSH ESI ; dvddr.0070D098
004669AD 57 PUSH EDI ; dvddr.00401000
004669AE 8965 E8 MOV DWORD PTR SS:[EBP-18],ESP
004669B1 FF15 34434E00 CALL DWORD PTR DS:[4E4334]

DS:[004E4334]=0D05AD38

А вот здесь...
0D05AD38 - это ж "левая" секция... Дамп вылетает именно на этом адресе...

Я, похоже, немного чего-то затупил :-] - но сегодня на работе у коллеги дочка родилась...



Ранг: 500.5 (!), 8thx
Активность: 0.230
Статус: Участник

Создано: 01 декабря 2005 15:10
· Личное сообщение · #4

На стратегик кодесплицинг похоже =)

-----
"Пусть видят, что мы не шутим. Стволы для понта, ножи для дела" Lock, Stock & Two Smoking Barrels





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

Создано: 01 декабря 2005 18:02
· Личное сообщение · #5

По моему это есть антидамп. Если не хочется такие перлы выгребать сотнями, то эту секцию
нужно тоже сдампить и прикрутить к твоему файлу.




Ранг: 500.6 (!), 7thx
Активность: 0.260
Статус: Участник

Создано: 01 декабря 2005 19:45
· Личное сообщение · #6

TOG пишет:
то эту секцию нужно тоже сдампить


Нинадо её дампить, нужно перенаправить вызовы в эксешник.




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

Создано: 01 декабря 2005 20:51
· Личное сообщение · #7

Это на любителя. Этих редиректов будут сотни.




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

Создано: 01 декабря 2005 21:10
· Личное сообщение · #8

TOG
Достаточно одного при аллоке памяти.




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

Создано: 01 декабря 2005 22:49
· Личное сообщение · #9

Smon пишет:
На стратегик кодесплицинг похоже =)

данунафиг =) на кодесплитинг это совсем не похоже, это похоже на кривовосстановленный (или не восстановленный) импорт.



Ранг: 500.5 (!), 8thx
Активность: 0.230
Статус: Участник

Создано: 01 декабря 2005 23:02
· Личное сообщение · #10

Mario555
Я не смотрел саму прогу, просто помнится кодесплитинг пишется по большим адресам типа 0Dxxxxxx, какой там может быть импорт ? Если только iat elimination был бы, и то адреса вроде поменьше обычно у него =)

-----
"Пусть видят, что мы не шутим. Стволы для понта, ножи для дела" Lock, Stock & Two Smoking Barrels





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

Создано: 01 декабря 2005 23:06
· Личное сообщение · #11

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

Smon пишет:
просто помнится кодесплитинг пишется по большим адресам типа 0Dxxxxxx, какой там может быть импорт ?

выделяемые адреса вообще специфичны для каждой системы, а по поводу импорта - переходники ессно ;)




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

Создано: 01 декабря 2005 23:08
· Личное сообщение · #12

javascript:di('NIKOLA','');

NIKOLA пишет:
Нинадо её дампить, нужно перенаправить вызовы в эксешник.


Что значит перенаправить ?
У нас там часть кода в этой секции осталась.



Ранг: 500.5 (!), 8thx
Активность: 0.230
Статус: Участник

Создано: 01 декабря 2005 23:15
· Личное сообщение · #13

Хотя да, если импорт неправильно восстановлен, в иат остались указатели на выделенную память, которой в дампе естесно нет =)

-----
"Пусть видят, что мы не шутим. Стволы для понта, ножи для дела" Lock, Stock & Two Smoking Barrels





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

Создано: 01 декабря 2005 23:23
· Личное сообщение · #14

TOG пишет:
Что значит перенаправить ?
У нас там часть кода в этой секции осталась.

эх... ну уже же обсуждалось раз 50 =) что перенаправлять надо при выделении памяти (на VirtualAlloc'е).




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

Создано: 02 декабря 2005 00:10
· Личное сообщение · #15

Народ! =)

С восстановлением я разберусь попозже чутка... Никто собсно не сказал по сабжу: ПОЧЕМУ бряк на CreateThread не работает "как положено"?




Ранг: 500.6 (!), 7thx
Активность: 0.260
Статус: Участник

Создано: 02 декабря 2005 01:54
· Личное сообщение · #16

estet

Сейчас качну, погляжу.




Ранг: 500.6 (!), 7thx
Активность: 0.260
Статус: Участник

Создано: 02 декабря 2005 02:47
· Личное сообщение · #17

Ёпт, всё стандартно, ни копи мем, ни наномитов, короче,
кроме таблицы там нечего востанавливать.

estet пишет:
ПОЧЕМУ бряк на CreateThread не работает "как положено"?


Ты ставь бряк не на начало функции, а на конец (ret).
У меня всё сработало.




Ранг: 500.6 (!), 7thx
Активность: 0.260
Статус: Участник

Создано: 02 декабря 2005 02:49
· Личное сообщение · #18

estet пишет:
Выходим сюда после первого бряка на CreateThread (Z0oMiK, привет, дамп на этом месте я делал уже)

0046698B 55 PUSH EBP
0046698C 8BEC MOV EBP,ESP
0046698E 6A FF PUSH -1
00466990 68 38EE4E00 PUSH dvddr.004EEE38
00466995 68 984B4600 PUSH dvddr.00464B98
0046699A 64:A1 00000000 MOV EAX,DWORD PTR FS:[0]
004669A0 50 PUSH EAX ; dvddr.0070560C
004669A1 64:8925 0000000>MOV DWORD PTR FS:[0],ESP
004669A8 83EC 58 SUB ESP,58
004669AB 53 PUSH EBX ; dvddr.006E26B3
004669AC 56 PUSH ESI ; dvddr.0070D098
004669AD 57 PUSH EDI ; dvddr.00401000
004669AE 8965 E8 MOV DWORD PTR SS:[EBP-18],ESP
004669B1 FF15 34434E00 CALL DWORD PTR DS:[4E4334]


Кстати, это и есть ОЕП.




Ранг: 299.6 (наставник)
Активность: 0.30
Статус: Участник
Armadillo Killer

Создано: 02 декабря 2005 02:55
· Личное сообщение · #19

NIKOLA Ну все как я ему в лс и написал .... OEP такой же .... тока еще вот что у тебя где Magic Jump ?
Там еще гипер проверка CRC Если EXE Имеет название не dvddr.exe то при запуске он пишет Please
reinstall.... ваще ЛОЛ




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

Создано: 02 декабря 2005 09:45 · Поправил: estet
· Личное сообщение · #20

Z0oMiK

У меня чёт ещё круче байда...
Дома восстановил импорт - всё вроде гут - запускаю пофиксенный дамп - "Please
reinstall"... Переименовываю дамп в dvddr.exe, запускаю - опять NAG про триал... Гружу в Ольку: стартует с нормальной ОЕР, импорт в нужном месте... Хрень какая-то...

Я ж помню после снятия Армы обычно и NAG с триалом убираются...

У меня MagicJump здесь:

0D06CACD 75 42 JNZ SHORT 0D06CB11




Ранг: 500.6 (!), 7thx
Активность: 0.260
Статус: Участник

Создано: 02 декабря 2005 10:01
· Личное сообщение · #21

estet пишет:
после снятия Армы обычно и NAG с триалом убираются


Это когда в регистрация проги заюзаны апи армы.




Ранг: 299.6 (наставник)
Активность: 0.30
Статус: Участник
Armadillo Killer

Создано: 02 декабря 2005 22:39
· Личное сообщение · #22

estet Переименуй снятый дамп в dvddr.exe ... я вышк писал уже об этом




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

Создано: 03 декабря 2005 01:12
· Личное сообщение · #23

Z0oMiK
Я ж писал ;-]
estet пишет:
Переименовываю дамп в dvddr.exe


А по триалу...

идёт обращение к реестру... через RegQueryValue:
HKEY_CURRENT_USER\Software\nd\dvddr\userdata
"id"="nid" (наверно, NO_id или NULL_id подразумевается...)
"k1"="223"
"k2"="443"
"ddu"=dword:00000001

а потом обращение к gcddr.dat (лежит в папке с прогой) - процедуру обработки ещё не разобрал.

NIKOLA пишет:
Ты ставь бряк не на начало функции, а на конец (ret).

Я имел ввиду, что по классике: первый бряк на CreateThread, потом NAG, потом второй бряк на CreateThread и потом выход на ОЕР. А здесь - выход на ОЕР получается после первого бряка, а NAG - после второго (at least, у меня так было...)




Ранг: 500.6 (!), 7thx
Активность: 0.260
Статус: Участник

Создано: 03 декабря 2005 08:44
· Личное сообщение · #24

estet пишет:
первый бряк на CreateThread


Он сработал из протектора.

estet пишет:
второй бряк на CreateThread


А это уже из самой проги.




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

Создано: 03 декабря 2005 16:11 · Поправил: estet
· Личное сообщение · #25

Ох, ёп...

Кажися, я въехал =)

NIKOLA
Получается, NAG-ом управляет не Арма, а сама прога, так? Первый раз вижу Арму без NAG-a ;-]

Чёт совсем замордовался с работой - "притупливать" стал... 8=)

Ну, в принципе, я ответ получил - если народ конкретно DVD_Data_Rescue пообсуждать не хочет, то можно топик закрывать.

Tnx to all




Ранг: 500.6 (!), 7thx
Активность: 0.260
Статус: Участник

Создано: 03 декабря 2005 19:31
· Личное сообщение · #26

estet пишет:
NAG-ом управляет не Арма, а сама прога, так?


Так точно.




Ранг: 500.6 (!), 7thx
Активность: 0.260
Статус: Участник

Создано: 04 декабря 2005 11:45
· Личное сообщение · #27

estet

А прожка то, патчится одним байтом .


 eXeL@B —› Основной форум —› Хитрож.пая OEP в Арме 3.х-4.х
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


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