Ejemplo n.º 1
0
void nsColorPicker::SetColor(const GdkRGBA* color)
{
  mColor.Assign('#');
  mColor += ToHexString(convertGdkRgbaComponent(color->red));
  mColor += ToHexString(convertGdkRgbaComponent(color->green));
  mColor += ToHexString(convertGdkRgbaComponent(color->blue));
}
Ejemplo n.º 2
0
void nsColorPicker::ReadValueFromColorSelection(GtkColorSelection* colorselection)
{
  GdkColor rgba;
  gtk_color_selection_get_current_color(colorselection, &rgba);

  mColor.Assign('#');
  mColor += ToHexString(convertGdkColorComponent(rgba.red));
  mColor += ToHexString(convertGdkColorComponent(rgba.green));
  mColor += ToHexString(convertGdkColorComponent(rgba.blue));
}
void nsColorPicker::ReadValueFromColorChooser(GtkWidget* color_chooser)
{
  GdkColor rgba;
  gtk_color_selection_get_current_color(
    GTK_COLOR_SELECTION(gtk_color_selection_dialog_get_color_selection(
      GTK_COLOR_SELECTION_DIALOG(color_chooser))),
    &rgba);

  mColor.AssignLiteral("#");
  mColor += ToHexString(convertGdkColorComponent(rgba.red));
  mColor += ToHexString(convertGdkColorComponent(rgba.green));
  mColor += ToHexString(convertGdkColorComponent(rgba.blue));
}
Ejemplo n.º 4
0
void XrefBrowseDialog::setup(duint address, QString command)
{
    if(mXrefInfo.refcount)
    {
        BridgeFree(mXrefInfo.references);
        mXrefInfo.refcount = 0;
    }
    mCommand = command;
    mAddress = address;
    mPrevSelectionSize = 0;
    ui->listWidget->clear();
    if(DbgXrefGet(address, &mXrefInfo))
    {
        char disasm[GUI_MAX_DISASSEMBLY_SIZE] = "";
        setWindowTitle(QString(tr("xrefs at %1")).arg(ToHexString(address)));
        for(duint i = 0; i < mXrefInfo.refcount; i++)
        {
            if(GuiGetDisassembly(mXrefInfo.references[i].addr, disasm))
                ui->listWidget->addItem(disasm);
            else
                ui->listWidget->addItem("???");
        }
        ui->listWidget->setCurrentRow(0);
    }
    ui->listWidget->setFocus();
}
Ejemplo n.º 5
0
mozilla::ipc::IPCResult
GMPDecryptorParent::RecvBatchedKeyStatusChanged(const nsCString& aSessionId,
                                                InfallibleTArray<GMPKeyInformation>&& aKeyInfos)
{
  LOGD(("GMPDecryptorParent[%p]::RecvBatchedKeyStatusChanged(sessionId='%s', KeyInfos len='%" PRIuSIZE "')",
        this, aSessionId.get(), aKeyInfos.Length()));

  if (mIsOpen) {
    nsTArray<CDMKeyInfo> cdmKeyInfos(aKeyInfos.Length());
    for (uint32_t i = 0; i < aKeyInfos.Length(); i++) {
      LOGD(("GMPDecryptorParent[%p]::RecvBatchedKeyStatusChanged(keyId=%s, gmp-status=%d)",
            this, ToHexString(aKeyInfos[i].keyId()).get(), aKeyInfos[i].status()));
      // If the status is kGMPUnknown, we're going to forget(remove) that key info.
      if (aKeyInfos[i].status() != kGMPUnknown) {
        auto status = ToMediaKeyStatus(aKeyInfos[i].status());
        cdmKeyInfos.AppendElement(CDMKeyInfo(aKeyInfos[i].keyId(),
                                             dom::Optional<dom::MediaKeyStatus>(status)));
      } else {
        cdmKeyInfos.AppendElement(CDMKeyInfo(aKeyInfos[i].keyId()));
      }
    }
    mCallback->BatchedKeyStatusChanged(aSessionId, cdmKeyInfos);
  }
  return IPC_OK();
}
Ejemplo n.º 6
0
std::string ToUrlFormat(const unsigned char* const data, int numbytes)
{
  std::string r;
  for (int i = 0; i < numbytes; i++)
  {
    unsigned char c = (char)data[i];
    
    // Replace c with e.g.  %20 - i.e. '%' followed by c in hex.
    r += std::string(1, '%');
    r += ToHexString((unsigned int)c);

/*
    if (IsUrlPrintable(c))
    {
      r += std::string(1, c);
    }
    else
    {
      // Replace c with e.g.  %20 - i.e. '%' followed by c in hex.
      r += std::string(1, '%');
      r += ToHexString((unsigned int)c);
    }
*/
  }

  return r;
}
Ejemplo n.º 7
0
	int main()
	{
		std::cout << ToHexString(200).c_str() << std::endl;
		//std::cout << ToOctalString(200).c_str() << std::endl;
		//std::cout << ToBinaryString(200).c_str() << std::endl;
		std::cin.get();
		return 0;
	}
