Посл.ответ |
Сообщение |
Ранг: 1.0 (гость) Активность: 0.01↘0 Статус: Участник
|
Создано: 01 сентября 2004 02:32 · Личное сообщение · #1
Люди. Подскажите начинающему. Часто обновляю прогу (ехешник создан в GLBS Install Stub 32-bit -> Wise), но, только! на время запуска создается библ-ка chkdp.dll. В ней сверка кода компа с базой данных. Я нашел в ИДЕ переход, но не могу поменять флаг, т.к. dll-ка висит в памяти. Как такой мех-зм реализовать? Help, оченно надо. Платить не хотца.
| Сообщение посчитали полезным: |
|
Ранг: 0.0 (гость) Активность: 0=0 Статус: Участник
|
Создано: 01 сентября 2004 02:41 · Личное сообщение · #2
Но ведь она не из ничего создается, правда ? Вот и найди на ЖД где эта твоя Dll'ка расположена.
| Сообщение посчитали полезным: |
Ранг: 1.0 (гость) Активность: 0.01↘0 Статус: Участник
|
Создано: 01 сентября 2004 02:51 · Личное сообщение · #3
Чувак, ты наверно не понял. Dll-ку я расковырял. Она в ТЕМПе лежит. И затирается сразу после завершения (удачного или неудачного) апдейта. А ты попробуй скопируй на место запущенного приложения, например, его же самого. Что увидишь? ОТКАЗАНО В ДОСТУПЕ. ФАЙЛ УЖЕ ИСПОЛЬЗУЕТСЯ и т.п.
| Сообщение посчитали полезным: |
Ранг: 0.0 (гость) Активность: 0=0 Статус: Участник
|
Создано: 01 сентября 2004 02:55 · Личное сообщение · #4
Тогда сделай, к примеру так : OpenProcess->VirtualProtect->WriteProcessMemory
| Сообщение посчитали полезным: |
Ранг: 1.0 (гость) Активность: 0.01↘0 Статус: Участник
|
Создано: 01 сентября 2004 03:12 · Личное сообщение · #5
Где это делается?
| Сообщение посчитали полезным: |
Ранг: 0.0 (гость) Активность: 0=0 Статус: Участник
|
Создано: 01 сентября 2004 03:33 · Личное сообщение · #6
Это делается в любом языке программирования с возможность вызова Win32API функций.
PS Если не охота возиться, попробуй использовать какой-либо
лоадер, поищи к примеру, здесь reversing.kulichki.net/files/patch/patch.htm
| Сообщение посчитали полезным: |
Ранг: 203.3 (наставник) Активность: 0.22↘0 Статус: Участник UPX Killer -d
|
Создано: 01 сентября 2004 04:19 · Личное сообщение · #7
А к примеру, WinHEX или Артмани не пойдёт? В Хексе можно память редактировать.
----- Я медленно снимаю с неё UPX... *FF_User* | Сообщение посчитали полезным: |
Ранг: 0.0 (гость) Активность: 0=0 Статус: Участник
|
Создано: 01 сентября 2004 04:32 · Личное сообщение · #8
Тогда почему прямо не в SoftIce ?
| Сообщение посчитали полезным: |
Ранг: 1.0 (гость) Активность: 0.01↘0 Статус: Участник
|
Создано: 01 сентября 2004 04:44 · Личное сообщение · #9
Стоп, Стоп. В сайсе могу, но как? Поподробнее , если можно, опишите. Кстати, надо ли там лоадить DLL-ку отдельно или она сама подгружается?
| Сообщение посчитали полезным: |
Ранг: 260.3 (наставник), 2thx Активность: 0.12↘0 Статус: Участник PPC-PROTECT author
|
Создано: 01 сентября 2004 05:21 · Личное сообщение · #10
LESHIK если у тебя рядок с exe лежит эта длл, то просто можно подправить саму либу... но скорее всего эта либа у тебя создается из exe и потом подгружается... тогда сложнее
----- Пиво, сиськи, транс | Сообщение посчитали полезным: |
Ранг: 1.0 (гость) Активность: 0.01↘0 Статус: Участник
|
Создано: 01 сентября 2004 05:46 · Личное сообщение · #11
Как раз то, что сложнее. И как её тогда подправить? Или может вообще по другому пути пойти. Кто знает, как базу данных из DLL-ки выцарапать(в базе предположительно лежат пароли зарегистрированных рабочих мест или коды компов.)Вообще принцип такой: пускаем-> генерится код компа типа 1B 44 5B 2F 0D 15, где юзаются всего 6 букв из hex-системы, причем три из них заменяются на A=T, C=M, E=L. Сообщаем код в фирму, и они нам за бабки дают пароль типа 92 Т4 F5 BF 33 69. И в следующем обновлении этот код уже зашит.
Кстати, могу подкинуть само филе весом 1,2Мб
| Сообщение посчитали полезным: |
Ранг: 0.0 (гость) Активность: 0.25↘0 Статус: Участник
|
Создано: 01 сентября 2004 06:17 · Личное сообщение · #12
Сделай тогда так:
1) найди место загрузки этой длл(LoadLibrary)
2) сделай свою процедурку в проге, которая перехватит управление после загрузки длл в память и пропатчит нужный тебе переход.
3) место для своей процедурки поищи в конце файла где нули.
| Сообщение посчитали полезным: |
Ранг: 0.0 (гость) Активность: 0=0 Статус: Участник
|
Создано: 01 сентября 2004 06:39 · Личное сообщение · #13
LESHIK пишет:
Стоп, Стоп. В сайсе могу, но как? Поподробнее , если можно, опишите. Кстати, надо ли там лоадить DLL-ку отдельно или она сама подгружается
Примерно так:
1) Запускаеш прогу
2) Ctrl+D -> data -> addr имя_проги -> mod имя_длл
3) d Base
4) В окне данных у тебя начало твоей либы - ищи свой jmp и правь
| Сообщение посчитали полезным: |
Ранг: 0.0 (гость) Активность: 0.25↘0 Статус: Участник
|
Создано: 01 сентября 2004 08:26 · Личное сообщение · #14
LESHIK пишет:
Как раз то, что сложнее. И как её тогда подправить?
Исследование защиты утилиты Puffer v4.01 - похожий случай
| Сообщение посчитали полезным: |
Ранг: 0.0 (гость) Активность: 0.25↘0 Статус: Участник
|
Создано: 01 сентября 2004 10:01 · Личное сообщение · #15
LESHIK
если при очередном обновлении в DLL записаны все зарегистрированные юзеры-коды, то объем DLL должен расти весьма заметно.. (твоя версия) (весьма сомнительно)
если размер DLL статичен +/- мелочь, то "правь" саму DLL...
| Сообщение посчитали полезным: |
Ранг: 1.0 (гость) Активность: 0.01↘0 Статус: Участник
|
Создано: 02 сентября 2004 06:28 · Личное сообщение · #16
Спасибо, всё попробую. А для ARPL уточню, что addr вообще не показывает ID этой dll-ки. Как же ето так? Она ведь уже подгружена!
Звиняйте братцы. Времени мало, поэтому переключаюсь на задачи с большими перерывами. Сегодня уже 02.09.
| Сообщение посчитали полезным: |
Ранг: 0.0 (гость) Активность: 0=0 Статус: Участник
|
Создано: 02 сентября 2004 08:29 · Поправил: arpl · Личное сообщение · #17
LESHIK пишет:
А для ARPL уточню, что addr вообще не показывает ID этой dll-ки. Как же ето так? Она ведь уже подгружена!
addr и не должен этого делать, он переключит тебя в контекст исследуемой программки. Для просмотра информации о модулях надо _после_ сделать mod имя_длл
| Сообщение посчитали полезным: |
Ранг: 1.0 (гость) Активность: 0.01↘0 Статус: Участник
|
Создано: 03 сентября 2004 00:03 · Личное сообщение · #18
Привет всем. У меня новый прикол Во-первых, в W32DASM ничего подобного (chkdp.dll) не импортируется и вообще строка не найдена. Во-вторых, поставил прогу под ХР (была под 98), запускаю обновление, тупо гляжу в темп, а там пусто, жму F3 -> файл не найден. Куда библиОтека подевалась?
| Сообщение посчитали полезным: |
Ранг: 136.3 (ветеран) Активность: 0.05↘0 Статус: Участник
|
Создано: 03 сентября 2004 00:20 · Личное сообщение · #19
LESHIK
В другом TEMP-е она %). В ХР несколько папок с именем temp, и одна в c:\Documents&Settings\user\local settings\temp
| Сообщение посчитали полезным: |
Ранг: 1.0 (гость) Активность: 0.01↘0 Статус: Участник
|
Создано: 03 сентября 2004 01:40 · Личное сообщение · #20
Интересно, ведь поиск её не обнаружил. А мне было лень заглянуть. А она там вправду есть. Спасибо. Пошел работать.
| Сообщение посчитали полезным: |
Ранг: 1.0 (гость) Активность: 0.01↘0 Статус: Участник
|
Создано: 03 сентября 2004 03:10 · Личное сообщение · #21
Слухайте. Может объяснит кто, чё за фича такая. Я свое приложение посмотрел в PEIDe, ну и там кроме всякой хни типа Delphi 4-5 есть ещё plugin KRYPTOAnalizer, к-й показал MD5::003c2f4c::07c3b4c Above is a reference. Открываю ИДУ, смотрю опкод, там mov eax, 0A8304613h. И где же здесь хэш?
| Сообщение посчитали полезным: |
Ранг: 1.0 (гость) Активность: 0.01↘0 Статус: Участник
|
Создано: 03 сентября 2004 05:24 · Личное сообщение · #22
Еще для ARPL: пишу d Base, а лёд мне отвечает Symbol not defined (Base). Уточни, пож-та, что ещё сделать?
| Сообщение посчитали полезным: |
Ранг: 1.0 (гость) Активность: 0.01↘0 Статус: Участник
|
Создано: 03 сентября 2004 05:32 · Личное сообщение · #23
Еще для ARPL: пишу d Base, а лёд мне отвечает Symbol not defined (Base). Уточни, пож-та, что ещё сделать?
| Сообщение посчитали полезным: |
Ранг: 0.0 (гость) Активность: 0=0 Статус: Участник
|
Создано: 03 сентября 2004 13:44 · Поправил: arpl · Личное сообщение · #24
LESHIK пишет:
пишу d Base, а лёд мне отвечает Symbol not defined (Base).
Все верно пишет. Надо было вместо Base написать то
, что тебе вывелось по mod имя_длл в столбце Base.
А вообще почитай хелп который идет с SoftIce, узнаеш много интересного
| Сообщение посчитали полезным: |
Ранг: 1.0 (гость) Активность: 0.01↘0 Статус: Участник
|
Создано: 06 сентября 2004 05:12 · Личное сообщение · #25
А у меня вот как написано: hMod 18F7 Base 00d80000 PEHeader 815b2654. Если пишу d 00d80000, то вижу только одни ?????. И где же здесь начало либы?
| Сообщение посчитали полезным: |