IPB

Добро пожаловать, гость ( Вход | Регистрация )

История благодарностей участнику Grom PE ::: Спасибо сказали: 95 раз(а)
Дата поста: В теме: За сообщение: Спасибо сказали:
Apr 6 2018, 14:21 Delphi, Asm, C, WinAPI, PHP, ...
QUOTE(-=CHE@TER=- @ Apr 6 2018, 19:34) [snapback]4336[/snapback]
Я понимаю что, возможно, ты кроссплатформенностью не особо заморачиваешься, но мне в принципе было интересно обсудить возможное универсальное решение.
Кроссплатформенность — это хорошо и правильно. Но в случае с GCC, как и с другими особенно юниксово-идеологическими вещами, под кроссплатформенностью почему-то понимается не подстроиться под новую исполняемую среду, а притащить пол-юникса за собой, частью чего вот такая внезапная подстановка "*" и является. И такой подход вызывает отвращение.
-=CHE@TER=-,
Mar 29 2018, 16:38 Delphi, Asm, C, WinAPI, PHP, ...
Проблемы с файлами, начинающимися с "-" в винде как таковой нет, потому что маски файлов подставляются программой, а не исполняющей средой, и нет опасности, что при вызове команды "myprog *" встанет файл, превратившийся в ключ "уничтожить всё".

Лично я предпочитаю, чтоб ключи начинались с "-". Если очень надо файл "-something.txt", можно его указать программе как "?something.txt*. Проблема тут может быть в том, что в программах, обрабатывающих только один файл, авторы часто забывают сделать раскрытие масок.

А в линуксах для одиночного файла принято использовать stdin/stdout, что тоже обходит проблему с минусовым файлом.

(добавлено:)
А, можно же ещё относительно текущей директории указывать: ".\-something.txt"
-=CHE@TER=-,
Sep 19 2017, 18:37 Прогресс и программы
QUOTE(-=CHE@TER=- @ Sep 19 2017, 16:53) [snapback]4262[/snapback]
MKVToolNix GUI v10.0.0 ('To Drown In You')
Latest version of MKVToolNix with Windows XP support.
Последнюю версию они компилируют с Qt 5.9, а Qt после 5.6 поломал поддержку Windows XP. Сейчас весь Qt-шный софт сползает.

В исходниках проекта пишут, что можно скомпилировать с Qt 5.3.
-=CHE@TER=-, Corak,
Jun 2 2016, 10:39 FireFox: addons, extensions, tweaks, etc.
Не знаю насчёт просто AdBlock, но Adblock Plus давно имеет некий белый список конкретных спонсоров.

По-моему пора все эти адблоки выкинуть и пользоваться uBlock Origin.
-=CHE@TER=-, Siberian GRemlin,
May 1 2016, 22:42 Strippers
QUOTE(-=CHE@TER=- @ May 2 2016, 03:51) [snapback]4065[/snapback]
Единственная проблема, которую обнаружил с "advzip.exe" - даты без учёта часового пояса почему-то сохраняются.

Действительно. Предлагаю три варианта:
1. Создавать архив без сжатия, а этой утилитой пережимать;
2. Поменять в исходниках в zip.cc time2zip() вызов gmtime на localtime и скомпилировать;
3. Пропатчить вызов gmtime на localtime в бинарнике (он там третий по счёту, 0xB701: 7B → 2B).
-=CHE@TER=-,
Apr 30 2016, 16:21 Strippers
-=CHE@TER=-, если ты хочешь ещё большего уровня сжатия, чем kzip, лучше не перебирать случайные таблицы в нём, а воспользоваться алгоритмом zopfli, который сейчас лучше всех жмёт DEFLATE. Для zip утилита с этим алгоритмом называется AdvanceComp/advzip.
-=CHE@TER=-,
Mar 6 2016, 12:39 Delphi, Asm, C, WinAPI, PHP, ...
QUOTE(-=CHE@TER=- @ Mar 6 2016, 15:12) [snapback]4041[/snapback]
У меня компьютер старый. Уже где-то на форуме обсужалось, для работы хватает, обновлять не хочу.
Комп ещё более тормозной, чем мой постоянно перегретый нетбук? Сожалею.
Насколько я помню, я перешёл на Far 3 из-за поддержки UTF-8.
QUOTE
Не, ты не понял - в просмотрщике же нет курсора. Как ты там будешь что-то писать или указывать?
Так можно диалогами обойтись, окошком ввода да окошком сообщения результата. Или объединить их.
QUOTE
Если у тебя все файлы будут одного формата - тогда да. А так-то структура файлов разная.
Под какой надо формат, под тот и написать (отредактировать). Я ради интереса написал скрипт для прыжков по 4-байтному смещению в просмотрщике:
[cut=Viewer_HexJump.lua]
CODE
local prevpos = nil;

