Как стать автором
Поиск
Написать публикацию
Обновить
2
0

Пользователь

Отправить сообщение

Понимаю, что перевод, но в предисловии от переводчика можно было бы дать уточнение, что автор под изображением (image) подразумевает исключительно растровые изображения.

Транслируется он в то, что я, как реверсер, назвал BSCR — в линейную последовательность 16-битных сущностей, каждая из которых представляет собой литерал, оператор выражения или control structure, и в общем случае, всегда идёт в RPN-like порядке. По этому промежуточному BSCR-представлению уже генерируется машинный код/P-код.

Когда-то видел утверждение, что код VBA в моменте может находиться в одной из 12 степеней (а то и больше) компилированности (если так можно выразиться), но ни ссылку не сохранил, ни автор ничем не подтверждал слова. Но, интуитивно, это перебор, достаточно трёх: текст, промежуточное состояние (BSCR), p-code. Не совсем понятен момент и гранулярность (модуль целиком или только выбранные процедуры/методы) перехода в следующее состояние частей проекта VBA (или группы проектов). По способу хранения проектов - полагаю, structured storage?

В общем, спасибо за комментарий, и если есть возможность поделиться результатами реверса, с любопытством бы почитал!

Когда я впервые увидел текст на C, он был на экране алфавитно-цифрового дисплея. Я был в недоумении, что за язык такой: английский вроде текст кишел русскими "Ш" и "Щ". Оказалось, в знакогенераторе дисплея отсутствовали символы "{" и "}" (возможно, было что-то ещё, но не так бросилось в глаза).

Источник тока может быть и не нужен - см. например, https://habr.com/ru/companies/pult/articles/418959/

Остальное тоже "контрится", если не техническими мерами, то организационными (строят нужные люди).

Могли и раньше так строить, конечно. Некие условности - мораль, явные/неявные договорённости, "красные линии" и т. д. не позволяли. А теперь? Из-за одного очень тактического успеха что не позволит их перейти и другой стороне?

Есть и хуже варианты. Если ящик Пандоры открыт, то можно представить ситуацию, когда взрывающимися делают, например, стройматериалы, те же популярные на Ближнем Востоке шлакоблоки. Их никто не проверяет. Построены по контракту могут быть целые кварталы. Последствия можно представить.

По Wiki население Индии в 1971 году 548160000.

238830958 в 1871.

Обновления нет? Или вы ещё с Kernel-mode Hardware-enforced Stack Protection решили побороться?

Хорошо, спасибо!

Что насчёт несовместимости драйверов grdkey.sys, grdusb.sys с включённой "Изоляцией ядра" (Core isolation)?

У меня котэ как раз интересовался, что бы можно было почитать о языке Ада.

Принюхивается к Джехани.

Проверял в Windows 10, VBA 64 бит, ключ реестра HKLM\SYSTEM\ControlSet001\Control\FileSystem\LongPathsEnabled равен 1, файловая система - NTFS.

Код VBA
Option Explicit

Private Enum BOOL
  FALSE_BOOL = 0
  TRUE_BOOL = 1
End Enum

'BOOL CopyFile(
'  [in] LPCTSTR lpExistingFileName,
'  [in] LPCTSTR lpNewFileName,
'  [in] BOOL    bFailIfExists
');
Private Declare PtrSafe Function CopyFile Lib "kernel32" Alias "CopyFileW" ( _
  ByVal sExistingFileName As LongPtr, _
  ByVal sNewFileName As LongPtr, _
  ByVal bFailIfExists As BOOL) As BOOL

Private Const MAX_PATH As Long = 260

Private Sub MakeLongFileName(ByRef sFileName As String)
  Const PREFIX As String = "\\?\"
  Const PREFIX_LEN As Long = 4
  If Len(sFileName) >= MAX_PATH Then
    If StrComp(Left$(sFileName, PREFIX_LEN), PREFIX) Then
      sFileName = PREFIX & sFileName
    End If
  End If
End Sub

