Перейти к содержанию

Как работать в заинжекченой dll


Рекомендуемые сообщения

Не, если установить статически:

char viewString[128] = "Test1";

или

char *viewString = "Test1";

 

То отображает все нормально... И с памятью тоже все ок...

 

А как только я вызываю(один раз всего лишь) SetOptions(). Сразу начинается отжер памяти...

Ссылка на комментарий
Поделиться на другие сайты

/*---------------------------------------------------------------------------*/

 

А можешь показать код, где ты вызываешь SetOptions()?

 

/*---------------------------------------------------------------------------*/

Ссылка на комментарий
Поделиться на другие сайты

Причину отжора памяти нашел.

Я так сконцентрировался на c++ dll'ке и искал там косяк так, что забыл про c# и что я там каким то образом передавал false аргумент а в SetOptions() приходило true, ну а в хуке была проверка на этот аргумент и если == true тогда создать новый шрифт, короче просто жесть...


Нус во общем вышло вот так вот:

 

Довольно такие неплохо как для нуба :)

 

Но еще такая штука, все нормально работает когда я сначала запускаю игру, инжектю в нее мою dll'ку, и потом запускаю свое c#-приложение. А свот если я сначала запускаю свое приложение, а потом игру и инжектю в нее, то текста нету во обще...

Я так понимаю хук срабатывает только раз на тот процесс который первый загрузит dll'ку, вот именно тогда, когда я запускаю свое c#-приложение, и если потом инжектить в игру то он второй раз не работает уже... Во общем как бы этот момент зафиксить еще?


...

А нет, посмотрел как был реализован код, который был у меня за основу, изменил как там, и теперь работает не важно в каком порядке запускать, плюс еще один баг зафиксился сразу, ну короче можете меня поздравить, работает и управляется хук просто блестяще теперь :)

 

Всем огромное спасибо за помощь. А как поставить репутацию так и не понял...

  • Плюс 1
Ссылка на комментарий
Поделиться на другие сайты

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.