Сейчас на форуме: hgdagon (+5 невидимых)

 eXeL@B —› Программирование —› Как компилить без "IsDebuggerPresent" на Visual Studio 2005?
Посл.ответ Сообщение

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

Создано: 03 августа 2007 10:43
· Личное сообщение · #1

Осваиваю vs2005, на WinXP все ОК. Но вот хочу запустить прогу на Win95, пишет не найден компонент kernel32.dll:IsDebuggerPresent. Вроде как мелкомягкие в обязательном порядке вставляют проверку на дебагер в скомпиленых на vs2005 прогах, она и делает такой вызов. Обшарил инет, вот тока в одном месте нашел что такая трабла есть panteist.livejournal.com/5004.html. Чел пишет, думал аж 20 мин
но обошел этот прикол. Но не пишет как а я чет не догоняю. Мож и правда элементарно? Памагите чайнику плз!




Ранг: 238.8 (наставник), 67thx
Активность: 0.20
Статус: Участник
CyberHunter

Создано: 03 августа 2007 10:53 · Поправил: Flint
· Личное сообщение · #2

Как вариант, попробуй kernel32.dll из XP скопируй в папку с прогой

-----
Nulla aetas ad discendum sera




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

Создано: 03 августа 2007 10:55
· Личное сообщение · #3

peb поюзай

-----
Shalom ebanats!




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

Создано: 03 августа 2007 10:58 · Поправил: pushick
· Личное сообщение · #4

>>Как вариант, попробуй kernel32.dll из XP скопируй в папку с прогой

которая связана с ntdll.dll, который однозначно отсутствует на win95

>>peb поюзай

топик стартер хочет убрать вызов функции, а не использовать её реализацию

stazher

Прокси длл?

-----
Security through obscurity is just an illusion




Ранг: 61.4 (постоянный), 1thx
Активность: 0.020
Статус: Участник

Создано: 03 августа 2007 10:58
· Личное сообщение · #5

модифицируй crt



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

Создано: 03 августа 2007 11:19
· Личное сообщение · #6

удали ее из импорта просто. а call IsDebuggerPresent найди и пропатчи как тебе надо. хоть на mov eax, 1



Ранг: 50.3 (постоянный), 2thx
Активность: 0.020
Статус: Участник

Создано: 03 августа 2007 11:35 · Поправил: slip
· Личное сообщение · #7

Помоему патчить прийдется не только IsDebuggerPresent, там много функций....
Как вариант, если все написано на винапи и можно совсем отказатся от CRT , то можно задать WinMain прагмой:
#pragma comment (linker, "/ENTRY:WinMain")



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

Создано: 03 августа 2007 12:02 · Поправил: stazher
· Личное сообщение · #8

Пасиб большое всем за советы эти и будущие, буду разбиратся и прбовать. Счас как раз на Win95 онлайн, вот доберусь до WinXP.......

n0name slip
Да, винапи и без CRT

Кста, те же проги скомпиленные на vs2003 без проблем юзаются на Win95



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

Создано: 03 августа 2007 12:28
· Личное сообщение · #9

Если я не ошибаюсь то прот в настройках проекта вырубается, и становится обыкновенное win32 приложение.



Ранг: 203.3 (наставник)
Активность: 0.220
Статус: Участник
UPX Killer -d

Создано: 03 августа 2007 12:30 · Поправил: AlexZ
· Личное сообщение · #10

Можно же найти какую-нибудь функцию типа long bool FunctionXXX(void) и прописать её в импорт вместо isdebugerpresent.

-----
Я медленно снимаю с неё UPX... *FF_User*




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

Создано: 03 августа 2007 12:35
· Личное сообщение · #11

GetCurrentProcess например

-----
Security through obscurity is just an illusion





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

Создано: 03 августа 2007 13:02
· Личное сообщение · #12

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



Ранг: 203.3 (наставник)
Активность: 0.220
Статус: Участник
UPX Killer -d

Создано: 03 августа 2007 13:29
· Личное сообщение · #13

multiarc пишет:
А посмотреть например System.h и попробовать его отредактировать, поискать в других заголовках и там отредактировать, а чтобы её вообще юзать, то можно например отдельный .h файл написать...

Неблагодарное это дело - исходники исходного редактировать.

-----
Я медленно снимаю с неё UPX... *FF_User*



 eXeL@B —› Программирование —› Как компилить без "IsDebuggerPresent" на Visual Studio 2005?
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


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