Public Function MyCopyFile( _
  ByVal sExistingFileName As String, _
  ByVal sNewFileName As String) As Long
  
  MakeLongFileName sExistingFileName
  MakeLongFileName sNewFileName
  
  CopyFile StrPtr(sExistingFileName), StrPtr(sNewFileName), TRUE_BOOL
  MyCopyFile = Err.LastDllError '0 - Ok, 3 - путь не найден, 80 - файл с таким именем уже существует
End Function

Public Sub Test1()
  Dim sSrcPath As String
  sSrcPath = "D:\Doc\source.ext"
  Dim sDstPath As String
  sDstPath = "D:\Download\" & _
    "ajdhjfkwofnwdiowdkncionioweudnmnspcjwpjedpjqpsdmpqlmsdpmnohfoqpwdsmnondoqhodhoq\" & _
    "kmedfopqmpsmxcopmndcoibnoqwdqpmsdcppxinqionwedonqpwdmpmpmpqnowidiqdnpmnqpwdpqnw\" & _
    "mcwmnediqncniqnwondonqnwdpqjwodjpqjwddiondnnq23ejnwqdnqowjdndxnqowndioqnwid\" & _
    "qknmwdqinwod89wndkqn892dnkqnd89qhd8qwndilqndqw89dhqonwdnqklnwdlq8wjhdqwdklmnqiw\" & _
    "destination.ext"
  Debug.Print MyCopyFile(sSrcPath, sDstPath)
End Sub

Целевая директория должна существовать.

До выполнения процедуры Test1 в командной консоли:
D:\Download\ajdhjfkwofnwdiowdkncionioweudnmnspcjwpjedpjqpsdmpqlmsdpmnohfoqpwdsmnondoqhodhoq\kmedfopqmpsmxcopmndcoibnoqwdqpmsdcppxinqionwedonqpwdmpmpmpqnowidiqdnpmnqpwdpqnw\mcwmnediqncniqnwondonqnwdpqjwodjpqjwddiondnnq23ejnwqdnqowjdndxnqowndioqnwid\qknmwdqinwod89wndkqn892dnkqnd89qhd8qwndilqndqw89dhqonwdnqklnwdlq8wjhdqwdklmnqiw>dir
 Том в устройстве D имеет метку XXXX
 Серийный номер тома: XXXX-XXXX

 Содержимое папки D:\Download\ajdhjfkwofnwdiowdkncionioweudnmnspcjwpjedpjqpsdmpqlmsdpmnohfoqpwdsmnondoqhodhoq\kmedfopqmpsmxcopmndcoibnoqwdqpmsdcppxinqionwedonqpwdmpmpmpqnowidiqdnpmnqpwdpqnw\mcwmnediqncniqnwondonqnwdpqjwodjpqjwddiondnnq23ejnwqdnqowjdndxnqowndioqnwid\qknmwdqinwod89wndkqn892dnkqnd89qhd8qwndilqndqw89dhqonwdnqklnwdlq8wjhdqwdklmnqiw

27.10.2023  14:23    <DIR>          .
27.10.2023  14:23    <DIR>          ..
               0 файлов              0 байт
               2 папок  977 389 416 448 байт свободно

D:\Download\ajdhjfkwofnwdiowdkncionioweudnmnspcjwpjedpjqpsdmpqlmsdpmnohfoqpwdsmnondoqhodhoq\kmedfopqmpsmxcopmndcoibnoqwdqpmsdcppxinqionwedonqpwdmpmpmpqnowidiqdnpmnqpwdpqnw\mcwmnediqncniqnwondonqnwdpqjwodjpqjwddiondnnq23ejnwqdnqowjdndxnqowndioqnwid\qknmwdqinwod89wndkqn892dnkqnd89qhd8qwndilqndqw89dhqonwdnqklnwdlq8wjhdqwdklmnqiw>