Ejemplo n.º 8
0
void PrintStringAndHex(signed char * const pString,unsigned int Value)
{
  xSemaphoreTake(UartMutex,portMAX_DELAY);
  WriteTxBuffer(pString);  
  ToHexString(Value,ConversionString);
  WriteTxBuffer(ConversionString);   
  WriteTxBuffer("\r\n");
  xSemaphoreGive(UartMutex);
}
Ejemplo n.º 9
0
static nsCString
CryptoInfo(const GMPUniquePtr<GMPVideoEncodedFrame>& aInputFrame)
{
  const GMPEncryptedBufferMetadata* crypto = aInputFrame->GetDecryptionData();
  if (!crypto) {
    return EmptyCString();
  }
  return nsPrintfCString(" kid=%s",
                         ToHexString(crypto->KeyId(), crypto->KeyIdSize()).get());
}
Ejemplo n.º 10
0
// ////////////////////////////////////////////////////////////////////////////
std::string ToHexStringDebug(const StreamDatum *begin_ptr,
	const StreamDatum *end_ptr)
{
	std::ostringstream o_str;

	const StreamDatum *tmp_end_ptr = std::min(end_ptr, begin_ptr + 10);

	o_str << std::left << std::setw((10 * 2) + 9) <<
		ToHexString(begin_ptr, tmp_end_ptr) << std::right <<
		(((end_ptr - begin_ptr) > 10) ? ">" : " ");

	return(o_str.str());
}
Ejemplo n.º 11
0
std::string EncodeStr(const std::string& plainMsg)
{
  std::string result;
  
  int s = static_cast<int>(plainMsg.size());
  for (int i = 0; i < s; i++)
  {
    unsigned char c = plainMsg[i];
    result += ToHexString(c);
  }
  
  return result;
}
Ejemplo n.º 12
0
mozilla::ipc::IPCResult
GMPDecryptorParent::RecvSessionMessage(const nsCString& aSessionId,
                                       const GMPSessionMessageType& aMessageType,
                                       nsTArray<uint8_t>&& aMessage)
{
  LOGD(("GMPDecryptorParent[%p]::RecvSessionMessage(sessionId='%s', type=%d, msg='%s')",
        this, aSessionId.get(), aMessageType, ToHexString(aMessage).get()));

  if (!mIsOpen) {
    NS_WARNING("Trying to use a dead GMP decrypter!");
    return IPC_FAIL_NO_REASON(this);
  }
  mCallback->SessionMessage(aSessionId, ToMediaKeyMessageType(aMessageType), aMessage);
  return IPC_OK();
}
Ejemplo n.º 13
0
void
GMPDecryptorParent::UpdateSession(uint32_t aPromiseId,
                                  const nsCString& aSessionId,
                                  const nsTArray<uint8_t>& aResponse)
{
  LOGD(("GMPDecryptorParent[%p]::UpdateSession(sessionId='%s', promiseId=%u response='%s')",
        this, aSessionId.get(), aPromiseId, ToHexString(aResponse).get()));

  if (!mIsOpen) {
    NS_WARNING("Trying to use a dead GMP decrypter!");
    return;
  }
  // Caller should ensure parameters passed in from JS are valid.
  MOZ_ASSERT(!aSessionId.IsEmpty() && !aResponse.IsEmpty());
  Unused << SendUpdateSession(aPromiseId, aSessionId, aResponse);
}
Ejemplo n.º 14
0
void
GMPDecryptorParent::CreateSession(uint32_t aCreateSessionToken,
                                  uint32_t aPromiseId,
                                  const nsCString& aInitDataType,
                                  const nsTArray<uint8_t>& aInitData,
                                  GMPSessionType aSessionType)
{
  LOGD(("GMPDecryptorParent[%p]::CreateSession(token=%u, promiseId=%u, aInitData='%s')",
        this, aCreateSessionToken, aPromiseId, ToHexString(aInitData).get()));

  if (!mIsOpen) {
    NS_WARNING("Trying to use a dead GMP decrypter!");
    return;
  }
  // Caller should ensure parameters passed in from JS are valid.
  MOZ_ASSERT(!aInitDataType.IsEmpty() && !aInitData.IsEmpty());
  Unused << SendCreateSession(aCreateSessionToken, aPromiseId, aInitDataType, aInitData, aSessionType);
}
Ejemplo n.º 15
0
std::string ToUrlFormat(const BinaryData& d)
{
  std::string r;
  const int size = d.size();
  for (int i = 0; i < size; i++)
  {
    unsigned char c = d[i];
    if (IsUrlPrintable(c))
    {
      r += std::string(1, c);
    }
    else
    {
      // Replace c with e.g.  %20 - i.e. '%' followed by c in hex.
      r += std::string(1, '%');
      r += ToHexString((unsigned int)c);
    }
  }
  return r;
}
Ejemplo n.º 16
0
// Replace spaces with %20, etc.
std::string ToUrlFormat(const std::string& s)
{
  std::string r;
  for (unsigned int i = 0; i < s.length(); i++)
  {
    unsigned char c = s[i];

    if (IsUrlPrintable(c))
    {
      r += std::string(1, c);
    }
    else
    {
      // Replace c with e.g.  %20 - i.e. '%' followed by c in hex.
      r += std::string(1, '%');
      r += ToHexString(c);
    }
  }
  return r;
}
Ejemplo n.º 17
0
QString CapstoneTokenizer::printValue(const TokenValue & value, bool expandModule, int maxModuleLength) const
{
    QString labelText;
//    char label_[MAX_LABEL_SIZE] = "";
//    char module_[MAX_MODULE_SIZE] = "";
    QString moduleText;
    duint addr = value.value;
//    bool bHasLabel = DbgGetLabelAt(addr, SEG_DEFAULT, label_);
//    if(!bHasLabel) //handle function+offset
//    {
//        duint start;
//        if(DbgFunctionGet(addr, &start, nullptr) && DbgGetLabelAt(start, SEG_DEFAULT, label_))
//        {
//            labelText = QString("%1+%2").arg(label_).arg(ToHexString(addr - start));
//            bHasLabel = true;
//        }
//    }
//    else
//        labelText = QString(label_);
//    bool bHasModule = (expandModule && DbgGetModuleAt(addr, module_) && !QString(labelText).startsWith("JMP.&"));
//    moduleText = QString(module_);
//    if(maxModuleLength != -1)
//        moduleText.truncate(maxModuleLength);
//    if(moduleText.length())
//        moduleText += ".";
    QString addrText = ToHexString(addr);
    QString finalText;
//    if(bHasLabel && bHasModule)  //<module.label>
//        finalText = QString("<%1%2>").arg(moduleText).arg(labelText);
//    else if(bHasModule)  //module.addr
//        finalText = QString("%1%2").arg(moduleText).arg(addrText);
//    else if(bHasLabel)  //<label>
//        finalText = QString("<%1>").arg(labelText);
//    else
        finalText = addrText;
    return finalText;
}
Ejemplo n.º 18
0
nsCString
ToHexString(const nsTArray<uint8_t>& aBytes)
{
  return ToHexString(aBytes.Elements(), aBytes.Length());
}
Ejemplo n.º 19
0
std::wstring CStringUtils::ToHexWString( BYTE* pSrc, int nSrcLen )
{
    std::string s = ToHexString(pSrc, nSrcLen);
    return std::wstring(s.begin(), s.end());
}
Ejemplo n.º 20
0
// ////////////////////////////////////////////////////////////////////////////
std::string ToHexString(std::size_t data_length, const StreamDatum *data_ptr)
{
	return(ToHexString(data_ptr, data_ptr + data_length));
}
Ejemplo n.º 21
0
  void NtfyPacket(std::shared_ptr<GlobalGrid::VSocket> socket,unsigned char* packetData, size_t packetLength) {
    
    if(sessions.find(socket) == sessions.end()) {
      //We should have an AES key in our packet here encrypted with our public key.
      
      
      //Packet header -- thumbprint (16 bytes) (unverified data element), session key (variable length, encrypted)
      if(packetLength<=16) {
	return;
      }
      void* packet = RSA_Decrypt(privkey,packetData+16,packetLength-16);
      if(packet == 0) { //Decryption failure.
	return;
      }
      unsigned char* buffer;
      size_t sz;
      GlobalGrid::Buffer_Get(packet,&buffer,&sz);
      if(sz>=32) {
	//We have a new Session.
	Session route(socket,buffer,packetData);
	sessions.insert(route);
	//Respond with ACK, which verifies our identity
	//Send challenge to verify remote identity.
	
	char hexprint[33];
	ToHexString((unsigned char*)route.claimedThumbprint,16,hexprint);
	hexprint[32] = 0;
	
	void* remoteKey = DB_FindAuthority(hexprint);
	
	if(remoteKey) {
	  SendChallenge(remoteKey,route,socket);
	}else {
	  //We don't have a remote key. Request it.
	  unsigned char izard[16];
	  memset(izard,0,16);
	  izard[0] = 2;
	  aes_encrypt(route.key,izard);
	  socket->Send(izard,16);
	}
	GlobalGrid::GGObject_Free(packet);
      }else {
	GlobalGrid::GGObject_Free(packet);
      }
    }else {
      //Bind to existing Session.
      if(packetLength % 16 != 0) {
	//Invalid packet.
	return;
      }
      
      Session session = *sessions.find(socket);
      for(size_t i = 0;i<packetLength;i+=16) {
	aes_decrypt(session.key,packetData+i);
      }
      
      switch(*packetData) {
	case 0:
	  //Challenge request
	{
	  //Decrypt challenge
	  uint16_t len;
	  memcpy(&len,packetData+1,2);
	  void* challenge = RSA_Decrypt(privkey,packetData+1+2,len);
	  if(challenge == 0) {
	    return;
	  }
	  unsigned char* challenge_bytes;
	  size_t challenge_sz;
	  
	  GlobalGrid::Buffer_Get(challenge,&challenge_bytes,&challenge_sz);
	  if(challenge_sz != 16) {
	    GlobalGrid::GGObject_Free(challenge);
	    return;
	  }
	  
	  unsigned char response[32];
	  memset(response,0,32);
	  response[0] = 1;
	  memcpy(response+1,challenge_bytes,16);
	  aes_encrypt(session.key,response);
	  aes_encrypt(session.key,response+16);
	  socket->Send(response,32);
	  GlobalGrid::GGObject_Free(challenge);
	  
	  
	}
	  break;
	case 1:
	{
	  //Response to challenge (identity verification)
	  if(memcmp(session.challenge,packetData+1,16) == 0) {
	    session.verified = true;
	    printf("Identity verified.\n");
	  }
	}
	  break;
	case 2:
	{
	  //Request for public encryptionKey.
	  void* key = RSA_Export(privkey,false);
	  unsigned char* key_bytes;
	  size_t key_size;
	  GlobalGrid::Buffer_Get(key,&key_bytes,&key_size);
	  size_t aligned = key_size+1;
	  aligned+=16-(aligned % 16);
	  
	  unsigned char* packet = new unsigned char[aligned];
	  memcpy(packet+1,key_bytes,key_size);
	  packet[0] = 3;
	  
	  for(size_t i = 0;i<aligned;i+=16) {
	    aes_encrypt(session.key,packet+i);
	  }
	  
	  socket->Send(packet,aligned);
	  delete[] packet;
	  GlobalGrid::GGObject_Free(key);
	  
	}
	  break;
	case 3:
	{
	  //Received public encryption key
	  void* key = RSA_Key(packetData+1,packetLength-1);
	  char thumbprint[33];
	  RSA_thumbprint(key,thumbprint);
	  thumbprint[32] = 0;
	  void* obj = DB_FindAuthority(thumbprint);
	  if(obj == 0) {
	    void* keybin = RSA_Export(key,false);
	    unsigned char* cert;
	    size_t cert_len;
	    GlobalGrid::Buffer_Get(keybin,&cert,&cert_len);
	    DB_Insert_Certificate(thumbprint,cert,cert_len,false);
	    GlobalGrid::GGObject_Free(keybin);
	    if(session.verified == false) {
	      //TODO: Send verification request
	      SendChallenge(key,session,socket);
	    }
	  }else {
	    RSA_Free(obj);
	  }
	}
	  break;
	case 4:
	{
	  //Route packet
	  packetData++;
	  unsigned char ttl = *packetData;
	  packetData++;
	  
	  //Intended destination
	  GlobalGrid::Guid dest;
	  memcpy(dest.value,packetData,16);
	  packetData+=16;
	  GlobalGrid::Guid localThumbprint;
	  RSA_thumbprint(privkey,(unsigned char*)localThumbprint.value);
	  uint32_t packetSize;
	  memcpy(&packetSize,packetData,4);
	  packetData+=16;
	  if(dest == localGuid) {
	    printf("TODO: Packet destined for ourselves\n");
	    return;
	  }
	  SendPacket(packetData,packetSize,ttl,dest,session.claimedThumbprint);
	  
	}
	  break;
      }
    }
  }