local function hexjump()
  local start = viewer.GetInfo(nil).FilePos;
  prevpos = start;
  -- Get first bytes of the hex view
  local str = ReadConsoleOutputCharacter(12, 1, 24);
  local strb = str:gsub("[^0-9A-F]", ""):sub(1, 8); -- 4 bytes
  local offset = 0;
  for i = #strb - 1, 1, -2 do
    offset = offset * 256 + tonumber(strb:sub(i, i+1), 16);
  end;
  viewer.Select(nil, offset, 4);
end;

local function prehexjump()
  far.Timer(0, function(self) self:Close(); hexjump() end);
end;

local function backjump()
  if prevpos ~= nil then
    viewer.Select(nil, prevpos, 4);
  end;
end;

MenuItem {
  menu = "Plugins";
  area = "Viewer";
  guid = "CFBC01BA-342A-409F-A2B7-DAF874A84680";
  text = "HexJump to 4-byte offset";
  action = function(target, item)
    local F = far.Flags;
    local mode = Viewer.State;
    local needsrefresh = false;
    if band(mode, 0x20) == 0 then
      viewer.SetMode(nil, {Type=F.VSMT_VIEWMODE, iParam=F.VMT_HEX});
      needsrefresh = true;
    end;
    if needsrefresh then
      mf.postmacro(prehexjump);
    else
      mf.postmacro(hexjump);
    end;
  end;
}

Macro {
  description="Go to previous position before HexJump";
  area="Viewer";
  key="BS";
  flags="";
  action = function()
    mf.postmacro(backjump);
  end;
}
[/cut]
QUOTE
Не, HIEW'ом-то я как раз пользуюсь, но только для редактирования файлов, а если быстро нужно что-то посмотреть/проверить, то из FAR никуда не ухожу - открыл файл на просмотр и какой-нибудь текстовичок для записи, а дальше Ctrl+Tab или через F12 переключаюсь.
Я повесил HIEW на Alt+F4 (хех), и использую для просмотра тоже, удобно же. А сейчас только что обнаружил фичу "console detach key" в Far'е, а то всё время грустил, что для заметок нужно второе окно Far'а открывать.
-=CHE@TER=-,
Mar 3 2016, 21:38 Delphi, Asm, C, WinAPI, PHP, ...
QUOTE(-=CHE@TER=- @ Mar 4 2016, 03:44) [snapback]4029[/snapback]
Калькулятор этот при всех достоинствах адово часто падает [...]
В общем, если кто-то знает как это исправить - с удовольствием выслушаю, ибо задолбало.
А почему бы не заменить этот calc скриптами на Lua? Я в восторге от скриптов.
Сейчас взял и опубликовал свои наработки: http://grompe.org.ru/#far_scripts.zip

После установки скриптов можно будет делать так:
CODE
0xFF + 14
(Ctrl+Enter на строке)
CODE
0xFF + 14=269

Или если нравится, F11 → "Execute Lua on Selection" → "0xFF + 14" введёт в редактор 269.
-=CHE@TER=-,
Aug 27 2015, 13:25 Прогресс и программы
QUOTE(Siberian GRemlin @ Aug 27 2015, 14:04) [snapback]3924[/snapback]
Какие? Слышал что-то про «Halo 2», но сам не пробовал.

