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

 eXeL@B —› Вопросы новичков —› игра DarkSwords. крэк на запуск 2х окон.
Посл.ответ Сообщение

Ранг: 0.2 (гость)
Активность: 0=0
Статус: Участник

Создано: 12 апреля 2008 21:40 · Поправил: Rv3n
· Личное сообщение · #1

Итак, сайт игры www.darkswords.ru http://www.darkswords.ru
прямая ссылка на клиент [url=http://forum.darkswords.ru/files/setup_ds_1.1.4.6.exe
]http://forum.darkswords.ru/files/setup_ds_1.1.4.6.exe
[/url]
собсвенно в чем проблема:
еще до попытки коннекта к серверу(при запуске 2й копии проги) пишет - приблизительно "2 окна фтопку."
Собственно пробовал использовать hexWorkshop, хотел сделать, чтобы клиент не палил 2ю копию. НО в силу малых знаний в этой области ничего дельного сделать не смог.
Думаю, там должна быть какаято примитивная проверка на запущенность процесса(какято похожая ф-я есть в VB, но не помю ничего из-за малой практики).
Вот и весь сабж. Прошу помочь(намекнуть, ткнуть носом, или(вообще шоколад будет) дать готовое решение)
Компилятор - Borland Delphi 6.0 - 7.0



Ранг: 107.5 (ветеран)
Активность: 0.150
Статус: Участник

Создано: 12 апреля 2008 22:13
· Личное сообщение · #2

Погугли на тему "получить список процессов на delphi"
скорее (если проверяется имя процесса) там замешана TlHelp32.pas
и кажеться CreateToolhelp32Snapshot из этой юниты
Примерчик такой функи (возможно поможет разобраться на что брякнутся)
www.delphisources.ru/pages/faq/base/get_run_processes.html

-----
Md5 fcbb6c9c9a5029b24d70f2d67c7cca74




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

Создано: 12 апреля 2008 22:24 · Поправил: tihiy_grom
· Личное сообщение · #3

В самом начале прога открывает свой файл функцией CreateFileMapping, так что следующий вызов этой функции из второй копии приводит к ошибке ERROR_ALREADY_EXISTS - по этой проверке и выводится окно с ошибкой и программа завершает работу.

Открой файл в IDA и ты всё увидишь. Кроме этого там ещё две проверки есть (основанные уже не на CreateFileMapping) - но их легко найти в IDA по строке "Don't open second application"



Ранг: 0.2 (гость)
Активность: 0=0
Статус: Участник

Создано: 12 апреля 2008 22:34
· Личное сообщение · #4

пасипа. можно пояснить по-поводу "IDA"?? что такое, как юзать.
Ногами не пинайте - нуп полный.




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

Создано: 12 апреля 2008 22:41
· Личное сообщение · #5

Дизассемблер это, есть в разделе скачать, учитесь пользоваться гуглом прежде, чем задавать вопрос.



Ранг: 221.3 (наставник), 135thx
Активность: 0.190.07
Статус: Участник

Создано: 12 апреля 2008 23:04 · Поправил: v0id2k
· Личное сообщение · #6

Проверка может так же осуществляцо через создание мутекса.
Rv3n, попробуй покопать в сторону CreateMutex/OpenMutex.
Если проверка производицо через мутекс, то после OpenMutex будет джамп на неновистный мессаджбокс.

-----
xchg dword [eax], eax




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

Создано: 23 апреля 2008 11:13
· Личное сообщение · #7

Rv3n А я пока твою проблему не понял. Есть инсталлятор и... Когда 2 копия запускается?
Я например помню, что какой-то протектор при неправильном патче запускает свою копию.
И следующий раз не задавай вопрос из середины. Мы то не знаем, чего ты там делал после
скачки инсталлятора. Может у тебя просто первая копия висит в системе и не может связаться с сервером, а ты вторую запускаешь и это никакая не защита, а нормальная реакция.


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


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