First Guard - не хукает клиент ...

Уважаемый kilroy помог и разъяснил , причина была в моей тупости т.к в моём патче присутствовал совершенно левый engine.dll в следствии чего FT и не мог зацепиться т.к смещение не совпадало.
Так же спасибо всем участникам данной дискуссии , кто помогал мне решить данный вопрос.
 

Если килрою не сложно, пусть мне кинет в личку скриншот с иды/ольки, каким образом находится точка входа в программу. Буду очень благодарен, очень интересно прост ))0)
 
Если килрою не сложно, пусть мне кинет в личку скриншот с иды/ольки, каким образом находится точка входа в программу. Буду очень благодарен, очень интересно прост ))0)

Вижу вы очень хороший знаток Си.
Точку входа в программу можно увидеть сразу при открытии программы в дебаггере (например в IDA или же OllyDbg).
Если же вы про OEP в engine.dll, то для этого нужно снимать с нее протектор Themida, которым она покрыта.
Ах да, то смещение, которое в функции выше - это не смешение на OEP. Дальше думайте сами.

Зачем? Мы кастим hEngine, чтобы без ошибок сложить с 0x147D96. 0x147d96 то уже unsigned int

Кастим, что б без ошибок сложить ? о_О
Что будет, если добавить к указателю на int число ?
 
Последнее редактирование:
Вижу вы очень хороший знаток Си.
Точку входа в программу можно увидеть сразу при открытии программы в дебаггере (например в IDA или же OllyDbg).
Если же вы про OEP в engine.dll, то для этого нужно снимать с нее протектор Themida, которым она покрыта.
Ах да, то смещение, которые в функции выше - это не смешение на OEP. Дальше думайте сами.



Кастим, что б без ошибок сложить ? о_О
Что будет, если добавить к указателю на int число ?
Я дебаггерами не баловался.
Кастим чтобы без ошибок сложить, ну да. hEngine - тип данных HMODULE, 0x147D96 - тип данных unsigned int. Хотя мб HMODULE где-то определен как int или указатель на него, я не знаю.
Оффтоп:
А ты вообще с чего остришь то? У меня по программе сейчас осмотр основных концепций ООП в C++. :Maikka:
 
Зачем? Мы кастим hEngine, чтобы без ошибок сложить с 0x147D96. 0x147d96 то уже unsigned int
Я дебаггерами не баловался.
Кастим чтобы без ошибок сложить, ну да. hEngine - тип данных HMODULE, 0x147D96 - тип данных unsigned int. Хотя мб HMODULE где-то определен как int или указатель на него, я не знаю.
Оффтоп:
А ты вообще с чего остришь то? У меня по программе сейчас осмотр основных концепций ООП в C++. :Maikka:

По поводу HMODULE - он переопределен (это указатель на void):
typedef void *HMODULE;

Кастим чтобы без ошибок сложить, ну да. hEngine - тип данных HMODULE, 0x147D96 - тип данных unsigned int. Хотя мб HMODULE где-то определен как int или указатель на него, я не знаю.
Из моего примера выше, если к указателю на int добавить число (к примеру 1) - указатель будет указывать на следующий int (на следующие 4 байта).

Оффтоп:

Sorry, просто вы через чур придрались в предыдущем сообщении :)
К сожалению я сам не программист и на С++ практически ничего толкового не писал (по немногу изучаю, редко), поэтому я тоже могу ошибаться.

P.S. Про утечку памяти было бы интересно послушать, особенно на наглядном примере с тем случаем (если она есть конечно, потому-как я не совсем уверен :)
 
Последнее редактирование:
По поводу HMODULE - он переопределен (это указатель на void):
typedef void *HMODULE;


Из моего примера выше, если к указателю на int добавить число (к примеру 1) - указатель будет указывать на следующий int (на следующие 4 байта).

Оффтоп:

Sorry, просто вы через чур придрались в предыдущем сообщении :)
К сожалению я сам не программист и на С++ практически ничего толкового не писал (по немногу изучаю, редко), поэтому я тоже могу ошибаться.

P.S. Про утечку памяти было бы интересно послушать, особенно на наглядном примере с тем случаем (если она есть конечно, потому-как я не совсем уверен :)
Ну void* нужно кастить к нужному типу, коль не ошибаюсь. По поводу +1 к указателю - ты прав (хвала богам, тут не так, как в паскале, где нужно прибавлять именно количество байтов :D). Ну я не придрался, а предположил. Мне самому интересно, нужно ли кастить его или это просто кодер с прибабахами :D А вот утечки я в том участке кода я не увидел. Ты *(unsigned int*) имеешь в виду?
 
Как бы на ру был 263, но он там простоял немного но изменений там мало
 
Могу помочь найти оффсеты, а вообще прежде чем ставить подобную защиту надо немного разобраться как она работает или не ставить вообще.
 
Могу помочь найти оффсеты, а вообще прежде чем ставить подобную защиту надо немного разобраться как она работает или не ставить вообще.
А ничего, что последний ответ в 2015 был?
 
Назад
Сверху Снизу