Те, что вместе с Вистой шли. Обновлённый сапёр, пасьянс там, новые игры.
-=CHE@TER=-,
Aug 27 2015, 05:20 Прогресс и программы
QUOTE(-=CHE@TER=- @ Aug 26 2015, 02:31) [snapback]3920[/snapback]

Ну, ты смог отделаться лёгкой кровью, а в FileZilla там какие-то функции из kernel32.dll, которых в Windows XP ещё не было (GetFinalPathNameByHandleW, InitializeConditionVariable, SleepConditionVariableCS, WakeConditionVariable и какая-то библиотека Normaliz.dll с одной единственной функцией IdnToAscii), а заморачиваться со вставкой мне как-то не особо хотелось.


С целым рядом отсутсвующих функций уже проще какой-нибудь загрузчик написать, либо сделать подмену библиотек. Эдакий KernelEx, только для Windows XP вместо Windows 98. Ну и игры от Висты в XP же переносили. Рано или поздно такая утилита должна появиться, энтузиастов старых ОС много.
-=CHE@TER=-, Siberian GRemlin,
Aug 25 2015, 11:46 Прогресс и программы
Зачастую программы не работают под XP только потому, что новый MSVC тупо ставит минимальную версию подсистемы 6.0 (Vista и выше) в заголовке exe-шников.

Собственноручно заставил одну программу запуститься под XP без официальной поддержки, исправив все заголовки в .exe и прилагающихся .dll на 5.0, правда, одной dll пришлось всунуть внутрь код функции InterlockedCompareExchange64, которой нет в XP.
-=CHE@TER=-, Siberian GRemlin,
Dec 16 2013, 03:45 Spacebase DF9
Да, с подставленным заголовком DDS в расжатые zlib-данные показывает картинку. Тут либо DXT3, либо DXT5.
Siberian GRemlin,
Nov 3 2013, 06:24 Opera 9.xx
Presto закопать и не дать исходников — обидно и несправедливо. Сначала отнекивались чем-то вроде "это ж ещё надо усилия тратить, откомментировать, поддерживать, чтоб нормально выложить", потом нашлась причина — у них движок Nintendo лицензирован и не хочется их, родных, подставлять.

Opera после перехода на другой движок уже столько версий циферок сменила, а пользоваться всё ещё нельзя. Так и живу — для более-менее приличных сайтов использую Opera 12, а для новомодных - Iron.

А Web Standards Project так иронично и кстати разбежались, не доделав тест на стандарты Acid4.

Интересно, что будет в итоге? Firefox сдастся и тоже станет хромом?
-=CHE@TER=-,
Jun 27 2013, 11:00 Уголок параноика
Вместо Chrome лучше пользоваться Iron, это Chromium, которому стучалку вырезали.

> какие-нибудь корпоративные документы

Такие исключительно по внутренней сети и внутренним протоколам должны пересылаться (например, через локальный джаббер-сервер).
Доверять подобное скайпу — себе искать приключений.

> Теоретически кто-нибудь может создать "левый" супер-нод и каким-нибудь образом расшифровать траффик через него.