Ejemplo n.º 22
0
HRESULT
modmd5(LPSTR *hexhash)
{
    HRESULT hRes;
    HANDLE hFile = NULL;
    DEBUG_MODULE_PARAMETERS ModParams;
    HCRYPTPROV hCryptProv = NULL;
    HCRYPTHASH hHash = NULL;
    BYTE *pbHashData = NULL;
    BYTE buffer[BUFSIZE];
    DWORD cbHash;
    DWORD cbRead = 0;
    BOOL bResult = FALSE;

   /*
    msdn: returns parameters for modules in the target.
    */
    hRes=g_ExtSymbols->GetModuleParameters(1, &g_Base, 0, &ModParams);
    if(FAILED(hRes))
    {
        dprintf("[sync] modcheck: failed get module parameters\n");
        return E_FAIL;
    }

    dprintf("[sync] modcheck:\n"
            "       File: %s\n"
            "       Size: 0x%x\n"
            "       TimeDateStamp: 0x%x\n", g_NameBuffer, ModParams.Size, ModParams.TimeDateStamp);

    hRes=E_FAIL;

    hFile = CreateFile(g_NameBuffer, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_FLAG_SEQUENTIAL_SCAN, NULL);
    if (hFile == INVALID_HANDLE_VALUE)
    {
        dprintf("[sync] failed at opening file: %d\n", GetLastError());
        return hRes;
    }

    if (!(CryptAcquireContext(&hCryptProv, NULL, NULL, PROV_RSA_FULL, CRYPT_VERIFYCONTEXT)))
    {
        dprintf("[sync] CryptAcquireContext failed\n");
        goto Exit;
    }

    if (!(CryptCreateHash(hCryptProv, CALG_MD5, NULL, NULL, &hHash)))
    {
        dprintf("[sync] CryptCreateHash failed\n");
        goto Exit;
    }

    while (bResult = ReadFile(hFile, buffer, BUFSIZE, &cbRead, NULL))
    {
        if (cbRead == 0)
            break;

        if (!(CryptHashData(hHash, buffer, cbRead, NULL)))
        {
            dprintf("[sync] CryptHashData failed\n");
            goto Exit;
        }
    }

    if (!bResult)
    {
        dprintf("[sync] ReadFile failed\n");
        goto Exit;
    }

    if (!(CryptGetHashParam(hHash, HP_HASHVAL, NULL, &cbHash, 0)))
    {
        dprintf("[sync] CryptGetHashParam failed\n");
        goto Exit;
    }

    pbHashData = (BYTE *) malloc(cbHash);
    if (pbHashData==NULL){
        dprintf("[sync] failed at allocate buffer: %d\n", GetLastError());
        goto Exit;
    }

    if (!(CryptGetHashParam(hHash, HP_HASHVAL, pbHashData, &cbHash, 0)))
    {
        dprintf("[sync] CryptGetHashParam failed\n");
        goto Exit;
    }

    hRes = ToHexString((const byte *)pbHashData, (unsigned int)cbHash, hexhash);

Exit:
    if (hFile)
        CloseHandle(hFile);
    if (pbHashData)
        free(pbHashData);
    if (hHash)
       CryptDestroyHash(hHash);
    if (hCryptProv)
       CryptReleaseContext(hCryptProv,0);

    return hRes;
}
Ejemplo n.º 23
0
std::string GLIB::GetAddress(unsigned int val)
{
  return ToHexString(val);
}
Ejemplo n.º 24
0
std::string GLIB::GetMask(unsigned int val)
{
  return ToHexString(val);
}
Ejemplo n.º 25
0
nsString
MediaKeyStatusMap::GetKeyIDAsHexString(uint32_t aIndex) const
{
  MOZ_ASSERT(aIndex < GetIterableLength());
  return NS_ConvertUTF8toUTF16(ToHexString(mStatuses[aIndex].mKeyId));
}