Комментарии 15
/offtop: Rouse иногда мне кажется что вы и Ms-Rem это одно и то же лицо.
0
Спасибо за статью! Под XE2 код выдает зюки в окно консоли. Фикс:
Не очень понял — зачем вообще эти танцы с _Write?
procedure _Write(const Value: AnsiString); overload;
var
s: AnsiString;
begin
Writeln(Value); exit;
{
SetLength(s, Length(Value));
AnsiToOem(@Value[1], @s[1]);
Writeln(s);
}
end;
Не очень понял — зачем вообще эти танцы с _Write?
+1
Статьи я пишу дома, а дома у меня только семерка стоит, она без этих «танцев с бубном» выдает «кракозябры» :)
Под старшими версиями дельфи (юникодными) данный этап избыточен.
Под старшими версиями дельфи (юникодными) данный этап избыточен.
+1
Прогнал под различными Windows. Везде работает :) SDT индексы, просто для информации:
Windows 7 x64: 13/10/48
Windows 7 x86: 248/335/179
Windows Server 2008 R2 x64: 13/10/48
Windows Server 2003 SE: 170/238/122
Windows XP Professional: 163/229/116
Windows 7 x64: 13/10/48
Windows 7 x86: 248/335/179
Windows Server 2008 R2 x64: 13/10/48
Windows Server 2003 SE: 170/238/122
Windows XP Professional: 163/229/116
0
Их лучше не запоминать, они меняются достаточно часто, я наблюдал смену даже после обычного обновления Windows (какой-то там KBxxx ставился — не сервиспак).
0
Да, кстати, чуть не забыл. Некоторые антивирусы занимаются перехватом вызова данных АПИ (например симантек баловался, если не ошибаюсь) и размешают вместо первого опкода перехватчик на свой обработчик. В этом случае SDT индекс считается не верно и вызов такой API будет не успешен.
Поэтому с таким подходом нужно быть осторожным.
Методика применяется примерно такая: alexander-bagel.blogspot.ru/2013/01/intercept.html
(Эту статью я попозже на хабре тоже опубликую для ознакомления).
Поэтому с таким подходом нужно быть осторожным.
Методика применяется примерно такая: alexander-bagel.blogspot.ru/2013/01/intercept.html
(Эту статью я попозже на хабре тоже опубликую для ознакомления).
+3
Извините что offtop, но интересно знать приходилось ли Вам заниматься оптимизацией виртуализованного кода?
0
Не оптимизацией, а скорее обфускацией (разбавление мусорными инструкиями, полиморфная перестановка, генерация и исполнение на лету).
Где-то ближе к концу года, если все будет хорошо, хочу об этом статью реализовать, но не знаю что с загрузкой будет, могу и не успеть.
Где-то ближе к концу года, если все будет хорошо, хочу об этом статью реализовать, но не знаю что с загрузкой будет, могу и не успеть.
+2
Но сразу хочу описать один момент, до таких монстров как ВМ ExeCryptor-а или StarForce мне очень далеко, это целое направление и им должны заниматься люди немного другой квалификации, которая у меня к сожалению отсутствует (не то образование — не математик я :)
0
Можно вообще всю ntdll промапить второй раз и дергать функции не из оригинальной, а копии. Это кстати один из способов снятия бряков с API функций
+1
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Отключение главной нити приложения от отладчика и уход от перехвата CreateFile()