Да что там суперноды и китайцы, уже давно всё перехвачено, от P2P там мало что осталось.
-=CHE@TER=-,
Jun 23 2013, 21:23 HTTP sniffer
Да, я использовал этот Fiddler2 для перехвата https в Java-программе. Нужно было поставить его поддельный корневой сертификат в систему и кое-что там скриптом прописать. После работы удалил сертификат.
А скрипт такой, чтоб сертификат удовлетворял домену:
CODE
    static function OnBeforeRequest(oSession: Session) {
...
        // MY ADDITIONS
        // ============
        oSession["x-OverrideCertCN"] = oSession["https-Client-SNIHostname"];
-=CHE@TER=-, useretail,
Jul 30 2012, 16:37 CheckSum
QUOTE
Grom PE!Версия 0.27 на FTP - можешь её пересобрать?И ещё файл history.en.txt - я в буржуйском не силён, а в русском написал, что изменил.

Скомпилил, английскую историю дописал, все дела на FTP.
-=CHE@TER=-,
May 13 2012, 13:46 HTTP sniffer
Ещё есть примочки для браузера типа https://addons.mozilla.org/en-US/firefox/addon/tamper-data/
-=CHE@TER=-, Siberian GRemlin,
May 13 2012, 11:31 HTTP sniffer
А цель какая? Если нужно перехватывать трафик любой программы, то тут в систему как-то надо встраиваться.
Я для таких дел использую CommView, кстати.

А если просмотреть трафик контролируемой программы, браузера, скажем, то можно и обойтись чем-нибудь типа прокси с логгированием: http://mitmproxy.org/
Siberian GRemlin,
Apr 19 2012, 19:05 Delphi, Asm, C, WinAPI, PHP, ...
Сам у себя встречал такие файлы. Полюбопытствовал, что и как.
Выяснилось, что можно взять и применить регу:
CODE
REGEDIT4

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib]
"Disable Performance Counters"=dword:00000001
Тогда ни одна программа не будет создавать эти файлы.
А последствия - монитор производительности системы ничего не будет показывать.
-=CHE@TER=-, Siberian GRemlin,
Mar 24 2012, 20:13 Замена системных модулей для Delphi
QUOTE
Нафиг тогда такого монстра.
Так нас же VCL не интересует, а совершенно голый проект должен быть таких же размеров, как и с Delphi 7.

QUOTE
Запросто - посмотри сколько раз в .EXE файле будет встречаться строчка, если раскоментарить define для STDWAY:
Три раза, но в юникоде %)

Вот что нового со времён Delphi 7, вычитал из документов и интернета:
- multi-unit namespaces (Vcl.Forms, System.SysUtils, etc.)
- for ... in ... do loops
- Exit(Result)
- inline functions
- operator overloading
- class helpers
- strict private, strict protected
- constructors, operator overloading, static methods and properties in records
- class: abstract, sealed, const, type, var, property
- nested classes
- final virtual methods
- other code optimizations (?)
- generics
- anonymous methods
- {$SETPEFLAGS 1} = no relocs
- {$POINTERMATH}, {$RTTI}, {$SCOPEDENUMS}
- new warnings
- strings and APIs are unicode by default
- enhanced RTTI (reflection, RTTI.pas)
- libraries, frameworks, all those bells and whistles
- 64-bit compilation
- Mac OSX compilation
- COFF .OBJ support
-=CHE@TER=-,
Mar 23 2012, 20:45 Замена системных модулей для Delphi
Набрёл на Embarcadero RAD Studio XE2 with Update 4, буду ковыряться в системных модулях Delphi этого чуда. Что нового в языке, обозначено тут:
http://edn.embarcadero.com/article/images/...ture_Matrix.pdf
Хотя не уверен, с какой версией это сравнение.
Стоящее дело?
-=CHE@TER=-,
May 6 2010, 02:16 Замена системных модулей для Delphi
QUOTE(-=CHE@TER=- @ May 3 2010, 18:08) [snapback]2916[/snapback]
Или тогда вопрос к Grom PE ты можешь в DCC32HACK как-нибудь перехватить работу с SetLength()?..


Похоже, это надо копаться в механизме RTTI и выискивать обращение к именам. Посмотрю как-нибудь..

-=CHE@TER=-,
Jan 16 2010, 07:46 Delphi, Asm, C, WinAPI, PHP, ...
-=CHE@TER=-

Ну дык, процессор так работает, x shr y на самом деле x shr (y mod 32).
Надо обнулить переменную, так и пиши =)

Точнее, x shr (y and 11111b), что и составляет 5 бит маски.
Intel
-=CHE@TER=-, Siberian GRemlin,
Sep 18 2009, 00:31 CheckSum
-=CHE@TER=-, хорошо. Скомпилировал и залил на FTP .
-=CHE@TER=-,
Nov 15 2008, 12:58 Delphi, Asm, C, WinAPI, PHP, ...
-=CHE@TER=-,
у меня с чистым созданным проектом всё работает с первого раза.
Смотри, нет ли у тебя какого-нибудь старого кода, который мешает.
Еще попробуй перезапустить Delphi.
-=CHE@TER=-,

2 Страниц V  1 2 >
Упрощённая версия Сейчас: 19th March 2024 - 04:48