O documento descreve técnicas de patch de emergência em software, incluindo modificações de código em tempo de execução e carregamento dinâmico de bibliotecas para contornar problemas. É discutido o uso de ferramentas como WinDbg para depuração e correção de bugs sem reinicialização. Técnicas avançadas como threads remotas também são apresentadas.
La carrera de técnico radiólogo consiste en aplicar conocimientos adquiridos sobre equipos de radiología, anatomía y posicionamiento de pacientes para obtener imágenes que permitan realizar diagnósticos médicos. La formación incluye el manejo de equipos radiográficos, lectura de películas, normas de bioseguridad y habilidades para lograr imágenes de calidad considerando las limitaciones de cada paciente. El técnico radiólogo debe actualizarse constantemente debido a los avances tecnológicos en el á
Las botas son un tipo de calzado que cubre el pie y la parte inferior de la pierna. Suelen ser de cuero o material sintético y tienen suela gruesa para protección. Las botas son populares para actividades al aire libre como caminar, senderismo o trabajo.
The document discusses media marks schemes. It was written by Laura Pires and focuses on analyzing different marking schemes used for evaluating media coursework. In just a few sentences, the author examines how marks are allocated across various assessment criteria for media assignments and projects.
Materialization and design development mueseum and depot RotterdamNicholas Socrates
The document discusses the benefits of exercise for both physical and mental health. It notes that regular exercise can reduce the risk of diseases like heart disease and diabetes, improve mood, and reduce feelings of stress and anxiety. Staying active also helps maintain a healthy weight and keeps muscles, bones and joints healthy as we age.
O documento discute corrotinas, abordando considerações iniciais e finais sobre elas, além de explicar conceitos-chave como memória, processo, thread e pilha. Oferece também links para códigos de exemplo e contatos do autor.
La carrera de técnico radiólogo consiste en aplicar conocimientos adquiridos sobre equipos de radiología, anatomía y posicionamiento de pacientes para obtener imágenes que permitan realizar diagnósticos médicos. La formación incluye el manejo de equipos radiográficos, lectura de películas, normas de bioseguridad y habilidades para lograr imágenes de calidad considerando las limitaciones de cada paciente. El técnico radiólogo debe actualizarse constantemente debido a los avances tecnológicos en el á
Las botas son un tipo de calzado que cubre el pie y la parte inferior de la pierna. Suelen ser de cuero o material sintético y tienen suela gruesa para protección. Las botas son populares para actividades al aire libre como caminar, senderismo o trabajo.
The document discusses media marks schemes. It was written by Laura Pires and focuses on analyzing different marking schemes used for evaluating media coursework. In just a few sentences, the author examines how marks are allocated across various assessment criteria for media assignments and projects.
Materialization and design development mueseum and depot RotterdamNicholas Socrates
The document discusses the benefits of exercise for both physical and mental health. It notes that regular exercise can reduce the risk of diseases like heart disease and diabetes, improve mood, and reduce feelings of stress and anxiety. Staying active also helps maintain a healthy weight and keeps muscles, bones and joints healthy as we age.
O documento discute corrotinas, abordando considerações iniciais e finais sobre elas, além de explicar conceitos-chave como memória, processo, thread e pilha. Oferece também links para códigos de exemplo e contatos do autor.
O documento discute a arquitetura de Neumann e como o código é executado sob os panos, mencionando a pilha x86. Também recomenda ler o arquivo readme de um projeto no GitHub para obter mais detalhes sobre partes obscuras da execução do código.
1. A empresa oferece serviços de desenvolvimento de software para IPTV, indústrias, segurança da informação, embarcados, mobile e mercado financeiro.
2. Possui experiência em automação industrial, startups, Windows, Android e mercado financeiro.
3. Oferece serviços como desenvolvimento, revisão de código, performance, engenharia, integração e treinamentos.
This document discusses debugging tools for remote teams. It covers Symbol Servers, which allow accessing source code through a network location. It also covers Personal Symbol Servers, which allow hosting symbols and source code locally for debugging. The document demonstrates how to set up a Personal Symbol Source Server to stream source files from a PDB file to the debugger.
Antidebugging eu não quero que você mexa no meu códigoWanderley Caloni
Essa palestra é para desenvolvedores interessados em se proteger de atacantes que irão tentar analisar sua ferramenta depurando-a. Vamos explicar, conforme o tempo disponível, como funciona os seguintes ""ataques"" e suas defesas: - Depuração baseada em exceções. - Ocupando a DebugPort - Detectando attach
O documento discute os três passos principais da compilação de código C/C++: preprocessamento, compilação e linkedição. Primeiro, o preprocessador substitui macros e inclui arquivos de cabeçalho. Na compilação, o código fonte é verificado e convertido para código objeto. Por fim, na linkedição, os arquivos objeto e bibliotecas são ligados em um executável.
Este documento fornece uma introdução à engenharia reversa, descrevendo seus objetivos, onde é usada e os principais conhecimentos necessários, incluindo programação, sistemas operacionais e ferramentas. Ele discute conceitos básicos de programação, APIs, arquitetura, gerenciamento de memória e ferramentas como WinDbg, IDA e Process Monitor. O documento sugere tarefas como resolver problemas no sistema operacional e quebrar proteções de programas para aprendizado.
Como Não Desenvolver Pôquer Online ou Como Explorar a Pseudo-AleatoriedadeWanderley Caloni
Inspirado na análise de Laura Diane Hamilton, essa palestra irá caminhar rapidamente por todas as falhas encontradas por ela em um sistema de embaralhamento de cartas e demonstrar como explorar essas falhas.
Depurando até o fim do mundo: técnicas e truques de WinDbgWanderley Caloni
O documento discute técnicas e ferramentas de depuração como WinDbg, SOFTICE e DEBUG.COM, e como configurar depuração remota usando windbg.exe. Também menciona tópicos como segurança da informação, análise de trojans, mercado financeiro e depuração no mundo real.
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...Faga1939
Este artigo tem por objetivo apresentar como ocorreu a evolução do consumo e da produção de energia desde a pré-história até os tempos atuais, bem como propor o futuro da energia requerido para o mundo. Da pré-história até o século XVIII predominou o uso de fontes renováveis de energia como a madeira, o vento e a energia hidráulica. Do século XVIII até a era contemporânea, os combustíveis fósseis predominaram com o carvão e o petróleo, mas seu uso chegará ao fim provavelmente a partir do século XXI para evitar a mudança climática catastrófica global resultante de sua utilização ao emitir gases do efeito estufa responsáveis pelo aquecimento global. Com o fim da era dos combustíveis fósseis virá a era das fontes renováveis de energia quando prevalecerá a utilização da energia hidrelétrica, energia solar, energia eólica, energia das marés, energia das ondas, energia geotérmica, energia da biomassa e energia do hidrogênio. Não existem dúvidas de que as atividades humanas sobre a Terra provocam alterações no meio ambiente em que vivemos. Muitos destes impactos ambientais são provenientes da geração, manuseio e uso da energia com o uso de combustíveis fósseis. A principal razão para a existência desses impactos ambientais reside no fato de que o consumo mundial de energia primária proveniente de fontes não renováveis (petróleo, carvão, gás natural e nuclear) corresponde a aproximadamente 88% do total, cabendo apenas 12% às fontes renováveis. Independentemente das várias soluções que venham a ser adotadas para eliminar ou mitigar as causas do efeito estufa, a mais importante ação é, sem dúvidas, a adoção de medidas que contribuam para a eliminação ou redução do consumo de combustíveis fósseis na produção de energia, bem como para seu uso mais eficiente nos transportes, na indústria, na agropecuária e nas cidades (residências e comércio), haja vista que o uso e a produção de energia são responsáveis por 57% dos gases de estufa emitidos pela atividade humana. Neste sentido, é imprescindível a implantação de um sistema de energia sustentável no mundo. Em um sistema de energia sustentável, a matriz energética mundial só deveria contar com fontes de energia limpa e renováveis (hidroelétrica, solar, eólica, hidrogênio, geotérmica, das marés, das ondas e biomassa), não devendo contar, portanto, com o uso dos combustíveis fósseis (petróleo, carvão e gás natural).
Em um mundo cada vez mais digital, a segurança da informação tornou-se essencial para proteger dados pessoais e empresariais contra ameaças cibernéticas. Nesta apresentação, abordaremos os principais conceitos e práticas de segurança digital, incluindo o reconhecimento de ameaças comuns, como malware e phishing, e a implementação de medidas de proteção e mitigação para vazamento de senhas.
As classes de modelagem podem ser comparadas a moldes ou
formas que definem as características e os comportamentos dos
objetos criados a partir delas. Vale traçar um paralelo com o projeto de
um automóvel. Os engenheiros definem as medidas, a quantidade de
portas, a potência do motor, a localização do estepe, dentre outras
descrições necessárias para a fabricação de um veículo
Este certificado confirma que Gabriel de Mattos Faustino concluiu com sucesso um curso de 42 horas de Gestão Estratégica de TI - ITIL na Escola Virtual entre 19 de fevereiro de 2014 a 20 de fevereiro de 2014.
O documento discute a arquitetura de Neumann e como o código é executado sob os panos, mencionando a pilha x86. Também recomenda ler o arquivo readme de um projeto no GitHub para obter mais detalhes sobre partes obscuras da execução do código.
1. A empresa oferece serviços de desenvolvimento de software para IPTV, indústrias, segurança da informação, embarcados, mobile e mercado financeiro.
2. Possui experiência em automação industrial, startups, Windows, Android e mercado financeiro.
3. Oferece serviços como desenvolvimento, revisão de código, performance, engenharia, integração e treinamentos.
This document discusses debugging tools for remote teams. It covers Symbol Servers, which allow accessing source code through a network location. It also covers Personal Symbol Servers, which allow hosting symbols and source code locally for debugging. The document demonstrates how to set up a Personal Symbol Source Server to stream source files from a PDB file to the debugger.
Antidebugging eu não quero que você mexa no meu códigoWanderley Caloni
Essa palestra é para desenvolvedores interessados em se proteger de atacantes que irão tentar analisar sua ferramenta depurando-a. Vamos explicar, conforme o tempo disponível, como funciona os seguintes ""ataques"" e suas defesas: - Depuração baseada em exceções. - Ocupando a DebugPort - Detectando attach
O documento discute os três passos principais da compilação de código C/C++: preprocessamento, compilação e linkedição. Primeiro, o preprocessador substitui macros e inclui arquivos de cabeçalho. Na compilação, o código fonte é verificado e convertido para código objeto. Por fim, na linkedição, os arquivos objeto e bibliotecas são ligados em um executável.
Este documento fornece uma introdução à engenharia reversa, descrevendo seus objetivos, onde é usada e os principais conhecimentos necessários, incluindo programação, sistemas operacionais e ferramentas. Ele discute conceitos básicos de programação, APIs, arquitetura, gerenciamento de memória e ferramentas como WinDbg, IDA e Process Monitor. O documento sugere tarefas como resolver problemas no sistema operacional e quebrar proteções de programas para aprendizado.
Como Não Desenvolver Pôquer Online ou Como Explorar a Pseudo-AleatoriedadeWanderley Caloni
Inspirado na análise de Laura Diane Hamilton, essa palestra irá caminhar rapidamente por todas as falhas encontradas por ela em um sistema de embaralhamento de cartas e demonstrar como explorar essas falhas.
Depurando até o fim do mundo: técnicas e truques de WinDbgWanderley Caloni
O documento discute técnicas e ferramentas de depuração como WinDbg, SOFTICE e DEBUG.COM, e como configurar depuração remota usando windbg.exe. Também menciona tópicos como segurança da informação, análise de trojans, mercado financeiro e depuração no mundo real.
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...Faga1939
Este artigo tem por objetivo apresentar como ocorreu a evolução do consumo e da produção de energia desde a pré-história até os tempos atuais, bem como propor o futuro da energia requerido para o mundo. Da pré-história até o século XVIII predominou o uso de fontes renováveis de energia como a madeira, o vento e a energia hidráulica. Do século XVIII até a era contemporânea, os combustíveis fósseis predominaram com o carvão e o petróleo, mas seu uso chegará ao fim provavelmente a partir do século XXI para evitar a mudança climática catastrófica global resultante de sua utilização ao emitir gases do efeito estufa responsáveis pelo aquecimento global. Com o fim da era dos combustíveis fósseis virá a era das fontes renováveis de energia quando prevalecerá a utilização da energia hidrelétrica, energia solar, energia eólica, energia das marés, energia das ondas, energia geotérmica, energia da biomassa e energia do hidrogênio. Não existem dúvidas de que as atividades humanas sobre a Terra provocam alterações no meio ambiente em que vivemos. Muitos destes impactos ambientais são provenientes da geração, manuseio e uso da energia com o uso de combustíveis fósseis. A principal razão para a existência desses impactos ambientais reside no fato de que o consumo mundial de energia primária proveniente de fontes não renováveis (petróleo, carvão, gás natural e nuclear) corresponde a aproximadamente 88% do total, cabendo apenas 12% às fontes renováveis. Independentemente das várias soluções que venham a ser adotadas para eliminar ou mitigar as causas do efeito estufa, a mais importante ação é, sem dúvidas, a adoção de medidas que contribuam para a eliminação ou redução do consumo de combustíveis fósseis na produção de energia, bem como para seu uso mais eficiente nos transportes, na indústria, na agropecuária e nas cidades (residências e comércio), haja vista que o uso e a produção de energia são responsáveis por 57% dos gases de estufa emitidos pela atividade humana. Neste sentido, é imprescindível a implantação de um sistema de energia sustentável no mundo. Em um sistema de energia sustentável, a matriz energética mundial só deveria contar com fontes de energia limpa e renováveis (hidroelétrica, solar, eólica, hidrogênio, geotérmica, das marés, das ondas e biomassa), não devendo contar, portanto, com o uso dos combustíveis fósseis (petróleo, carvão e gás natural).
Em um mundo cada vez mais digital, a segurança da informação tornou-se essencial para proteger dados pessoais e empresariais contra ameaças cibernéticas. Nesta apresentação, abordaremos os principais conceitos e práticas de segurança digital, incluindo o reconhecimento de ameaças comuns, como malware e phishing, e a implementação de medidas de proteção e mitigação para vazamento de senhas.
As classes de modelagem podem ser comparadas a moldes ou
formas que definem as características e os comportamentos dos
objetos criados a partir delas. Vale traçar um paralelo com o projeto de
um automóvel. Os engenheiros definem as medidas, a quantidade de
portas, a potência do motor, a localização do estepe, dentre outras
descrições necessárias para a fabricação de um veículo
Este certificado confirma que Gabriel de Mattos Faustino concluiu com sucesso um curso de 42 horas de Gestão Estratégica de TI - ITIL na Escola Virtual entre 19 de fevereiro de 2014 a 20 de fevereiro de 2014.
2. wanderley at caloni at low level
• Programador entusiasta (Basic YES!): 1 ano
• C/C++ Maniac: 2 anos
• Segurança da Informação: 10 anos
• Mercado Financeiro: 1 ano
9. Patch de Emergência 3.0!!
Espaço de memória CS.exe Espaço de memória RmT.exe
CriticalService.exe RmThread.exe
LoadLibrary CreateRemoteThread
EvenOdd3.dll
10. Patch de Emergência
Técnicas testadas KMJ: Keep My Job
Técnicas documentadas
Técnicas automatizadas
Jumps incondicionais XGH: eXtreme
Go Horse Programming
Carregamento dinâmico de DLLs
Escrita de assembly live
12. Patch de Emergência 5.0!!
EvenOdd.dll EvenOdd.pdb
100100100
IsEven(int)
100100101
100100100 !!!
ON
(IsEvenUpdate*)(int)
TI
100100101
DIIsEvenUpdateReady
EE
100100100
bool
AT
100100101
TI M
UL
DbgHelp.lib
14. Dúvidas? Eu tenho várias.
e-mail
wanderley@caloni.com.br
twitter
saite
Notas do Editor
Quando o CriticalService é carregado tanto o EXE quanto a DLL EvenOdd compartilham o mesmo espaço de endereçamento. A tabela de importações do PE CriticalService.exe contém uma referência dentro da função DoProcess para a função IsEven que está localizada na DLL. No momento em que o loader/carregador do sistema operacional monta o espaço de memória para execução do processo ele faz essa ligação entre eles.
O que existe dentro da função IsEven compilada, como tudo em computação digital, são zeros e uns. Esses zeros e uns podem ser interpretados de diversas formas: binário, hexadecimal, string, double. O processador e o depurador (WinDbg) enxergam o que o compilador montou: uma sequência de instruções em assembly.
O que existe dentro da função IsEven compilada, como tudo em computação digital, são zeros e uns. Esses zeros e uns podem ser interpretados de diversas formas: binário, hexadecimal, string, double. O processador e o depurador (WinDbg) enxergam o que o compilador montou: uma sequência de instruções em assembly.
Depois que o processo é carregado e já está executando nada impede que uma nova DLL seja carregada em seu espaço de memória. A partir do carregamento de uma nova versão da mesma DLL podemos modificar as chamadas das funções que utilizam a versão original. Essa modificação é feita em memória apenas, mas podemos renomear as DLLs para que novas instâncias do mesmo processo já carreguem a DLL atualizada.
RmThread é um projeto de algumas décadas atrás que fiz para execução remota de código e que acabou virando um artigo no CodeProject.
A função da RmThread é simplesmente localizar o processo-alvo e obter um handle que permite com que ele possa criar uma thread remota com o ponto inicial na função API LoadLibrary, passando como parâmetro o endereço da nova DLL. Dessa forma a DLL atualizada pode ser carregada no espaço de memória do processo CriticalService.
Depois que o processo é carregado e já está executando nada impede que uma nova DLL seja carregada em seu espaço de memória. A partir do carregamento de uma nova versão da mesma DLL podemos modificar as chamadas das funções que utilizam a versão original. Essa modificação é feita em memória apenas, mas podemos renomear as DLLs para que novas instâncias do mesmo processo já carreguem a DLL atualizada.
Depois que o processo é carregado e já está executando nada impede que uma nova DLL seja carregada em seu espaço de memória. A partir do carregamento de uma nova versão da mesma DLL podemos modificar as chamadas das funções que utilizam a versão original. Essa modificação é feita em memória apenas, mas podemos renomear as DLLs para que novas instâncias do mesmo processo já carreguem a DLL atualizada.
Sem um dicionário, uma DLL e um EXE são apenas coleções de bits e bytes. A função de um arquivo PDB, ou arquivo de símbolos, é prover informações de tipos, objetos e funções para que o depurador consiga visualizar a localização de cada elemento de um arquivo binário.