-
Posts
89 -
Cadastrado em
-
Última visita
Tipo de conteúdo
Artigos
Selos
Fabricantes
Livros
Cursos
Análises
Fórum
posts postados por Gabe Grechuk
-
-
A maioria dos notebook desligam o display quando tem a tampa fechada, mesmo com as configurações de energia do windows em "Não fazer nada". É uma coisa do próprio hardware
Eu desconfio que como a tela está desligada, o Navegador antes de iniciar verifique as informações de saídas de vídeo e quando não encontra, acaba apresentando problemas
Tenta fazer o teste com algum monitor externo ligado ao notebook e com a tampa fechada
- 1
-
você deixou o seu HD antigo ligado na máquina ou ta rodando apenas com o SSD mesmo?
-
Ta aí uma desafio.
Essa config é bem fraquinha pra instalar um android e rodar netflix, por exemplo, então poderia tentar colocar algum linux para rodar em ARM, como um Arch Linux ou um Gentoo se você for mt tryhard, mas ainda assim não da pra fazer muita coisa com essa config e sem informações do hardware você n vai muito além de uma linha de comando
Mas eu dei uma olhadinha no manual dele, e parece ser bem completinho, toca vídeo, pega TV, da pra ler "e-books" (arquivos .txt, mas ta valendo). Talvez colocar alguns livros e alguns filmes em um cartão de memória já da uma função nova pra ele. Mas colocar outro sistema nele provavelmente não vai ficar do jeito que você gostaria
- 1
-
você já tem um PC ou ta montando um do zero?
-
A config tá ótima, mas essa placa-mãe é para processador intel
Eu recomendaria uma A320M, que ta na mesma faixa de preço que essa H310, ou então uma B450M que eu vi com umas promoções bem bacanas
-
Roda tranquilo
Mas seria interessante tu colocar a configuração completa do seu PC, aí da pra ver o que seria interessante dar um upgrade e melhorar tua experiência na jogatina ou trabalho
-
Se você estiver usando o Windows 10, pode atualizar os drivers direto pelo Windows Update. Se for algum bug de algum driver novo da AMD, instalar o driver WHQL direto pelo Windows resolveria o problema. Caso não resolva, aí pode ser algum outro problema relacionado a hardware ou configuração de vídeo
Convém também postar a configuração da máquina, se é notebook e se é o primeiro uso ou já usou o pc antes
-
Sim, a maioria desse tipo de ferramenta é criada através de engenharia reversa
Sempre existe um padrão comum que você espera encontrar em todos os sistemas operacionais, como controle de memória, administração de threads entre outras coisas que o computador precisa pra funcionar. Geralmente quando você vai tentar encontrar alguma vulnerabilidade, você já tem noção de como esse tipo de programa é criado e sabe onde provavelmente pode ter alguma brecha
Mas no caso do pegasus, ele une um pouco de duas coisas, ele exige que o usuário clique em algum link malicioso ou algo do tipo pra aí sim ele poder usar as falhas de segurança do dispositivo pra poder se instalar e ficar espionando
Inclusive, recomendo ficarem um pouco atentos aí porque parece que o governo brasileiro ta tentando comprar uma cópia para ficar espionando a população. Então você que é jornalista ou ativista critico do governo, fica meio espero com msg de texto, links e anúncios duvidosos
-
Hi dear @isvkt
I guess you are trying to use Win32, right?
Since Win32 is an event driven API, it will tell your program that the left mouse button was pressed with an event signal, witch you need to process with a Win32 event loop
Something like this:
#include <windows.h> int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) // This is the "main()" function in win32. { MSG msg; // Event structure that windows will send to you program (Mouse button down, close, resize etc). // Event loop will send all the messages to a callback function to be processed. while(GetMessage(&msg, NULL, 0, 0) > 0) { TranslateMessage(&msg); DispatchMessage(&msg); } return msg.wParam; // "main()" returns the event info. } // This is the callback function where you will process the events. LRESULT CALLBACK WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) switch(uMsg) { // The event is a mouse left button pressed. case WM_LBUTTONDOWN: { // Your code to move mouse cursor goes here. } break; default: // In case of any other event, let Windows process it. return (DefWindowProc(hWnd, uMsg, wParam, lParam)); break; } return 0; }
Hope this helps you
- 2
-
Boa noite @Clarice Paula
Análise de malware é uma área meio complicada mesmo de início, mas você precisa manter o foco em dar um passo de cada vez, e manter em mente que é um caminho bem longo pra trilhar. Mas nada impossível se você for persistente em aprender
Mas a minha dica é que você pratique, crie seus próprios malwares, assim você vai começar a perceber caminhos pelos quais os malwares se infiltram e quais falhas de segurança são mais fáceis de explorar
Also, da uma olhada nesse vídeo do Gabriel Pato se aventurando na análise de malware, é bem interessante ver como ele lida com o problema e encontra soluções
- 1
-
Boa noite meu caro @Dérick Soares
Pelo que eu entendi, o enunciado pede para você implementar um loop que pegue as informações dos empregados 15x e execute alguns cálculos com essas informações. Mas a solução parece que não foi bem escrita ou ta faltando um pedaço dela
Se fosse eu resolvendo esse exercício, eu faria com um loop for, no lugar de um do..wile
#include <stdio.h> #include <stdio.h> #include <stdlib.h> int main(){ for(int i = 0; i < 15; i++) { // Declarando as variáveis dentro do loop, pois assim você limita o escopo delas // para essa interação do loop apenas, garantindo que você não vai ta usando lixo // resultante das execuções anteriores e gerar resultados errados para os calculos. float salbruto, salliquido, imposto, totbruto=0, totliquido=0, totimposto=0; printf("Digite o salario bruto: "); scanf("%f", &salbruto); if (salbruto > 999) imposto = salbruto * 0.10; else if (salbruto > 1999) imposto = salbruto * 0.15; else if (salbruto > 9999) imposto = salbruto * 0.20; else if (salbruto > 99999) imposto = salbruto * 0.25; else imposto = salbruto * 0.30; salliquido = salbruto - imposto; printf("Salario liquido: %.2f \n", salliquido); totbruto = totbruto + salbruto; totliquido = totliquido + salliquido; totimposto = totimposto + imposto; printf ("-------------------------------\n"); printf ("Total salario bruto : %.2f \n",totbruto); printf ("Total salario liquido : %.2f \n",totliquido); printf ("Total imposto : %.2f \n",totimposto); printf("\n\n"); } return 0; }
Dentro do próprio loop for a gente já declara a variável de controle, a condição de saída do loop e o incremento da variável de controle
Mas como você disse que precisa escrever o código com do..while, eu escreveria ele assim:
#include <stdio.h> #include <stdio.h> #include <stdlib.h> int main(){ int contador = 0; // Variável para controlar a saída do loop. do { float salbruto, salliquido, imposto, totbruto=0, totliquido=0, totimposto=0; printf("Digite o salario bruto: "); scanf("%f", &salbruto); if (salbruto > 999) imposto = salbruto * 0.10; else if (salbruto > 1999) imposto = salbruto * 0.15; else if (salbruto > 9999) imposto = salbruto * 0.20; else if (salbruto > 99999) imposto = salbruto * 0.25; else imposto = salbruto * 0.30; salliquido = salbruto - imposto; printf("Salario liquido: %.2f \n", salliquido); totbruto = totbruto + salbruto; totliquido = totliquido + salliquido; totimposto = totimposto + imposto; printf ("-------------------------------\n"); printf ("Total salario bruto : %.2f \n",totbruto); printf ("Total salario liquido : %.2f \n",totliquido); printf ("Total imposto : %.2f \n",totimposto); printf("\n\n"); contador++; // Aqui a gente incrementa a variável de controle. } while(contador < 15); // Todo laço do..while precisa dessa declaração while no final. // É ela que especifica qual a condição de saída do loop. // O seu código não ta compilando pois na sua implementação ela // ta faltando. return 0; }
Mas como você parece ser iniciante, ta tendo um pouco de dificuldade com loops. Isso é normal, controle de fluxo é perrengue assim mesmo no começo ksksksks
Da uma olhada nesse link aqui que ele explica certinho cada tipo de loop e você vai conseguir se situar melhor quando precisar implementar mais um desses
- 1
- 1
-
@Rogresão Rodrigues Costa você não esta conseguindo usar o system("pause") porque está faltando importar a biblioteca padrão do C para permitir você se comunicar com o sistema. Tenta escrever ele assim:
#include <stdlib.h> // Essa bilioteca para poder roda comandos no sistema operaciomal como system("pause"). #include <stdio.h> int main() { float raio, perimetro; double Pi = 3.1415927, area; printf("Introduza o raio da circunferencia: "); scanf("%f", &raio); area = Pi * raio * raio; perimetro = 2 * Pi * raio; printf("Area = %f\nperimetro = %f\n", area, perimetro); system("pause"); }
- 1
-
@Jenny0102 Nesse caso vale a pena usar o Windows mesmo, ele no geral sabe qual driver usar e geralmente é um driver testado e validado pela WHQL. Assim que terminar de formatar, abre o Windows update e coloca ele pra atualizar, geralmente ele busca tudo o que precisa e instala automaticamente
13 minutos atrás, Jenny0102 disse:E sobre o driver de barramento, eu não sei qual é esse
Não é nem sobre o driver de barramento, é só pra confirmar se todos os drivers estavam instalados. As vezes algum driver instalado errado ou defeituoso acaba interferindo em outros componentes, como os gráficos
Quando terminar de formatar, da um feedback pra saber se deu certo ou não
-
Realmente é uma coisa rara de se acontecer
Consegue me dizer o modelo do processador qual sistema operacional você esta usando?
você sabe me informar se baixou todos os drivers do seu notebook que não fossem estritamente relacionados aos gráficos, como drivers de barramento etc? E se baixou, foi direto do site da fabricante ou pelo Windows Update?
-
[RESOLVIDO]
Finalmente consegui resolver o problema do positivo sem necessidade de usar o cartão de memoria
O problema estava numa configuração na BIOS que impedia o computador de escrever na memória interna
Pra resolver é um seguinte. Entra na BIOS e navega:
Chipset > South Bridge > LPSS & SCC Configuration > eMMC Write Protect Muda de [Enabled] para [Disabled] Salva e reinicia
E já pode formatar o notebook normalmente
- 1
-
@wagner2029 Verdade, estou fortemente inclinado a deixa pra lá e entregar de volta pro cliente
-
É uma pergunta interessante. Não sou muito entendido do assunto, mas posso correr atrás de algumas referencias se quiser se aprofundar e também posso te ajudar a entender pelo menos a lógica do processo
Não sei se você entende de computador, mas é valido considerar a placa de um controle como um pequeno computadorzinho: ele possui alimentação, memória, um processador e armazenamento. Tudo bem condensado e junto, com o objetivo interpretar os botões do controle, por exemplo
O processador do controle -- pode ser um chip ou um micro controlador --, assim como seu computador, roda um determinado conjunto de instruções básicas que são os códigos Assembly, representados por um monte de 0 e 1. A função do compilador é converter o código de C++ para assembly. Para entender o processo, vale entender as diferenças de um código C++ pra um código Assembly:
- Código C++ é uma forma de você dizer o que ao compilador o que você quer que instrua a máquina a fazer, e isso te dá liberdade de usar formas mais sofisticadas e confortáveis de arquitetar seu programa, usando recursos como variáveis para reservar espaços na memória, funções para poder dividir seu código em pequenas partes, orientação a objetos para separar cada funcionalidade em um objeto e fazer eles trocarem informações etc.
- Já o Assembly, é você dizendo ao processador exatamente o que quer que ele faça, passo a passo.
Veja o exemplo da diferença de um pseudo código entre C++ e assembly para somar os números 50 e 25.
// Em C++ int resultado = 50 + 25;
E o compilador vai converte-lo para algo parecido com isso:
; Em Assembly mov ax, 32h ; Coloca o valor 50 em hexadecimal (32) no registrador de memoria AX. mov bx, 19h ; Coloca o valor 25 em hexadecimal (19) no registrador de memoria BX. add ax, bx ; Soma os valores
O código Aassembly é a ultima camada entre você e o processador em sí. Cada instrução vai ser convertido diretamente para o seu equivalente em código de máquina, se quiser, pode escrever manualmente, tipo, o mesmo exemplo acima poderia ser escrito como
B0 32 ; Coloca o valor 50 no AX. 88 19 ; Coloca o valor 25 no BX. 05 ; Soma valores
*Na real, isso aqui é só pra ilustrar, a instruções variam de acordo com a arquitetura e o chip e posso ter errado na implementação também ksks.
Que no final, vai ser escrito em uma fileira de bits eu o processador vai poder entender tranquilamente, como no exemplo
10110000 00110010 ; Grava 50 no AX. 10001000 00011001 ; Grava 25 no BX. 00000101 ; Soma.
Aí essas instruções vão ser guardadas na memória da plaquinha como
1011000000110010100010000001100100000101
Sempre que a plaquinha for ligada, ela vai ler essa fileira de 0 e 1 e fazer a soma de 50 e 25. Rodando o código que você escreveu em C++, que foi convertido e guardado na memoria dela
Nada de muito complicado, é só meio difícil de entender no começo, mas se você for programar, vai se acostuma com o tempo
- 2
-
@wagner2029 Usar pelo usb é uma boa ideia, mas ainda assim, é meio arriscado. O nunca se sabe o que um cliente vai fazer ksks
@Adriel SG Vou dar uma olhada como funciona o firmware do Raspiberry, talvez eu encontre algo que possa me ajudar
- 1
-
Boa tarde pessoal. Estou com um problema bastante peculiar e específico
Estou prestando assistência em um notebook Positivo Motion Q (Esse aqui da foto do anexo). O objetivo era formata-lo, porém, o a memória interna dele está com algum defeito: não é possível realizar escrita de nenhuma forma. Nem um único byte em nenhum setor se quer. Então tiver a ideia de instalar o sistema operacional dentro de um cartão SD. Seria uma solução perfeita, sem ter um pendrive trambolho atrapalhando a movimentação e sem risco de retira-lo com o notebook ainda funcionando. Porém, o notebook não reconhece o Cartão na BIOS para dar boot
Posteriormente, consegui iniciar o computador pelo shell EFI, onde eu pude fazer alguns testes e tentar encontrar a imagem de inicialização do meu sistema dentro do SD e iniciar manualmente, e não foi surpresa nenhuma perceber que o Firmware do notebook não reconhece a mídia. Creio que o suporte ao cartão SD seja possível apenas possível através de drivers instalados no sistema operacional
Dada essa situação, qual seria a melhor maneira de prosseguir?
Tive a ideia maluca de utilizar um script criado para rodar dentro do shell EFI, para ser possível carregar um bootloader e um kernel (provavelmente Linux, da mesma forma que é feito com o initrd) na memória RAM, assim seria possível utilizar ele para o notebook reconhecer o Cartão SD e iniciar o sistema operacional. Mas o problema é: como eu poderia fazer isso, se não há formas de manter essas informações dentro da memória interna do notebook
Existe alguma jeito de salvar alguma coisa ou script dentro do Firmware (BIOS) do notebook ou algo do tipo? Existe alguma outra solução para esse problema?
desde já agradeço pela ajuda
-
Bom dia pessoal
Eu gostaria de saber como eu posso encontrar materiais voltados a eletrônica. Tudo o que encontro na web sobre são cursos duvidosos; os materiais efetivamente são muito escassos, não consigo encontrar livros ou apostilas sobre o assunto.
Gostaria da ajuda de vocês nesse quesito
desde já, agradeço
-
A primeira coisa a ver é se o vs code ta conseguindo executar o compilador
Abre um terminal no windows (iniciar > cmd [enter]) e digita
gcc --version
se ele retornar a versão do compilador, significa que está tudo configurado no path do sistema e o problema está na configuração do VS Code
Se retornar que não é um comando ou programa, você vai precisar rever os path do sistema pra ajeitar tudo certinho
- 1
-
@rodrigo.dcvieira realmente, eu não estava considerando o fato de hds serem efetivamente lentos, mas pelo que você disse, é algo que eu deveria prestar mais atenção, e de quebra, ainda prestar atenção na transferência de arquivos pequenos
muito obrigado pela sua resposta!
Aliás, você teria algum material pra me ajudar a me aprofundar melhor nisso?
-
Olá a todos
Eu trabalho com TI há algum tempo, e ainda tenho dificuldade em analisar a saúde de um Disco Rígido, muitas vezes as informações do S.M.A.R.T. dizem que o HD está ok e os benchmarks que realizo o dão como excelentes para armazenar e transferir arquivos. Porém, quando tento formatar ele e colocar um Windows, por exemplo, sempre acaba ficando uma porcaria.
Gostaria de pedir ajuda com essa questão; como faço para determinar se um HD está apto para rodar um sistema operacional de forma satisfatória, ou os casos em que não é possível usa-lo para rodar um SO, mas pode ser utilizado tranquilamente apenas para armazenar arquivos
desde já, agradeço a atenção! :D
-
Opa, tudo bom?
Acho que o seu principal erro foi na declaração da variável v_imc. O calculo só deve ser feito depois que o usuário entrou os valores. O fato de aparecer sempre o ultimo else se da ao fato de que as variáveis v_altura e v_peso não fora iniciadas, logo estão recebendo lixo de memória como entrada. Assim, como o v_imc está sendo calculado logo depois das variáveis estarem sendo declaradas, o resultado dele também vai ser lixo de memória
#include <stdio.h> #include <stdlib.h> /* Dei uma alterada na indentação pra melhorar a legibilidade do código, espero que não se incomode */ int main() /* Main sempre deve ter algum valor de retorno */ { /* Iniciei todos os valores com 0, para não ficarem com lixo como valor */ float v_altura = 0.0; float v_peso = 0.0; float v_imc = 0.0; printf("\n\nEste e um programa para medir seu IMC, vamos la ?\n\n"); printf("Primeiro insira a sua altura EX: 1.80.\n\n"); scanf("%f",&v_altura); printf("\n\nOtimo, agora insira seu peso EX: 78,6.\n\n"); scanf("%f",&v_peso); printf("\n\nCalculando..\n\n"); v_imc = (v_altura*v_altura)/v_peso; /* O calculo será feito só depois que os valores já foram entrados pelo usuário*/ printf("Prontinho, seu IMC e de: %.2f\n\n\n",v_imc); printf("Tabela IMC:\n\nAbaixo de 17 \tMuito abaixo do peso\nEntre 17 e 18,49 \tAbaixo do peso\nEntre 18,5 e 24,99 \tPeso normal\nEntre 25 e 29,99 \tAcima do peso\nEntre 30 e 34,99 \tObesidade I\nEntre 35 e 39,99 \tObesidade II (severa)\nAcima de 40 \tObesidade III (morbida)\n\n\n"); /* Tomei a liberdade de colocar as chaves nos if/elses, melhora a legibilidade. */ if (v_imc < 17) { printf("\n\nVoce esta muito abaixo do peso, contate um profissional de nutricao.\n\n"); } else if ((v_imc > 17 ) || (v_imc < 18.49)) { printf("\n\nVoce esta abaixo do peso ideal, contate um profissional de nutricao.\n\n"); } else if ((v_imc > 18.5) || (v_imc < 24.99)) { printf("\n\nVoce esta no peso normal para sua altura.\n\n"); } else if ((v_imc > 25) || (v_imc < 29.99)) { printf("\n\nVoce esta acima do peso, contate um profissional de nutricao.\n\n"); } else { printf("\n\nVoce esta muito acima do peso, contate um profissional de nutricao.\n\n"); } system("pause"); return 0; /* Execução bem sucedida. Retornando 0 para a função main() */ }
Espero ter ajudado
Sobre o Clube do Hardware
No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais
Direitos autorais
Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais
Inicialização do Windows demorando 6 minutos com SSD
em HD, SSD e NAS
Postado
@AlissonCFS O Windows geralmente espera resposta de todos os dispositivos SATA para iniciar, se eu HD estiver com defeito ou com um tempo alto de resposta ele deixa seu pc lento, mesmo sem o sistema estar nele
Tenta iniciar o seu PC com seu HD antigo desconectado pra ver se melhora