После выполнения:
D:\Download\ajdhjfkwofnwdiowdkncionioweudnmnspcjwpjedpjqpsdmpqlmsdpmnohfoqpwdsmnondoqhodhoq\kmedfopqmpsmxcopmndcoibnoqwdqpmsdcppxinqionwedonqpwdmpmpmpqnowidiqdnpmnqpwdpqnw\mcwmnediqncniqnwondonqnwdpqjwodjpqjwddiondnnq23ejnwqdnqowjdndxnqowndioqnwid\qknmwdqinwod89wndkqn892dnkqnd89qhd8qwndilqndqw89dhqonwdnqklnwdlq8wjhdqwdklmnqiw>dir
 Том в устройстве D имеет метку XXXX
 Серийный номер тома: XXXX-XXXX

 Содержимое папки D:\Download\ajdhjfkwofnwdiowdkncionioweudnmnspcjwpjedpjqpsdmpqlmsdpmnohfoqpwdsmnondoqhodhoq\kmedfopqmpsmxcopmndcoibnoqwdqpmsdcppxinqionwedonqpwdmpmpmpqnowidiqdnpmnqpwdpqnw\mcwmnediqncniqnwondonqnwdpqjwodjpqjwddiondnnq23ejnwqdnqowjdndxnqowndioqnwid\qknmwdqinwod89wndkqn892dnkqnd89qhd8qwndilqndqw89dhqonwdnqklnwdlq8wjhdqwdklmnqiw

27.10.2023  14:26    <DIR>          .
27.10.2023  14:26    <DIR>          ..
04.05.2022  19:40            21 674 destination.ext
               1 файлов         21 674 байт
               2 папок  977 389 391 872 байт свободно

D:\Download\ajdhjfkwofnwdiowdkncionioweudnmnspcjwpjedpjqpsdmpqlmsdpmnohfoqpwdsmnondoqhodhoq\kmedfopqmpsmxcopmndcoibnoqwdqpmsdcppxinqionwedonqpwdmpmpmpqnowidiqdnpmnqpwdpqnw\mcwmnediqncniqnwondonqnwdpqjwodjpqjwddiondnnq23ejnwqdnqowjdndxnqowndioqnwid\qknmwdqinwod89wndkqn892dnkqnd89qhd8qwndilqndqw89dhqonwdnqklnwdlq8wjhdqwdklmnqiw>

Код возврата 0 (успех). Поведение соответствует документации.

1) Если VBA (не VBS), почему не использовать WinAPI CopyFile() с добавлением к пути "\\?\" ?

2) Dim sDir, dDir, old_name, new_name As String - типичная ошибка (так сказать). sDir, dDir, old_name будут описаны как Variant.

У меня клавиатура подключена через USB-хаб. На хабе есть кнопка и индикатор включения для каждого порта. Когда котэ решает, что пора ему полежать на моих руках и клавиатуре, я обычно успеваю кнопочку нажать.

Существовал конкурент MS VB 3.0 от IBM для OS/2 и Windows под названием VisualAge for Basic (кстати, VisualAge for Smaltalk тоже существовал, и даже были попытки его использования в России в банковской сфере именно под OS/2). Так что инструментарий был. Видимо, не в этом дело.

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

"Шитый код" (или "шитый байт-код" ?).
См. https://ru.wikipedia.org/wiki/Шитый_код

COM объект – это C++ класс

Поперхнулся и дальше не читал. Ничего, что по мнению создателей "COM is independent of implementation language"?

Для полноты комплекта и ощущений неплох был бы большой красный "Гусь" (Gravis UltraSound MAX), мне коллега давал на пару месяцев "пощупать". Но смотрю я на "Авито" и понимаю, что коллекционирование - занятие затратное.

В закромах есть материнка PAT54PV-1.10, VLB-видюха Trident 9400 и SCSI-адаптер на шине ISA Adaptec AHA-1542CF. Работали дома где-то до 2001 года. К сожалению, канула в Лету "звезда" этой сборки - VLB кэш-контроллер IDE HDD с SIMM слотами (не помню, 4 или 8 шт.) для установки собственно дискового кэша. "Дичь" в том, что в одной вычислительной системе работали Intel Pentium 90, Intel 80286 (на кэш-контроллере) и Zilog Z80 (на SCSI-контроллере).

1

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность

Специализация

Software Developer, Database Developer