- 1
- 2
- 3
- 4
- 5
- 6
- 7
doit({txs, [Tx]}) ->
X = tx_pool_feeder:absorb(Tx),
Y = case X of
ok -> hash:doit(testnet_sign:data(Tx));
_ -> <<"error">>
end,
{ok, Y};
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
0
doit({txs, [Tx]}) ->
X = tx_pool_feeder:absorb(Tx),
Y = case X of
ok -> hash:doit(testnet_sign:data(Tx));
_ -> <<"error">>
end,
{ok, Y};
Прекраснейший код на Erlang из великолепнейшей криптовалюты AMOVEO
Здесь мы видим эндпоинт для отправки транзакций в сеть, возвращающий в случае ошибки ["ok","ZXJyb3I="]
Приглядевшись можно увидеть закодированное в base64 слово «error»
Lorip1971 24.01.2019 14:23 # +1
вот эти долбоебы юзали base64 чтобы таблицу зашифровать. а аддоны то пишутся на луа. то есть, весь код открытый. ну вот у меня и появился таурен с ачивками за убийство Тралла :D
bormand 24.01.2019 14:43 # +1
> base64
Помнится, на ГК кто-то проебал учётку из-за "зашифрованного" андроид студией пароля.
u3yMpygHblu_nemyx 24.01.2019 14:55 # 0
bormand 24.01.2019 15:00 # 0
guest8 24.01.2019 15:59 # −999
u3yMpygHblu_nemyx 24.01.2019 16:03 # +1
В принципе, и «Base64» можно назвать шифрованием, только ключ всем известен («ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijkl mnopqrstuvwxyz0123456789+/»).
guest8 24.01.2019 16:53 # −999
u3yMpygHblu_nemyx 24.01.2019 16:59 # +2
Rooster 24.01.2019 14:39 # +1
j123123 24.01.2019 23:15 # 0
guest8 24.01.2019 23:27 # −999
silvesterdrago 25.01.2019 21:12 # 0
guest8 25.01.2019 22:09 # −999
u3yMpygHblu_nemyx 26.01.2019 02:26 # 0
Steve_Brown 28.01.2019 14:10 # +2
bormand 28.01.2019 14:23 # +2
JIyHHblu_nemyx 30.01.2019 05:14 # +2
bormand 30.01.2019 08:54 # 0
gost 30.01.2019 12:01 # 0
bormand 30.01.2019 12:02 # +2
JIyHHblu_nemyx 30.01.2019 15:32 # 0
guest8 30.01.2019 14:32 # −999
Rooster 30.01.2019 14:44 # +1
JIyHHblu_nemyx 30.01.2019 15:46 # +1
Точка с запятой в COM-файле означает инструкцию CMP, точка с запятой и пробел —– это CMP SP, [BX+SI]. Таким образом, комментарий в асме может быть вполне валидным кодом в COM-файле.
REM в COM-файле –— это PUSH DX; INC BP; DEC BP. Пробел —– это AND (ожидается байт mod R/M). Комментарий в bat-файле тоже может быть валидным кодом в COM-файле.
Пока в мою петушиную голову никак не может прийти, как совместить ASM и BAT.
bormand 30.01.2019 16:01 # +1
JIyHHblu_nemyx 30.01.2019 16:06 # +2
Rooster 31.01.2019 08:59 # +1
можно нахуярить программ с именами мнемоник. Так можно даже ассемблер сделать
bormand 31.01.2019 10:55 # 0
Набор com файлов, каждый из которых умеет конпелять одну инструкцию?
Rooster 31.01.2019 11:50 # +1
bormand 31.01.2019 12:00 # 0
Rooster 31.01.2019 12:05 # 0
Rooster 31.01.2019 12:15 # 0
bormand 31.01.2019 12:18 # 0
Rooster 31.01.2019 12:34 # +1
Steve_Brown 31.01.2019 12:37 # +2
Ключ /A указывает, что строка справа от знака равенства является числовым
выражением, значение которого вычисляется. Обработчик выражений очень
прост и поддерживает следующие операции, перечисленные в порядке убывания
приоритета:
() - группировка
! ~ - - унарные операторы
* / % - арифметические операторы
+ - - арифметические операторы
<< >> - двоичный сдвиг
& - двоичное И
^ - двоичное исключающее ИЛИ
| - двоичное ИЛИ
= *= /= %= += -= - присвоение
&= ^= |= <<= >>=
, - разделитель операторов
JIyHHblu_nemyx 01.02.2019 00:55 # +1
Я за. Для добавления новых инструкций (SSE, AVX, NEON, VFP) не нужно будет перекомпилировать ассемблер. Достаточно будет всего лишь добавить новых программ. Это настоящий unix-way!
guest8 30.01.2019 17:37 # −999
JIyHHblu_nemyx 31.01.2019 01:54 # 0
http://govnokod.ru/12089#comment159728
Rooster 31.01.2019 09:05 # +1
guest8 31.01.2019 02:02 # −999
JIyHHblu_nemyx 31.01.2019 17:10 # 0
http://www.cmods-dev.de/
Верхнее серое полосатое поле нужно отмотать, дальше на белой плашке интереснее будет.
Rooster 31.01.2019 17:15 # 0
JIyHHblu_nemyx 31.01.2019 17:18 # 0
MAKAKA 18.09.2019 03:22 # 0
чуваки собрали флеш-рояль просто
Pretty_Young_Thing 18.09.2019 04:28 # 0
ropuJIJIa 18.09.2019 06:29 # 0
guest8 31.01.2019 02:05 # −999
JIyHHblu_nemyx 31.01.2019 02:11 # 0
JIyHHblu_nemyx 31.01.2019 02:39 # 0
А ларчик просто открывался: в исходник нужно было добавить директиву {$N+} (либо компилятор запустить с соответствующим ключом, либо в IDE указать в настройках проекта, но в исходнике как-то надёжнее). Выпилить поддержку плавающего питуха простым репаком нельзя, ибо она зашита в компиляторе и в модуле SYSTEM.TPU, без которого ничего не скомпилируется.
*****
А ещё Тарас троллил почтенную публику «Гейдева» вопросом, почему в его ассемблере сдвиг вправо есть знаковый и беззнаковый, а сдвиг влево только беззнаковый (ну точнее, знаковый якобы есть, но из-за какого-то бага компилируется в тот же опкод). Чуваки ему посоветовали достать полную версию компилятора.
guest8 31.01.2019 03:43 # −999
bormand 31.01.2019 07:49 # 0
Rooster 31.01.2019 08:50 # 0
1024-- 02.02.2019 19:28 # 0
Операция сдвига влево принимает знаковость числа отдельным параметром?
PA3yMHblu_nemyx 02.02.2019 19:31 # 0
https://gamedev.ru/code/forum/?id=139163
Гуглится по простой фразе «tarasb shl sal».
PA3yMHblu_nemyx 02.02.2019 20:21 # 0
Пример:
100 = 0x64 = 0b0110100;
50 = 0x32 = 0b0011010.
50 из 100 можно получить сдвигом вправо, 100 из 50 —– сдвигом влево. Освободившиеся разряды в обоих случаях заполняются нулями.
Теперь для отрицательных (в дополнительном коде, известном так же как two's complement):
-100 = 0x9c = 10011100;
-50 = 0xce = 11001110;
-50 из -100 можно получить сдвигом вправо с заполнением освободившихся разрядов единицами (т. е. слева как бы вдвигается бесконечная лента единиц).
-100 из -50 можно получить сдвигом влево (естественно, с потерей единиц, которые выезжают за пределы разрядности).
PA3yMHblu_nemyx 02.02.2019 20:32 # +1
В «Java» есть оператор >>>, который освободившиеся разряды заполняет нулями (беззнаковый сдвиг), и оператор >>, который в случае сдвига положительного числа так же заполняет освободившиеся разряды нулями, а в случае сдвига отрицательного числа заполняет освободившиеся разряды единицами (знаковый сдвиг).
Для сдвига влево в «Java» есть оператор <<, а вот оператора <<< нет.
В ассемблере для x86 есть беззнаковый сдвиг вправо (SHR), знаковый сдвиг вправо (SAR) и беззнаковый сдвиг влево (SHL). А вот знаковый сдвиг влево (SAL) компилируется в тот же код операции, что и SHL.
Вопрос: почему в «Java» нет оператора <<<, а в наборе инструкций x86 не различаются знаковый и беззнаковый сдвиг влево?
1024-- 02.02.2019 23:51 # +1
В XX веке на командах решили сэкономить, чтоб вписать ОП-код с N бит?
Видно же, что в половине случаев ushl и sshl отличаются, как и ushr от sshr:
Они что, воспользовались тем, что правые сдвиги различаются, по большей части, когда результат математически верен, а левые - только когда один из сдвигов неверен, и потому плюнули на консистентность команд и полноту области определения, прописали UB для математически неверных случаев знакового сдвига и сэкономили на ОП-коде?
1024-- 02.02.2019 23:53 # 0
PA3yMHblu_nemyx 03.02.2019 00:14 # +1
Разработчики процессоров и компиляторов решили, что специальная операция с сохранением математического смысла (умножение на два) для таких случаев никому не понадобится. Старшие биты всё равно будут потеряны (мы и при беззнаковом сдвиге их теряем).
cmepmop 03.02.2019 00:27 # 0
CnEPMOBOP 17.06.2019 00:31 # −102
guest8 18.09.2019 03:26 # −999
unicorn 16.06.2019 05:07 # 0
Es una equivocación pensar que todos los productos extranjeros son mejores que los nacionales...
silvesterdrago 25.01.2019 20:12 # +1
PA3yMHblu_nemyx 17.06.2019 20:51 # 0
norogHblu_nemyx 17.06.2019 20:51 # 0
Desktop 26.01.2020 02:18 # 0
HoBorogHuu_nemyx 26.01.2020 03:39 # 0
guest8 08.08.2019 00:40 # −999
MAKAKA 18.09.2019 03:23 # 0