Re: Низькорівнева всячина
Подивіться ще раз: https://mh-nexus.de/en/downloads.php?product=HxD
Ой, спасибі!! Оце так інструмент!! Навіть не знаю, як віддячити...
Ви не увійшли. Будь ласка, увійдіть або зареєструйтесь.
Ласкаво просимо вас на україномовний форум з програмування, веб-дизайну, SEO та всього пов'язаного з інтернетом та комп'ютерами.
Будемо вдячні, якщо ви поділитись посиланням на Replace.org.ua на інших ресурсах.
Для того щоб створювати теми та надсилати повідомлення вам потрібно Зареєструватись.
Український форум програмістів → Системне програмування → Низькорівнева всячина
Подивіться ще раз: https://mh-nexus.de/en/downloads.php?product=HxD
Ой, спасибі!! Оце так інструмент!! Навіть не знаю, як віддячити...
elektryk написав:Chemist-i написав:Не тратьте час, у пана Електрика москалізм головного моску, поставив собі Хрома з автоперекладачем, тепер всі сайти в нього москальські.
Так, я вже підтоптаний. Пам'ять не та, розум не той. Будемо надіятись, що Ви залишитись вічно молодим....
Питання не в вашій старості, а в тому, що Ви не читаєте те, що Вам пишуть. Я не такий вже молодий, якщо що...
Як же я можу прочитати, якщо там літери москальські??
Chemist-i написав:elektryk написав:Так, я вже підтоптаний. Пам'ять не та, розум не той. Будемо надіятись, що Ви залишитись вічно молодим....
Питання не в вашій старості, а в тому, що Ви не читаєте те, що Вам пишуть. Я не такий вже молодий, якщо що...
Як же я можу прочитати, якщо там літери москальські??
Небуває ніяких москальських літер, символи, за допомогою яких ми записуємо слова називаються - Кирилиця,
Кири́лиця — алфавітна система письма в країнах Східної Європи, Північної і Центральної Азії.
elektryk написав:Chemist-i написав:Питання не в вашій старості, а в тому, що Ви не читаєте те, що Вам пишуть. Я не такий вже молодий, якщо що...
Як же я можу прочитати, якщо там літери москальські??
Небуває ніяких москальських літер, символи, за допомогою яких ми записуємо слова називаються - Кирилиця,
Вікіпедія написав:Кири́лиця — алфавітна система письма в країнах Східної Європи, Північної і Центральної Азії.
Згоден, але посилання було на латиницю, на англомовний сайт.
Сьогодні стикнувся з кумедною проблемою сумісності продукавних m$ студією 2017 виконуваних файлів з віндою XP. Підтримка Windows XP закінчилась скрізь, тому аби ваші програми запускалися цією операціною системою, ви повинні в командному рядку лінкера, а саме - в параметрі підсистеми вказати вручну нижню межу версії операційної системи, для якої призначається виконуваний файл. Зазвичай, підсистема вказується так:/SUBSYSTEM:WINDOWS для віконних застосунків і /SUBSYSTEM:CONSOLE для консольних. Ще є NATIVE себто рідне для ОС але то рідковжвана річ - драйвери та системні засоби для роботи в нульовому кільці. Так от, треба до оцього параметру через кому додати нижню межу версії системи(ядра). Для Windows XP x86 це 5.01, а для Windows XP x64 це 5.02. Себто SUBSYSTEM параметер лінкера має виглядати для віконного застосунку з архітектурю x86 з нижньою межею версії ОС Windows XP - /SUBSYSTEM:WINDOWS,5.01 . Ще можна лінкеру передати параметри прямо з джерельного коду #pragma comment(linker, "/SUBSYSTEM:WINDOWS,5.01")
Було б добре, якби хтось охвормив це у вигляді статті зі знімками екрану і налаштуванням проєкту в Візуал Студії, бо я гидую користуватись тим грахвічним середовищем - тіки FAR, тіки хардкір
Студія надважка. Я користуюся виключно CodeBlocks, й то досить нечасто. Навіть встигаю трохи забути що до чого. Все одно спасибі.
del
Ну ось якщо провести паралель з ЕОМ, то хост і тульпа — це як дві нитки одного процесу. А інша людина — це інша машина, з якою треба встановити з'єдання, серіалізувати даних, щоб натягнути їх на протокол, обробити відповідь, втратити дещо через стандартизованість та платформонезалежність форматів обміну даних. Себто надто багато зусиль, щоб донести іншій людині, у чому взагалі задача та як ти бачиш проблему. А з тульпою маєш великий пласт Shared Memory, до якого можуть читати і писати хост і тульпа. Ніяких надмірностей у передачі даних, тож можна влаштувати мозковий штурм у власній голові.
Зазвичай, підсистема вказується так:/SUBSYSTEM:WINDOWS для віконних застосунків і /SUBSYSTEM:CONSOLE для консольних. Ще є NATIVE себто рідне для ОС але то рідковжвана річ - драйвери та системні засоби для роботи в нульовому кільці. Так от, треба до оцього параметру через кому додати нижню межу версії системи(ядра).
Ще є параметр /OSVERSION.
Тоді повний рядок буде такий, наприклад:
Link /SUBSYSTEM:CONSOLE,4.0 /OSVERSION:4.0 %NAME%.obj
Сьогодні стикнувся з кумедною проблемою сумісності продукавних m$ студією 2017 виконуваних файлів з віндою XP.
Не знав про це, реально. Колись довелося працювати на 2017 студії, і для сумісності з ХР я вручну правив РЕ заголовок у вихідних файлів. А так - сижу на 2008 студії і нормально. Лишався би на 6 (vc6),але там інклуди від 98 вінди, а ставити туда нові мсдн якось лінь. 2008 повністью влаштовує. Кодеблокс також користуюсь, як і борландом6, для простого гуі, але для вінди нічого краще студії немає.
Найшов цікавий сайт, https://godbolt.org - вивід в реалтаймі дізасму різних С-компіляторів.
Kane
Ви бачили мову/фреймворк ABAKIS? Цікавезна штукенція! Створена за допомогою фасмівських препроцесора і директив. Правда автор все одно пропатчив фасм з метою додавання директив ?if, ?while, ?x.Приклад уживання цього фреймворку:
; ABAKIS EXAMPLE. SEE \INCLUDE\ include 'z.inc' text t(64), s(64), f='LOG.TXT' text m(64)='NOItUlOVe ReLBmESsa SikaBa' function test.text text.copy t, m say t text.reverse t text.upper t text.attach.c t, '!' endf function test.number say.n 4294967295 say.h 0ABCDEF12h say.h 0FFFFFFFFh say.b 11110000111100001111b endf function test.memory locals p try p=allocate 33 memory.zero p, 33 memory.set p, '1234', 32 say p destroy p endf 1 function test.file locals n get n=text.n t try create f write t, n close try open f read s, n say s close execute f endf 1 function test.io test.memory if false say 'Memory allocation error' return 0 end test.file if false say 'File I/O error' return 0 end endf 1 function main test.text test.number try test.io endf
Мені багато чого неподобається, але автор добре абстрагувався від машинного коду та має системні знання з фасмівської мови компіляції.
цікаво вигляда
її/його зараз десь можна скачати?
сайт автора недоступний
цікаво вигляда
її/його зараз десь можна скачати?
сайт автора недоступний
швидше на сайті flatassembler є тема, може хтось не видалив, не могли викинути на гуглдокс, сайти зараз це капець
цікаво вигляда
її/його зараз десь можна скачати?
сайт автора недоступнийшвидше на сайті flatassembler є тема, може хтось не видалив, не могли викинути на гуглдокс, сайти зараз це капець
ага, там відписали
https://web.archive.org/web/20170501121 … bakis.html
овва, я і не знав, що вебархів зберігає архіви
цікаво, скачав, можна потицяти
Пишемо свiй криптор (стаття на конкурс, рос. мова).
Може, ще комусь крiм пана iндуса буде цiкаво.
Пишу трояна, стикнувся з проблемою, що функція CredFree вилітає (з певною ймовірністю, звичайно) з ексцепшином в Windows 7 x64, залишається на неї тільки обробник виключень поставити.
Продовження епопеї...
Обробник виключень поставив, тепер інше виключення вилізло через те що CredReadW переповнює кучу (heap) і нема на те ради. Виявилося, що CredReadA таким не займається, тому вимушено замінив CredReadW на неї. Я не хотів викликати функцію CredReadA через те що вважав, що функція поверне значення паролю у форматі чинної кодової сторінки, а воно не так - пароль одержуться в UTF-16 навіть з функції CredReadA.
Продовження епопеї...
Виявилося, що я в функцію CredFree передавав не вказівник на структуру, а вказівник на вказівник на структуру. Тобто замість CredFree(pCred) я писав CredFree(&pCred). Це сталося тому що функція CredFree здатна вивільнювати 2 структури - PCREDENTIALW та PCREDENTIALA, тому її оголосили як int CredFree(void *). А оскільки аргументом функція приймає void * то їй начебто підходить і &pCred і тому компілятор лаятися не буде.
Пишу трояна, стикнувся з проблемою, що функція CredFree вилітає (з певною ймовірністю, звичайно) з ексцепшином в Windows 7 x64, залишається на неї тільки обробник виключень поставити.
Компанія Майкрософт шизанулася та її бінарні інтерхвейси протирічать власній документації. Ні, я знаю що М$ полюбляє недокументувати багато чого, але ж документувати не так - це вже шиза. Не перший раз помічаю це, до речі.
Сьогодні я стикнувся з тим, що в документації параметр "TotalPhysicalMemory" класа Win32_ComputerSystem визначений як uint64, а в дійсності це BSTR.
Не зовсім розумію чому FASM а не MASM32 , чим він гірший .