Vi una función de Javascript que comienza así:
var _0xadf3 = function(_0x29ae0e, _0x3626db) { _0x29ae0e = _0x29ae0e - 0x0; var _0x5edbe5 = _0x4430[_0x29ae0e]; if (_0xadf3['ogYkVt'] === undefined) { (function() {¿Cuál es el propósito de la primera línea de código (_0x29ae0e = _0x29ae0e - 0x0;)? La primera línea de código toma la primera variable de la función, _0x29ae0e, y le resta 0. Por lo tanto, parece que solo se quedará con el valor original. Esto parece innecesario, y me gustaría entender la razón.
Restar por cero es una forma de forzar la conversión de tipos. Del tutorial de conversión de tipo
Cualquier operador matemático excepto el operador de concatenación/suma forzará la conversión de tipos. Por lo tanto, la conversión de una cadena a un número podría implicar realizar una operación matemática en la representación de la cadena del número que no afectaría el número resultante, como restar cero o multiplicar por uno.
Restar por 0x0 en este caso realiza una conversión de tipo forzada en _0x29ae0e para convertirlo en hexadecimal