@ProCxx

Страница 546 из 2477
Artem
02.02.2017
15:14:16
смысли

это защита от оптимизации

мемсет нулями можно выкинуть, если потом память не используется

это нельзя

Google
Berkus
02.02.2017
15:14:46
да, конпайлер может memset() всячески портить

надо специфицировать что код обязателен к исполнению

Дед Пегас
02.02.2017
15:15:33
А, вот оно что.

Понятно.

Berkus
02.02.2017
15:15:38
http://www.daemonology.net/blog/2014-09-04-how-to-zero-a-buffer.html вот например

Andrew
02.02.2017
15:17:16
А зачем битовые сдвиги? #topic #zerobuffer #asm #cpp
shr ecx, 2 ;ecx == len/4 sub edx, ebx ;edx == остаток после len/4

Andrew
02.02.2017
15:18:29
ну я просто вообще вспоминал асм, уже год его не трогал)

ну вроде похоже на ZeroMemory

Artem
02.02.2017
15:19:17
ну не очень похоже на функцию, если честно

Google
Artem
02.02.2017
15:19:34
функция обычно бывает с аргументами, а не с данными в .data

и получает свои аргументы по какому-нибудь соглашению вызовов, например, cdecl

Andrew
02.02.2017
15:20:42
ну не очень похоже на функцию, если честно
нуу если надо функцию то .model flat,stdcall ZeroMemory PROTO :DWORD,:DWORD .code ZeroMemory proc uses edi ecx edx ebx loc:DWORD, len:DWORD mov edi, loc mov edx, len xor eax, eax mov ecx, edx shr ecx, 2 mov ebx, ecx shl ebx, 2 sub edx, ebx rep stosd mov ecx, edx rep stosb ret ZeroMemory endp end

так вроде больше похоже но возможно ошибся где

писал не проверяя код

Berkus
02.02.2017
15:21:13
my_len => len my_lo => loc

в принципе, вполне себе zeromemory если слишком быстро не надо

ключики обычно до 256 байт длиной, скорость не так важна

Andrew
02.02.2017
15:24:06
кстати есть тут кто кто умеет расшифровывать трафик?

Berkus
02.02.2017
15:25:09
mitm proxy могут

https://www.charlesproxy.com

Andrew
02.02.2017
15:26:34
а кто знаком c l2phx? просто когда-то читерил чет там понимал сейчас забил чет а уже весь трафик у всех шифрованый

mitm proxy могут
спасибо

Alexey
02.02.2017
15:28:21
https://www.charlesproxy.com
оно платное

на винде есть Fiddler (http://www.telerik.com/fiddler)

Дед Пегас
02.02.2017
15:29:29
Годная шняга, кстати

Alexey
02.02.2017
15:29:30
а кроссплатформенное OWASP ZAP (https://www.owasp.org/index.php/OWASP_Zed_Attack_Proxy_Project)

они оба хороши

Berkus
02.02.2017
15:31:51
они все хороши

Google
Alex Фэils?︙
02.02.2017
16:37:04
Я вайршарком ебал

Kirill
02.02.2017
16:37:39
Я вайршарком ебал
Все так делают)

Stanislav
02.02.2017
16:39:19
берешь вайршарк, если неизвестный трафик, начинаешь писсать диссектор на луа)

Surreal
02.02.2017
23:40:04
void process_message(int x) { switch (x) default: if (valid_command_message(x)) case CMD1: case CMD2: case CMD3: case CMD4: process_command_msg(x); else if (valid_status_message(x)) case STATUS1: case STATUS2: case STATUS3: process_status_msg(x); else report_error(x); } Забавно. https://blog.feabhas.com/2017/02/abusing-c-switch-statement-beauty-eye-beholder/

Surreal
02.02.2017
23:44:38
Запутанный код легко читается тестами.

Admin
ERROR: S client not available

Vladislav
02.02.2017
23:45:52
иногда код читают чтобы внести в него изменения

Surreal
02.02.2017
23:51:23
О, это да. Реликт, написанный черной ручкой на черной бумаге в темноте, который дописывали черной краской широкой кистью и выдерживали затем в угольной шахте, представляет собой шикарный образец наследия, оставленного нам нашими предками - первобытными программистами.

Surreal
02.02.2017
23:56:30
Проблема в том, что часто приходится дополнять подобные артефакты своим пером. Каким бы изящным не был почерк, это все те же черные чернила поверх черной бумаги. Далеко не все готовы тратить время на то, чтобы разобраться и переписать все нормально. Да и из песни слов не выкинешь: перепишешь, а что-нибудь где-нибудь поломается; вернешь все обратно и останется только жалеть о потраченном времени.

Andrei
03.02.2017
00:58:54
Есть другая. Называется код производит сайд-эффекты.

Надо явно указать что все сайд эффекты кода должы быть вычилены к такой-то точке.

Berkus
03.02.2017
06:33:15
Нет такой спецификации.
Вот поэтому секьюрный мемсет на сях и невозможен.

Vladislav
03.02.2017
06:36:31
в виндах есть SecureZeroMemory

а еще memset_s http://en.cppreference.com/w/c/string/byte/memset

"This optimization is prohibited for memset_s: it is guaranteed to perform the memory write."

Berkus
03.02.2017
06:58:15
воот!

Google
Berkus
03.02.2017
06:58:44
и оно появилось только в с11, потому что секьюрный мемсет на сях невозможен

> memset_s is only guaranteed to be available if __STDC_LIB_EXT1__ is defined by the implementation and if the user defines __STDC_WANT_LIB_EXT1__ to the integer constant 1 before including string.h. #takoe

Vladislav
03.02.2017
06:59:58
а c11 - это уже не c?

Friedrich
03.02.2017
09:05:21
Он имеет в виду, что секурный мемсет невозможен в C без явной договорённости между библиотекой и компилятором.

Ну т.е. любой мемсет, который ты напишешь, будет априори несекурным.

А если авторы компилятора написали — тогда норм.

Berkus
03.02.2017
09:37:23
именно это я и имею в виду, спасибо!

Страница 546 из 2477