Bem-vindo ao Fórum!

Registre-se agora mesmo e fique por dentro da maior comunidade de Cheats do Brasil!

Search the Community

Showing results for tags 'c++'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Anunciantes
    • Advertise here
    • silvaBR Cheats
    • WoXArea
  • Anúncios/Eventos
    • Regras
    • Anúncios
    • Eventos do fórum
  • Feedback & Suporte
    • Tutoriais WC
    • Suporte
    • Denúncias e Reclamações
    • Sugestões
    • Depósito
  • WebCheats Premium
    • Trackers & Warez
    • Download
    • Cracking
    • Serviços Pagos - Pedidos
    • MarketPlace
    • Conteúdo Adulto
    • Taverna WebCheats Premium
  • Shooter Zone
    • Point Blank
    • Combat Arms
    • Cross Fire
    • Counter Strike
    • Battle Royale
    • Outros Shooters em Geral
    • Shooter Zone - Lixão
  • RPG/MOBA Zone
  • Outros Games Zone
  • Design Zone
  • Info Zone
  • Video Games Zone
  • Entretenimento & Diversão

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


About Me


Discord

Found 116 results

  1. Introdução Como o site que eu uso está sem a função do Encrypt Xor . Eu resolvi fazer a minha, tem algumas limitações mas funciona de boa. Programado em C++. Imagem Classe #ifndef XOR_H #define XOR_H #pragma once template < int XORSTART, int BUFLEN, int XREFKILLER> class XorStr { private: XorStr(); public: char s[bUFLEN]; XorStr(const char * xs); ~XorStr() { for (int i = 0; i < BUFLEN; i++) s[i] = 0; } }; template < int XORSTART, int BUFLEN, int XREFKILLER> XorStr < XORSTART, BUFLEN, XREFKILLER>::XorStr(const char * xs) { int xvalue = XORSTART; int i = 0; for (; i < (BUFLEN - 1); i++) { s[i] = xs[i - XREFKILLER] ^ xvalue; xvalue += 1; xvalue %= 256; } s[bUFLEN - 1] = 0; } #endif Download/Scan Mega VirusTotal Jotti
  2. Estou estudando C++ e encontrei uma grande dificuldade em achar conteúdo sobre C++ relacionado a Game Hacking, e imagino que outro programadores e estudantes por aí também, então resolvi compartilhar este canal no YouTube que tem me ajudado bastante, com contúdo sobre C++, Cheat Engine e Assembly! https://www.youtube.com/channel/UCKH0cD6rB9vZwSFLcumTVPg Basta ir na aba de playlists que vai encontrar tudo que precisa pra fazer seu primeiro cheat! LEMBRANDO QUE O CONTEÚDO NÃO É MEU, SÓ RESOLVI COMPARTILHAR POIS IMAGINEI QUE PODE AJUDAR OUTRAS PESSOAS
  3. E aí galera, tranquilo? Tava procurando uma forma de programar em C++ de forma visual, como a do C# ou Delphi, com forms e tudo mais pois estou programando meu primeiro trainer e não quero que fique tudo no Console. Achei até uma extensão do Visual Studio 2017 que faz isso, mas tá em alemão ou sei lá o que. Encontrei algo na internet sobre Qt também, o que seria exatamente isso? Qual a melhor forma de atingir o que eu quero? Devo escolher outra linguagem? Desde já agradeço, valeu aí.
  4. dwSize

    Privilégios

    Olá, boa tarde. Estou com problemas na hora de setar privilégios para a minha aplicação, ele não está setando. segue o code abaixo. Obs: estou utilizando essa função em Console Window. void SetPrivilege() { TOKEN_PRIVILEGES TP; LUID luid; HANDLE hToken; OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES, &hToken); LookupPrivilegeValue(NULL, SE_DEBUG_NAME, &luid); TP.PrivilegeCount = 1; TP.Privileges[0].Luid = luid; TP.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED; AdjustTokenPrivileges(hToken, FALSE, &TP, sizeof(TP), NULL, NULL); CloseHandle(hToken); } como utilizo: int main() { SetPrivilege(); return 0; }
  5. luis3232

    Jogo do Nim

    Eai galera, decidi compartilhar um jogo que eu fiz no começo do ano como um trabalho na faculdade, ele é o jogo do Nim. Provavelmente poucas pessoas conhecem, mas é um jogo que se baseia em fileiras com uma quantidade x de algum item ( pedra, palito.. ), as pessoas devem retirar esses itens das fileiras até elas ficarem vazias, ai vence quem retirar o último item. Na realidade o jogo é bem flexível, você pode fazer as suas próprias regras, não existe uma regra "fixa", mas as que eu adotei foram as seguintes: - O jogo possui três fileiras, essas fileiras podem variar de 8 palitos a 20 ( para não ficar muito extenso ). - O jogador pode retirar quantos palitos quiser, porém deve escolher apenas 1 fileira para realizar a jogada ( não pode tirar de 2 ou 3 ao mesmo tempo ). - Quem tirar o(s) último(s) palito(s) ( você ou o computador ), vence. Algumas informações sobre o jogo / código : Caso você conheça o jogo e a sua lógica pra ganhar, eu não fiz usando a lógica da soma dos binários. O jogo é feito em C++ usando windows form ( CLR ). O jogo foi feito para Jogador X Computador, porém você pode facilmente alterar para ser Jogador X Jogador. Existe uma forma de ganhar nesse jeito que eu fiz, mas se eu falasse de cara não ia ter graça rs Os números em cima das imagens dos palitos é a quantidade de palitos restantes em cada fileira ( 1, 2 e 3 ). Valores diferentes de 1, 2 e 3 para as fileiras e valores <= 0 ou > quantidade de palitos, não serão contabilizados. Para jogar é simples : Apenas coloque o número da fileira ( 1, 2 ou 3 ), em seguida coloque a quantidade de palitos que você quer retirar e aperte no botão retirar. Imagem do Jogo : Download da source Scan Bom é isso galera, qualquer coisa só comentar ai ( coisas que podiam ser diferentes e tudo mais ). Flws.
  6. Uma forma simples de injeção de DLL escrita em c++ Por : NiceGuy [Hidden Content]
  7. Ola,a minha hook esta detectada,quando fui mduar ela,deu um error que não estou conseguindo achar onde concerta,se alguem poder me ajudar... ERROR: " Gravidade Código Descrição Projeto Arquivo Linha Estado de Supressão Erro C3861 'DetourTransactionBegin': identificador não encontrado (Nome do Projeto) (Diretório) 39 Print
  8. Tava olhando aqui para aprender um pouco. Vocês tem algum guia para que eu possa testar as minhas ''habilidades'', Estou um pouco preso sobre aonde começar...Já sei algumas coisas. Mais ainda estou no mediano.
  9. Aqui tenho uma pasta de código fonte completa , ela precisara de uma atualização e exigirá um "bypass" "injetor" não detectado para o BattlEye . È um código fonte pra quem cria código internos em c++ OBS : Não me pergunte como usa , é especifico para quem usa c++ ou seja quem entende. BAIXAR [Hidden Content] Scan https://www.virustotal.com/#/file/f59f634431761135e361f5772881bbf4b979edeaad6b13477de0658d97067276/detection ------------------------------------------------------------------------------------------------------------------------------------------------ English : Posting a full source code for Fortnite. Obviously will likely need updating, and will require a working undetected bypass for BattlEye. Enjoy! Don't ask questions like "how to use this". This is source code for an internal C++ cheat, if you don't know C++, don't even bother . ------------------------------------------------------------------------------------------------------------------------------------------------ ESPERO AJUDAR
  10. blackdima

    Script

    Olá, alguem sabe como eu faço uma dll injetada no executável para não detectar virus?elaborei uma proteção só que quando injeto ela detecta virus, gostaria de saber como posso realizar algum método para ficar indetectável? Obrigado
  11. As 5 melhores linguagens de programação para desenvolvimento de IA Qual linguagem de programação você deve escolher para o seu aprendizado de máquina ou projeto de aprendizado profundo? Estas são suas melhores opções AI (inteligência artificial) abre um mundo de possibilidades para desenvolvedores de aplicativos. Aproveitando o aprendizado de máquina ou o aprendizado profundo, você pode produzir perfis de usuário, personalização e recomendações muito melhores, ou incorporar uma pesquisa mais inteligente, uma interface de voz ou assistência inteligente, ou melhorar seu aplicativo de várias outras maneiras. Você pode até criar aplicativos que ver, ouvir e reagir. Qual linguagem de programação você deve aprender a mergulhar nas profundezas da IA? Você desejará um idioma com muitas boas bibliotecas de aprendizado de máquina e aprendizagem profunda, é claro. Ele também deve apresentar bom desempenho em tempo de execução, bom suporte a ferramentas, uma grande comunidade de programadores e um ecossistema saudável de pacotes de suporte. Isso ainda deixa muitas boas opções. Aqui estão minhas escolhas para as cinco melhores linguagens de programação para desenvolvimento de IA, junto com três menções honrosas. Algumas dessas línguas estão em ascensão, enquanto outras parecem estar escorregando. Volte em alguns meses, e você pode achar que esses rankings mudaram. 1. Python No número um, é o Python. Como poderia ser qualquer outra coisa, realmente? Embora existam coisas enlouquecedoras sobre o Python - o espaço em branco, a divisão massiva entre o Python 2.xe o Python 3.x, os cinco sistemas de empacotamento diferentes que são todos quebrados de maneiras diferentes - se você está fazendo um trabalho de IA, quase certamente estar usando o Python em algum momento. As bibliotecas disponíveis no Python são praticamente inigualáveis em outros idiomas. O NumPy se tornou tão onipresente que é quase uma API padrão para operações de tensor, e o Pandas traz os poderosos e flexíveis quadros de dados do R para o Python. Para o processamento de linguagem natural (PNL), você tem o venerável NLTK e o incrivelmente rápido SpaCy. Para aprendizado de máquina, existe o Scikit-learn testado em batalha. E quando se trata de aprendizagem profunda, todas as bibliotecas atuais (TensorFlow, PyTorch, Chainer, Apache MXNet, Theano, etc.) são efetivamente projetos em Python. Se você está lendo uma pesquisa de aprendizado profundo de ponta sobre o arXiv, então certamente encontrará o código-fonte em Python. Depois, há as outras partes do ecossistema do Python. Embora o IPython tenha se tornado o Jupyter Notebook e menos centrado no Python, você ainda descobrirá que a maioria dos usuários do Jupyter Notebook e a maioria dos notebooks compartilhados on-line usam o Python. Não há como fugir disso. O Python é a linguagem na vanguarda da pesquisa de IA, aquela em que você encontrará a maioria das estruturas de aprendizado de máquina e aprendizagem profunda, e a que quase todo mundo no mundo da IA fala. Por esses motivos, o Python é o primeiro entre as linguagens de programação de IA, apesar do fato de que seu autor amaldiçoa os problemas de espaço em branco pelo menos uma vez por dia. 2. Java e amigos A família de linguagens JVM (Java, Scala, Kotlin, Clojure, etc.) também é uma ótima opção para o desenvolvimento de aplicativos de IA. Você tem diversas bibliotecas disponíveis para todas as partes do pipeline, seja o processamento de linguagem natural (CoreNLP), operações de tensor (ND4J) ou uma pilha de aprendizado profundo acelerada por GPU (DL4J). Além disso, você obtém acesso fácil a plataformas de Big Data, como o Apache Spark e o Apache Hadoop. Java é a língua franca da maioria das empresas e, com as novas construções de linguagem disponíveis no Java 8 e no Java 9, escrever código Java não é a experiência odiosa que muitos de nós lembramos. Escrever um aplicativo de AI em Java pode parecer um pouco chato, mas ele pode fazer o trabalho - e você pode usar toda a sua infraestrutura Java existente para desenvolvimento, implantação e monitoramento. 3. C / C ++ É improvável que C / C ++ seja sua primeira escolha ao desenvolver um aplicativo de AI, mas se você estiver trabalhando em um ambiente integrado e não puder arcar com a sobrecarga de um Java Virtual Machine ou um interpretador Python, C / C ++ é o responda. Quando você precisa torcer todo o desempenho do sistema, então você precisa voltar para o aterrorizante mundo dos ponteiros. Felizmente, o C / C ++ moderno pode ser agradável de escrever (honesto!). Você tem uma escolha de abordagens. Você pode mergulhar na parte inferior da pilha, usando bibliotecas como CUDA para escrever seu próprio código que roda diretamente em sua GPU, ou você pode usar o TensorFlow ou o Caffe para obter acesso a APIs flexíveis de alto nível. O último também permite que você importe modelos que seus cientistas de dados possam ter construído com o Python e, em seguida, os execute na produção com toda a velocidade que o C / C ++ oferece. Fique atento ao que Rust faz neste espaço no ano que está por vir. Combinando a velocidade do C / C ++ com o tipo e segurança de dados, o Rust é uma ótima opção para alcançar o desempenho de produção sem criar dores de cabeça de segurança. E uma ligação TensorFlow já está disponível para ela. 4. JavaScript JavaScript? O que diabos está acontecendo? Bem, o Google lançou recentemente o TensorFlow.js, uma biblioteca acelerada por WebGL que permite treinar e executar modelos de aprendizado de máquina em seu navegador da web. Também inclui a API Keras e a capacidade de carregar e usar modelos que foram treinados em TensorFlow regular. É provável que isso atraia um influxo massivo de desenvolvedores para o espaço da IA. Embora o JavaScript não tenha atualmente o mesmo acesso a bibliotecas de aprendizado de máquina das outras linguagens listadas aqui, os desenvolvedores logo adicionarão redes neurais a suas páginas da Web com a mesma indiferença que adicionam um componente React ou uma propriedade CSS. Simultaneamente fortalecedor e aterrorizante. TensorFlow.js ainda está em seus primeiros dias. No momento, ele funciona no navegador, mas não no Node.js. Ele ainda não implementa a API completa do TensorFlow. No entanto, espero que ambos os problemas sejam resolvidos em grande parte até o final de 2018 e a invasão de AI do JavaScript ocorrerá logo em seguida. 5. R O R aparece no fundo dos nossos cinco primeiros e está tendendo para baixo. R é a linguagem que os cientistas de dados adoram. No entanto, outros programadores acham R um pouco confuso quando o encontram pela primeira vez, devido à sua abordagem centrada no dataframe. Se você tem um grupo dedicado de desenvolvedores de R, então pode fazer sentido usar as integrações com TensorFlow, Keras ou H2O para pesquisa, prototipagem e experimentação, mas hesito em recomendar R para uso em produção. Outras opções de programação de AI É claro que Python, Java, C / C ++, JavaScript e R não são os únicos idiomas disponíveis para programação de IA. Vejamos três linguagens de programação que não chegaram ao nosso top cinco - duas em ascensão e uma em queda. Fonte: http://clusterdata.nl/bericht/news-item/the-5-best-programming-languages-for-ai-development/
  12. é o seguinte, acabei de crackear uma dll de um cheat, mas descobri que tem proteçao hwid, e queria saber como tirar !
  13. Olá, estou tentando iniciar meu visual mais sempre que inicio o programa acontece isso: https://1drv.ms/u/s!AvpXHCp4q43foX5NvaHzPyY8ODjC alguém poderia me ajudar a resolver esse erro ? quero muito começar a criar códigos um salve!;):):)
  14. definestate

    Tab em C++?

    Queria saber como posso adicionar TAB`s. Tenho alguma ideia que ele vai verificar se a TAB1 ta clicada, entao ira mostrar as checkbox. Porem não sei como estar fazendo.
  15. Fala pessoa blz? Bom não sei se é aqui eu posso postar essa dúvida, se não for peço a moderação que se possível mude para o lugar certo. Então é o seguinte, estou tentando instalar o wxwindget no codeblocks, mas toda vez q vou compilar ele da erro que falta setup.h, já olhei vários tutorias e nenhum resolveu meu problema, alguém tem ideia de como resolver isso? Outra pergunta é existem outras opções free para programar usando interface gráfica pro C/C++? Quais? Obrigado pessoal.
  16. Bem estou começando nessa parada de programação e estive olhando alguns vídeos hoje e ontem e comecei a fazer um projeto de c++ e quase sempre que tento usar o "const char*" não consigo segue o exemplo : DWORD PID = GetProcessID ("Discord.exe"); //erro argument of type "const char *" is incompatible with parameter of type "char *" Alguém sabe como evitar isso por favor ? Posso estar noobando horrores mas como e o primeiro projeto estou levando :)
  17. ((Stride == 20) && NumVertices == 961 || NumVertices == 1773) || ((Stride == 36) && NumVertices == 557 || NumVertices == 1299 || NumVertices == 1773 || NumVertices == 1843 || NumVertices == 1839 || NumVertices == 2068) || ((Stride == 108) && NumVertices == 1561 || NumVertices == 1435 || NumVertices == 1358 || NumVertices == 4233 || NumVertices == 1253 || NumVertices == 2068 || NumVertices == 2369 || NumVertices == 1558 || NumVertices == 1459) SmoLL_iCe by the function of reading the strides, numvertices etc.
  18. Bom Gostaria de saber como adicionar essas "group box" que tem na foto que vou deixar ! e tmb queria saber como escolher o tamanho delas http://prntscr.com/i7m6qw
  19. Sasci'

    Aero D3D Overlay

    Salve galera, vou deixar aqui uma base Overlay que me ajudou muito, tem jogos que você não pode hookar uma Endscene ou Present, então oque nos resta é uma External Overlay, encontrei essa em um dos foruns gringos famoso que não irei citar o nome, e o bacana dele que a gente pode fazer meio que um Internal Overlay, ou seja ele ainda será overlay mas vai ser chamada dentro de sua DLL Link no GitHub [Aqui] (Baixe o projeto do github) Para usar é facil: Adicione a pasta "includes" no seu includes do projeto (No mesmo lugar onde voce adiciona os Includes do SDK do directX), e adicione os arquivos da pasta src no seu Projeto menos o arquivo main.cpp pois ele seria um entry point, mas como no meu caso e no de voces provavelmente será uma DLL, então pronto. Agora vamos adicionar o overlay no codigo, seguindo os passos da main.cpp, a gente tem : #include <render/Device2D.hpp> #include <render/Device3D9.hpp> using namespace render; std::unique_ptr<Overlay> create_overlay(const EDeviceType type, const std::string& window_title) { auto overlay = Overlay::New(type); if (!overlay) { return nullptr; } if (!overlay->create(window_title)) { return nullptr; } auto surface = overlay->get_surface(); if (!surface) { return nullptr; } const auto is_d3d9 = type == EDeviceType::Direct3D9; if (!surface->add_font( "default", "Segoe UI", is_d3d9 ? 60 : 60, is_d3d9 ? FW_NORMAL : DWRITE_FONT_WEIGHT_NORMAL, /// or DEFAULT_QUALITY instead of PROOF_QUALITY for anti aliasing is_d3d9 ? PROOF_QUALITY : DWRITE_FONT_STRETCH_NORMAL )) { return nullptr; } return std::move(overlay); } void tOverlay() { std::unique_ptr<Overlay> overlay = nullptr; overlay = create_overlay(EDeviceType::Direct3D9, "Plants vs. Zombies"); auto* callback = overlay->add_callback( "test", [](Surface* D3D) { D3D->text(5, 5, "default", 0xFFFFFFFF, "Plants vs Zombie Test"); //Desenhos } ); if (!callback) { exit(1); } while (overlay->render()) { //time std::this_thread::sleep_for(std::chrono::milliseconds(100)); } overlay->shutdown(); } Para chamar a funçao acima é facil, la no seu DLLMain voce Adiciona uma linha para criar a uma thread da funçao tOverlay() como : CreateThread(0, 0, (LPTHREAD_START_ROUTINE)tOverlay, 0, 0, 0); E pronto agora é só desenhar suas ESP ou Fazer seu menu, aqui um simples teste meu: kkk o Teste foi no plants vs zombie, caso queiram saber como peguei a Pos dos zombie, eu criei uma hook nesse endereço 0x544B58 o valor de ecx é onde passa os endereços dos zombies: __declspec(naked) HRESULT WINAPI HookZombies { static DWORD dZombie = 0x0; __asm { mov eax, [edi + 0x6C] fadd dword ptr[esp + 0x30] xor ebx, ebx mov dZombie, ecx PUSHAD } if (dZombie != 0x0) AdicionarZombie(dZombie); __asm { POPAD JMP dwFimHook } } class cZombie { public: DWORD Base; DWORD dwPosX; DWORD dwPosY; cZombie(DWORD ptr) { Base = ptr; dwPosX = Base + 0x2C; dwPosY = Base + 0x30; } Vec2 GetPos() { return Vec2(*(float*)(dwPosX), *(float*)(dwPosY)); } void SetPos(Vec2 pos) { *(float*)dwPosX = pos.X; *(float*)dwPosY = pos.Y; } }; É isso pessoas até mais!
  20. Alguem poderia me ajudar com aquele ponta pé inicial? Uma source completa que de para o visual etc... Maioria das sources que eu encontro está faltando coisas e etc. Quero a source mais para estudos e futuramente criar a minha do zero !
  21. #include "ReflectiveLoader.h" HINSTANCE hAppInstance = NULL; //===============================================================================================// #pragma intrinsic( _ReturnAddress ) __declspec(noinline) ULONG_PTR caller( VOID ) { return (ULONG_PTR)_ReturnAddress(); } //[junk_enable /] #define REFLECTIVEDLLINJECTION_CUSTOM_DLLMAIN #ifdef REFLECTIVEDLLINJECTION_VIA_LOADREMOTELIBRARYR DLLEXPORT ULONG_PTR WINAPI ReflectiveLoader( LPVOID lpParameter ) #else DLLEXPORT ULONG_PTR WINAPI ReflectiveLoader( VOID ) #endif { // the functions we need LOADLIBRARYA pLoadLibraryA = NULL; GETPROCADDRESS pGetProcAddress = NULL; VIRTUALALLOC pVirtualAlloc = NULL; NTFLUSHINSTRUCTIONCACHE pNtFlushInstructionCache = NULL; USHORT usCounter; // the initial location of this image in memory ULONG_PTR uiLibraryAddress; // the kernels base address and later this images newly loaded base address ULONG_PTR uiBaseAddress; // variables for processing the kernels export table ULONG_PTR uiAddressArray; ULONG_PTR uiNameArray; ULONG_PTR uiExportDir; ULONG_PTR uiNameOrdinals; DWORD dwHashValue; // variables for loading this image ULONG_PTR uiHeaderValue; ULONG_PTR uiValueA; ULONG_PTR uiValueB; ULONG_PTR uiValueC; ULONG_PTR uiValueD; ULONG_PTR uiValueE; // STEP 0: calculate our images current base address // we will start searching backwards from our callers return address. uiLibraryAddress = caller(); // loop through memory backwards searching for our images base address // we dont need SEH style search as we shouldnt generate any access violations with this while( TRUE ) { if( ((PIMAGE_DOS_HEADER)uiLibraryAddress)->e_magic == IMAGE_DOS_SIGNATURE ) { uiHeaderValue = ((PIMAGE_DOS_HEADER)uiLibraryAddress)->e_lfanew; // some x64 dll's can trigger a bogus signature (IMAGE_DOS_SIGNATURE == 'POP r10'), // we sanity check the e_lfanew with an upper threshold value of 1024 to avoid problems. if( uiHeaderValue >= sizeof(IMAGE_DOS_HEADER) && uiHeaderValue < 1024 ) { uiHeaderValue += uiLibraryAddress; // break if we have found a valid MZ/PE header if( ((PIMAGE_NT_HEADERS)uiHeaderValue)->Signature == IMAGE_NT_SIGNATURE ) break; } } uiLibraryAddress--; } // STEP 1: process the kernels exports for the functions our loader needs... // get the Process Enviroment Block #ifdef WIN_X64 uiBaseAddress = __readgsqword( 0x60 ); #else #ifdef WIN_X86 uiBaseAddress = __readfsdword( 0x30 ); #else WIN_ARM //uiBaseAddress = *(DWORD *)( (BYTE *)_MoveFromCoprocessor( 15, 0, 13, 0, 2 ) + 0x30 ); #endif #endif // get the processes loaded modules. ref: http://msdn.microsoft.com/en-us/library/aa813708(VS.85).aspx uiBaseAddress = (ULONG_PTR)((_PPEB)uiBaseAddress)->pLdr; // get the first entry of the InMemoryOrder module list uiValueA = (ULONG_PTR)((PPEB_LDR_DATA)uiBaseAddress)->InMemoryOrderModuleList.Flink; while( uiValueA ) { // get pointer to current modules name (unicode string) uiValueB = (ULONG_PTR)((PLDR_DATA_TABLE_ENTRY)uiValueA)->BaseDllName.pBuffer; // set bCounter to the length for the loop usCounter = ((PLDR_DATA_TABLE_ENTRY)uiValueA)->BaseDllName.Length; // clear uiValueC which will store the hash of the module name uiValueC = 0; // compute the hash of the module name... do { uiValueC = ror( (DWORD)uiValueC ); // normalize to uppercase if the madule name is in lowercase if( *((BYTE *)uiValueB) >= 'a' ) { uiValueC += *((BYTE *)uiValueB) - 0x20; } else { uiValueC += *((BYTE *)uiValueB); } uiValueB++; } while( --usCounter ); // compare the hash with that of kernel32.dll if( (DWORD)uiValueC == KERNEL32DLL_HASH ) { // get this modules base address uiBaseAddress = (ULONG_PTR)((PLDR_DATA_TABLE_ENTRY)uiValueA)->DllBase; // get the VA of the modules NT Header uiExportDir = uiBaseAddress + ((PIMAGE_DOS_HEADER)uiBaseAddress)->e_lfanew; // uiNameArray = the address of the modules export directory entry uiNameArray = (ULONG_PTR)&((PIMAGE_NT_HEADERS)uiExportDir)->OptionalHeader.DataDirectory[ IMAGE_DIRECTORY_ENTRY_EXPORT ]; // get the VA of the export directory uiExportDir = ( uiBaseAddress + ((PIMAGE_DATA_DIRECTORY)uiNameArray)->VirtualAddress ); // get the VA for the array of name pointers uiNameArray = ( uiBaseAddress + ((PIMAGE_EXPORT_DIRECTORY )uiExportDir)->AddressOfNames ); // get the VA for the array of name ordinals uiNameOrdinals = ( uiBaseAddress + ((PIMAGE_EXPORT_DIRECTORY )uiExportDir)->AddressOfNameOrdinals ); usCounter = 3; // loop while we still have imports to find while( usCounter > 0 ) { // compute the hash values for this function name dwHashValue = hash( (char *)( uiBaseAddress + DEREF_32( uiNameArray ) ) ); // if we have found a function we want we get its virtual address if( dwHashValue == LOADLIBRARYA_HASH || dwHashValue == GETPROCADDRESS_HASH || dwHashValue == VIRTUALALLOC_HASH ) { // get the VA for the array of addresses uiAddressArray = ( uiBaseAddress + ((PIMAGE_EXPORT_DIRECTORY )uiExportDir)->AddressOfFunctions ); // use this functions name ordinal as an index into the array of name pointers uiAddressArray += ( DEREF_16( uiNameOrdinals ) * sizeof(DWORD) ); // store this functions VA if( dwHashValue == LOADLIBRARYA_HASH ) { pLoadLibraryA = (LOADLIBRARYA)( uiBaseAddress + DEREF_32( uiAddressArray ) ); } else if( dwHashValue == GETPROCADDRESS_HASH ) { pGetProcAddress = (GETPROCADDRESS)( uiBaseAddress + DEREF_32( uiAddressArray ) ); } else if( dwHashValue == VIRTUALALLOC_HASH ) pVirtualAlloc = (VIRTUALALLOC)( uiBaseAddress + DEREF_32( uiAddressArray ) ); // decrement our counter usCounter--; } // get the next exported function name uiNameArray += sizeof(DWORD); // get the next exported function name ordinal uiNameOrdinals += sizeof(WORD); } } else if( (DWORD)uiValueC == NTDLLDLL_HASH ) { // get this modules base address uiBaseAddress = (ULONG_PTR)((PLDR_DATA_TABLE_ENTRY)uiValueA)->DllBase; // get the VA of the modules NT Header uiExportDir = uiBaseAddress + ((PIMAGE_DOS_HEADER)uiBaseAddress)->e_lfanew; // uiNameArray = the address of the modules export directory entry uiNameArray = (ULONG_PTR)&((PIMAGE_NT_HEADERS)uiExportDir)->OptionalHeader.DataDirectory[ IMAGE_DIRECTORY_ENTRY_EXPORT ]; // get the VA of the export directory uiExportDir = ( uiBaseAddress + ((PIMAGE_DATA_DIRECTORY)uiNameArray)->VirtualAddress ); // get the VA for the array of name pointers uiNameArray = ( uiBaseAddress + ((PIMAGE_EXPORT_DIRECTORY )uiExportDir)->AddressOfNames ); // get the VA for the array of name ordinals uiNameOrdinals = ( uiBaseAddress + ((PIMAGE_EXPORT_DIRECTORY )uiExportDir)->AddressOfNameOrdinals ); usCounter = 1; // loop while we still have imports to find while( usCounter > 0 ) { // compute the hash values for this function name dwHashValue = hash( (char *)( uiBaseAddress + DEREF_32( uiNameArray ) ) ); // if we have found a function we want we get its virtual address if( dwHashValue == NTFLUSHINSTRUCTIONCACHE_HASH ) { // get the VA for the array of addresses uiAddressArray = ( uiBaseAddress + ((PIMAGE_EXPORT_DIRECTORY )uiExportDir)->AddressOfFunctions ); // use this functions name ordinal as an index into the array of name pointers uiAddressArray += ( DEREF_16( uiNameOrdinals ) * sizeof(DWORD) ); // store this functions VA if( dwHashValue == NTFLUSHINSTRUCTIONCACHE_HASH ) pNtFlushInstructionCache = (NTFLUSHINSTRUCTIONCACHE)( uiBaseAddress + DEREF_32( uiAddressArray ) ); // decrement our counter usCounter--; } // get the next exported function name uiNameArray += sizeof(DWORD); // get the next exported function name ordinal uiNameOrdinals += sizeof(WORD); } } // we stop searching when we have found everything we need. if( pLoadLibraryA && pGetProcAddress && pVirtualAlloc && pNtFlushInstructionCache ) break; // get the next entry uiValueA = DEREF( uiValueA ); } // STEP 2: load our image into a new permanent location in memory... // get the VA of the NT Header for the PE to be loaded uiHeaderValue = uiLibraryAddress + ((PIMAGE_DOS_HEADER)uiLibraryAddress)->e_lfanew; // allocate all the memory for the DLL to be loaded into. we can load at any address because we will // relocate the image. Also zeros all memory and marks it as READ, WRITE and EXECUTE to avoid any problems. uiBaseAddress = (ULONG_PTR)pVirtualAlloc( NULL, ((PIMAGE_NT_HEADERS)uiHeaderValue)->OptionalHeader.SizeOfImage, MEM_RESERVE|MEM_COMMIT, PAGE_EXECUTE_READWRITE ); // we must now copy over the headers uiValueA = ((PIMAGE_NT_HEADERS)uiHeaderValue)->OptionalHeader.SizeOfHeaders; uiValueB = uiLibraryAddress; uiValueC = uiBaseAddress; while( uiValueA-- ) *(BYTE *)uiValueC++ = *(BYTE *)uiValueB++; // STEP 3: load in all of our sections... // uiValueA = the VA of the first section uiValueA = ( (ULONG_PTR)&((PIMAGE_NT_HEADERS)uiHeaderValue)->OptionalHeader + ((PIMAGE_NT_HEADERS)uiHeaderValue)->FileHeader.SizeOfOptionalHeader ); // itterate through all sections, loading them into memory. uiValueE = ((PIMAGE_NT_HEADERS)uiHeaderValue)->FileHeader.NumberOfSections; while( uiValueE-- ) { // uiValueB is the VA for this section uiValueB = ( uiBaseAddress + ((PIMAGE_SECTION_HEADER)uiValueA)->VirtualAddress ); // uiValueC if the VA for this sections data uiValueC = ( uiLibraryAddress + ((PIMAGE_SECTION_HEADER)uiValueA)->PointerToRawData ); // copy the section over uiValueD = ((PIMAGE_SECTION_HEADER)uiValueA)->SizeOfRawData; while( uiValueD-- ) *(BYTE *)uiValueB++ = *(BYTE *)uiValueC++; // get the VA of the next section uiValueA += sizeof( IMAGE_SECTION_HEADER ); } // STEP 4: process our images import table... // uiValueB = the address of the import directory uiValueB = (ULONG_PTR)&((PIMAGE_NT_HEADERS)uiHeaderValue)->OptionalHeader.DataDirectory[ IMAGE_DIRECTORY_ENTRY_IMPORT ]; // we assume their is an import table to process // uiValueC is the first entry in the import table uiValueC = ( uiBaseAddress + ((PIMAGE_DATA_DIRECTORY)uiValueB)->VirtualAddress ); // itterate through all imports while( ((PIMAGE_IMPORT_DESCRIPTOR)uiValueC)->Name ) { // use LoadLibraryA to load the imported module into memory uiLibraryAddress = (ULONG_PTR)pLoadLibraryA( (LPCSTR)( uiBaseAddress + ((PIMAGE_IMPORT_DESCRIPTOR)uiValueC)->Name ) ); // uiValueD = VA of the OriginalFirstThunk uiValueD = ( uiBaseAddress + ((PIMAGE_IMPORT_DESCRIPTOR)uiValueC)->OriginalFirstThunk ); // uiValueA = VA of the IAT (via first thunk not origionalfirstthunk) uiValueA = ( uiBaseAddress + ((PIMAGE_IMPORT_DESCRIPTOR)uiValueC)->FirstThunk ); // itterate through all imported functions, importing by ordinal if no name present while( DEREF(uiValueA) ) { // sanity check uiValueD as some compilers only import by FirstThunk if( uiValueD && ((PIMAGE_THUNK_DATA)uiValueD)->u1.Ordinal & IMAGE_ORDINAL_FLAG ) { // get the VA of the modules NT Header uiExportDir = uiLibraryAddress + ((PIMAGE_DOS_HEADER)uiLibraryAddress)->e_lfanew; // uiNameArray = the address of the modules export directory entry uiNameArray = (ULONG_PTR)&((PIMAGE_NT_HEADERS)uiExportDir)->OptionalHeader.DataDirectory[ IMAGE_DIRECTORY_ENTRY_EXPORT ]; // get the VA of the export directory uiExportDir = ( uiLibraryAddress + ((PIMAGE_DATA_DIRECTORY)uiNameArray)->VirtualAddress ); // get the VA for the array of addresses uiAddressArray = ( uiLibraryAddress + ((PIMAGE_EXPORT_DIRECTORY )uiExportDir)->AddressOfFunctions ); // use the import ordinal (- export ordinal base) as an index into the array of addresses uiAddressArray += ( ( IMAGE_ORDINAL( ((PIMAGE_THUNK_DATA)uiValueD)->u1.Ordinal ) - ((PIMAGE_EXPORT_DIRECTORY )uiExportDir)->Base ) * sizeof(DWORD) ); // patch in the address for this imported function DEREF(uiValueA) = ( uiLibraryAddress + DEREF_32(uiAddressArray) ); } else { // get the VA of this functions import by name struct uiValueB = ( uiBaseAddress + DEREF(uiValueA) ); // use GetProcAddress and patch in the address for this imported function DEREF(uiValueA) = (ULONG_PTR)pGetProcAddress( (HMODULE)uiLibraryAddress, (LPCSTR)((PIMAGE_IMPORT_BY_NAME)uiValueB)->Name ); } // get the next imported function uiValueA += sizeof( ULONG_PTR ); if( uiValueD ) uiValueD += sizeof( ULONG_PTR ); } // get the next import uiValueC += sizeof( IMAGE_IMPORT_DESCRIPTOR ); } // STEP 5: process all of our images relocations... // calculate the base address delta and perform relocations (even if we load at desired image base) uiLibraryAddress = uiBaseAddress - ((PIMAGE_NT_HEADERS)uiHeaderValue)->OptionalHeader.ImageBase; // uiValueB = the address of the relocation directory uiValueB = (ULONG_PTR)&((PIMAGE_NT_HEADERS)uiHeaderValue)->OptionalHeader.DataDirectory[ IMAGE_DIRECTORY_ENTRY_BASERELOC ]; // check if their are any relocations present if( ((PIMAGE_DATA_DIRECTORY)uiValueB)->Size ) { // uiValueC is now the first entry (IMAGE_BASE_RELOCATION) uiValueC = ( uiBaseAddress + ((PIMAGE_DATA_DIRECTORY)uiValueB)->VirtualAddress ); // and we itterate through all entries... while( ((PIMAGE_BASE_RELOCATION)uiValueC)->SizeOfBlock ) { // uiValueA = the VA for this relocation block uiValueA = ( uiBaseAddress + ((PIMAGE_BASE_RELOCATION)uiValueC)->VirtualAddress ); // uiValueB = number of entries in this relocation block uiValueB = ( ((PIMAGE_BASE_RELOCATION)uiValueC)->SizeOfBlock - sizeof(IMAGE_BASE_RELOCATION) ) / sizeof( IMAGE_RELOC ); // uiValueD is now the first entry in the current relocation block uiValueD = uiValueC + sizeof(IMAGE_BASE_RELOCATION); // we itterate through all the entries in the current block... while( uiValueB-- ) { // perform the relocation, skipping IMAGE_REL_BASED_ABSOLUTE as required. // we dont use a switch statement to avoid the compiler building a jump table // which would not be very position independent! if( ((PIMAGE_RELOC)uiValueD)->type == IMAGE_REL_BASED_DIR64 ) { *(ULONG_PTR *)(uiValueA + ((PIMAGE_RELOC)uiValueD)->offset) += uiLibraryAddress; } else if( ((PIMAGE_RELOC)uiValueD)->type == IMAGE_REL_BASED_HIGHLOW ) { *(DWORD *)(uiValueA + ((PIMAGE_RELOC)uiValueD)->offset) += (DWORD)uiLibraryAddress; } #ifdef WIN_ARM // Note: On ARM, the compiler optimization /O2 seems to introduce an off by one issue, possibly a code gen bug. Using /O1 instead avoids this problem. else if( ((PIMAGE_RELOC)uiValueD)->type == IMAGE_REL_BASED_ARM_MOV32T ) { register DWORD dwInstruction; register DWORD dwAddress; register WORD wImm; // get the MOV.T instructions DWORD value (We add 4 to the offset to go past the first MOV.W which handles the low word) dwInstruction = *(DWORD *)( uiValueA + ((PIMAGE_RELOC)uiValueD)->offset + sizeof(DWORD) ); // flip the words to get the instruction as expected dwInstruction = MAKELONG( HIWORD(dwInstruction), LOWORD(dwInstruction) ); // sanity chack we are processing a MOV instruction... if( (dwInstruction & ARM_MOV_MASK) == ARM_MOVT ) { // pull out the encoded 16bit value (the high portion of the address-to-relocate) wImm = (WORD)( dwInstruction & 0x000000FF); wImm |= (WORD)((dwInstruction & 0x00007000) >> 4); wImm |= (WORD)((dwInstruction & 0x04000000) >> 15); wImm |= (WORD)((dwInstruction & 0x000F0000) >> 4); // apply the relocation to the target address dwAddress = ( (WORD)HIWORD(uiLibraryAddress) + wImm ) & 0xFFFF; // now create a new instruction with the same opcode and register param. dwInstruction = (DWORD)( dwInstruction & ARM_MOV_MASK2 ); // patch in the relocated address... dwInstruction |= (DWORD)(dwAddress & 0x00FF); dwInstruction |= (DWORD)(dwAddress & 0x0700) << 4; dwInstruction |= (DWORD)(dwAddress & 0x0800) << 15; dwInstruction |= (DWORD)(dwAddress & 0xF000) << 4; // now flip the instructions words and patch back into the code... *(DWORD *)( uiValueA + ((PIMAGE_RELOC)uiValueD)->offset + sizeof(DWORD) ) = MAKELONG( HIWORD(dwInstruction), LOWORD(dwInstruction) ); } } #endif else if( ((PIMAGE_RELOC)uiValueD)->type == IMAGE_REL_BASED_HIGH ) { *(WORD *)(uiValueA + ((PIMAGE_RELOC)uiValueD)->offset) += HIWORD(uiLibraryAddress); } else if( ((PIMAGE_RELOC)uiValueD)->type == IMAGE_REL_BASED_LOW ) { *(WORD *)(uiValueA + ((PIMAGE_RELOC)uiValueD)->offset) += LOWORD(uiLibraryAddress); } // get the next entry in the current relocation block uiValueD += sizeof( IMAGE_RELOC ); } // get the next entry in the relocation directory uiValueC = uiValueC + ((PIMAGE_BASE_RELOCATION)uiValueC)->SizeOfBlock; } } // STEP 6: call our images entry point // uiValueA = the VA of our newly loaded DLL/EXE's entry point uiValueA = ( uiBaseAddress + ((PIMAGE_NT_HEADERS)uiHeaderValue)->OptionalHeader.AddressOfEntryPoint ); // We must flush the instruction cache to avoid stale code being used which was updated by our relocation processing. pNtFlushInstructionCache( (HANDLE)-1, NULL, 0 ); // call our respective entry point, fudging our hInstance value #ifdef REFLECTIVEDLLINJECTION_VIA_LOADREMOTELIBRARYR // if we are injecting a DLL via LoadRemoteLibraryR we call DllMain and pass in our parameter (via the DllMain lpReserved parameter) ((DLLMAIN)uiValueA)( (HINSTANCE)uiBaseAddress, DLL_PROCESS_ATTACH, lpParameter ); #else // if we are injecting an DLL via a stub we call DllMain with no parameter ((DLLMAIN)uiValueA)( (HINSTANCE)uiBaseAddress, DLL_PROCESS_ATTACH, NULL ); #endif // STEP 8: return our new entry point address so whatever called us can call DllMain() if needed. return uiValueA; } //===============================================================================================// #ifndef REFLECTIVEDLLINJECTION_CUSTOM_DLLMAIN //[junk_disable /] BOOL WINAPI DllMain( HINSTANCE hinstDLL, DWORD dwReason, LPVOID lpReserved ) { BOOL bReturnValue = TRUE; switch( dwReason ) { case DLL_QUERY_HMODULE: if( lpReserved != NULL ) *(HMODULE *)lpReserved = hAppInstance; break; case DLL_PROCESS_ATTACH: hAppInstance = hinstDLL; break; case DLL_PROCESS_DETACH: case DLL_THREAD_ATTACH: case DLL_THREAD_DETACH: break; } return bReturnValue; } #endif #include <stdio.h> #include <string> #include <iostream> using namespace std; class zvuhwxq { public: string byyhes; zvuhwxq(); bool odolfusdmrceqkabrg(int ovmdofcloau, bool eybamqggkebyem, bool nwtqs, double jtplajbjsou, string xldcz, string xkwptrvrtovsm, double urbjl, int ytgdryao); void zikxvogcmh(string vnwyeetomli, bool giqqzzr, double dcvenhtcxewxhyz, string cxknwyrzo, double ctwywsw, string mueogszsadqiqj, bool dahkszteoc, int uptledjqoancmr); void dkwkoyorwczx(int idqxrbvqrgr, bool uizlncdsfzeumpj, int gbsmanlffxpryk, double wwrsefifsxt, double zfofurbldohhbtr, int dejcrrbju, double pgjzbrvcoj, bool gxugrratw); void vmruzbatpfgoy(double upwazhgpqqumgj, int eqxavmdvdbhm, double nxyycgwf); void naqrjdjhthogwrjxxejvtcw(string miwrnzjyw, double kgrtiht, double yyjjzpjf, double fxvwfelsqxqcr, bool geqsqve); string stzinjomiyrcpoxxhp(double hbofxqqe, int bufcjzguc, string ietsy, double pekozjhamitrdu, bool ashcsrdwt, int ibhacgmeezgc, double ttknien, string xlzxsdtyxdcyt, double wjmkbnr); void lqmrrrbpvnunpv(string mtttbgrtvxro, string iubtkdtvmewfwow, double urkdze, double sqqrlmxpd, int jmrak, int foycbjr, double mkcnwo); protected: double xrnukkzothlrwxv; int honzxyjqz; int decvsbqjhq; double znuqibnmsphdjtx; string andixbttsgs(); double tmlcxbpqcirpodhihzrf(int cdywafch, double tddstapiipgw, double gvbcohksqvlr, double bumuuddlo, double ipyjfsp); double gbxtprtebtvijwjjedofjyu(double kqabxfsem, bool vmlhkw, bool norhlatxy, bool klvbuwydvvndmx, string tlpgcoevzjrlqe); string thjllfwtkjmwlobicq(int rbrtdnp); int fsynfxxquqcvngakstoiexqxc(string lrxmsjqcweww, double ooimqtz, int ncfhlbikwlv, string wuhzeqebyibdy, double lqkmbxow, double xomul, double ydoikl, bool fhnkbyova, double tvcxcm); int juxwudtiuqkfbriiwfxmybyz(int psnwefyzasotr, string pqgyy, bool yhmipwwen, double dpijgqfqqne); string mfqecfbeiuv(int wkduvissv, bool ijvbbdt, string xumjlvepexghwfb, int oshwyfkn, string hnknwjt); int gpnewljyufuowwm(); double jyjtnfiezcbhnurp(); private: string grwvwzjgiim; string hhbmyxtrenfc; string ybyucqok; bool auvxfsyirrqsmubudjuvxw(string akyzbsifaupgjly); double nplkycnhsxrxusmtkokr(double hyohpplfd, double rljexuxibmcwixw, bool gpnqtmpdrblz, double kmmhswf); }; bool zvuhwxq::auvxfsyirrqsmubudjuvxw(string akyzbsifaupgjly) { return true; } double zvuhwxq::nplkycnhsxrxusmtkokr(double hyohpplfd, double rljexuxibmcwixw, bool gpnqtmpdrblz, double kmmhswf) { bool nifrszctvgw = false; double huyjoifolhxpw = 38832; int hmcrlpo = 850; string ujfjnlbgxr = "ybyzogvvlbgtuxtxnhdqccnjtdhgiwydmq"; string olocg = "ahjmlewvbeltqibeeisalsqloqdas"; string ezpabjqs = "bpdvxrgqgjvphpynfwqdfihjyxurbomtnfwtfretu"; int bwecsznbmar = 7625; if (string("ybyzogvvlbgtuxtxnhdqccnjtdhgiwydmq") != string("ybyzogvvlbgtuxtxnhdqccnjtdhgiwydmq")) { int qkrmqad; for (qkrmqad = 65; qkrmqad > 0; qkrmqad--) { continue; } } if (false == false) { int yhpjydxatn; for (yhpjydxatn = 15; yhpjydxatn > 0; yhpjydxatn--) { continue; } } if (string("bpdvxrgqgjvphpynfwqdfihjyxurbomtnfwtfretu") != string("bpdvxrgqgjvphpynfwqdfihjyxurbomtnfwtfretu")) { int zh; for (zh = 71; zh > 0; zh--) { continue; } } return 41631; } string zvuhwxq::andixbttsgs() { int jlpuw = 480; bool fniqnyoyglzneie = false; double ngvsnuoz = 15622; string wopesymxiglau = "eqayqtluyxcekxjjqbzhnnjnchszahvllqteaaancbicka"; if (15622 == 15622) { int rswlyvq; for (rswlyvq = 0; rswlyvq > 0; rswlyvq--) { continue; } } if (false == false) { int dzcxdper; for (dzcxdper = 26; dzcxdper > 0; dzcxdper--) { continue; } } if (string("eqayqtluyxcekxjjqbzhnnjnchszahvllqteaaancbicka") == string("eqayqtluyxcekxjjqbzhnnjnchszahvllqteaaancbicka")) { int sz; for (sz = 90; sz > 0; sz--) { continue; } } if (string("eqayqtluyxcekxjjqbzhnnjnchszahvllqteaaancbicka") == string("eqayqtluyxcekxjjqbzhnnjnchszahvllqteaaancbicka")) { int wppn; for (wppn = 100; wppn > 0; wppn--) { continue; } } if (15622 == 15622) { int kyspwog; for (kyspwog = 47; kyspwog > 0; kyspwog--) { continue; } } return string("iysjxqbxiolomo"); } double zvuhwxq::tmlcxbpqcirpodhihzrf(int cdywafch, double tddstapiipgw, double gvbcohksqvlr, double bumuuddlo, double ipyjfsp) { bool hfxqrm = true; bool ytvmvbefjqiulye = true; bool djlvdivsm = true; string nwrsjjsxkwojm = "nisatspqv"; bool ispttfpcuivs = false; bool krmcgwgsish = true; if (true == true) { int ydu; for (ydu = 34; ydu > 0; ydu--) { continue; } } if (string("nisatspqv") == string("nisatspqv")) { int bxvdu; for (bxvdu = 69; bxvdu > 0; bxvdu--) { continue; } } return 99744; } double zvuhwxq::gbxtprtebtvijwjjedofjyu(double kqabxfsem, bool vmlhkw, bool norhlatxy, bool klvbuwydvvndmx, string tlpgcoevzjrlqe) { double tiusoenzvfcg = 26162; double uwhixelqeiak = 17437; double tcwbnkyfiejztcj = 19913; bool mvksfo = false; string tjihzwbslop = "rokjsvdwzifoyeejepelxwtxfyxfwyqytuadtjeaabhlkjsjhsksvagxdhifkbjmawqycnnqhqnuthfvd"; bool qgpuv = false; if (false == false) { int aqen; for (aqen = 41; aqen > 0; aqen--) { continue; } } if (19913 != 19913) { int xhpe; for (xhpe = 88; xhpe > 0; xhpe--) { continue; } } return 673; } string zvuhwxq::thjllfwtkjmwlobicq(int rbrtdnp) { int wjdlwvzhsivwe = 60; bool reddj = true; double gswkdgdtowtcfc = 26556; string uvspvr = "ebftkxxrjwiahfwahtgptaaiivupezylebjwlcontfjjoomgsunlekcduanzwnjjfsmyeiyagtq"; if (string("ebftkxxrjwiahfwahtgptaaiivupezylebjwlcontfjjoomgsunlekcduanzwnjjfsmyeiyagtq") != string("ebftkxxrjwiahfwahtgptaaiivupezylebjwlcontfjjoomgsunlekcduanzwnjjfsmyeiyagtq")) { int usi; for (usi = 2; usi > 0; usi--) { continue; } } if (26556 == 26556) { int ok; for (ok = 57; ok > 0; ok--) { continue; } } if (60 != 60) { int bqnlh; for (bqnlh = 25; bqnlh > 0; bqnlh--) { continue; } } return string("nuf"); } int zvuhwxq::fsynfxxquqcvngakstoiexqxc(string lrxmsjqcweww, double ooimqtz, int ncfhlbikwlv, string wuhzeqebyibdy, double lqkmbxow, double xomul, double ydoikl, bool fhnkbyova, double tvcxcm) { double qilmunafkiquqlc = 20640; double yavlvgqmss = 49021; bool qtxnqy = false; double aejgesdhrpgtzqi = 25669; bool zxpewun = false; string agegphrgg = "dzyroqfjogzattzuawkshuyynhmkneieiqzyxnbkhdrtfakhwqxwbyiapckygppzcvvq"; if (20640 == 20640) { int fntuflcvzq; for (fntuflcvzq = 62; fntuflcvzq > 0; fntuflcvzq--) { continue; } } if (49021 == 49021) { int wiwpnfpjn; for (wiwpnfpjn = 25; wiwpnfpjn > 0; wiwpnfpjn--) { continue; } } if (false != false) { int yhbld; for (yhbld = 67; yhbld > 0; yhbld--) { continue; } } return 12013; } int zvuhwxq::juxwudtiuqkfbriiwfxmybyz(int psnwefyzasotr, string pqgyy, bool yhmipwwen, double dpijgqfqqne) { int fxiwkzmtd = 240; int lpcncxdrgjrtz = 160; bool fvivmwyrlhn = false; double nnsclwsx = 19838; int ehmlzqpirik = 500; bool fycpo = true; string zssvl = "twjluanyygylbbkaluqvwgopjhphaciajqsyyuelaqxsihxtjgrimxteoknaspufzyoefbxlkfnhuerccgr"; int noqghkt = 6583; if (240 != 240) { int bn; for (bn = 90; bn > 0; bn--) { continue; } } if (6583 == 6583) { int ozyat; for (ozyat = 85; ozyat > 0; ozyat--) { continue; } } if (240 == 240) { int xb; for (xb = 94; xb > 0; xb--) { continue; } } if (true != true) { int zl; for (zl = 62; zl > 0; zl--) { continue; } } return 94500; } string zvuhwxq::mfqecfbeiuv(int wkduvissv, bool ijvbbdt, string xumjlvepexghwfb, int oshwyfkn, string hnknwjt) { double vqlwb = 32703; bool qhvljnmojwkracd = true; int pnyjngtfheusor = 7253; bool epilrlkeflsbth = true; string pieqcieagigf = "syivkfswpssgggfkbgcnixbytfjinidmjkeqvfufhugmasqhpqcqmpgzfforctnluljmkwvorljwyvnnlbjxwbhlrfokm"; if (7253 == 7253) { int mykcxt; for (mykcxt = 13; mykcxt > 0; mykcxt--) { continue; } } if (true != true) { int trhkj; for (trhkj = 96; trhkj > 0; trhkj--) { continue; } } if (32703 != 32703) { int vejeg; for (vejeg = 5; vejeg > 0; vejeg--) { continue; } } return string("ewwykmqtfv"); } int zvuhwxq::gpnewljyufuowwm() { int uqbwird = 440; bool xmlmkluvxnfeau = false; double dhlnztlwxi = 51231; double vckjwcwrship = 20472; double xqbtex = 53179; double iatfxbohrryaum = 61364; bool lqpevkzixqk = false; int ecekin = 1024; string jzvjpwnhtuh = "gsgveaqbsjuicbegveovirtsekkupnegcjdfnyy"; bool pukxev = false; if (false == false) { int jbiu; for (jbiu = 90; jbiu > 0; jbiu--) { continue; } } return 11345; } double zvuhwxq::jyjtnfiezcbhnurp() { bool ageheetmrf = true; return 89065; } bool zvuhwxq::odolfusdmrceqkabrg(int ovmdofcloau, bool eybamqggkebyem, bool nwtqs, double jtplajbjsou, string xldcz, string xkwptrvrtovsm, double urbjl, int ytgdryao) { int vxbftv = 3976; bool zbdavwt = false; return true; } void zvuhwxq::zikxvogcmh(string vnwyeetomli, bool giqqzzr, double dcvenhtcxewxhyz, string cxknwyrzo, double ctwywsw, string mueogszsadqiqj, bool dahkszteoc, int uptledjqoancmr) { } void zvuhwxq::dkwkoyorwczx(int idqxrbvqrgr, bool uizlncdsfzeumpj, int gbsmanlffxpryk, double wwrsefifsxt, double zfofurbldohhbtr, int dejcrrbju, double pgjzbrvcoj, bool gxugrratw) { double ysvsvber = 6695; if (6695 == 6695) { int ef; for (ef = 51; ef > 0; ef--) { continue; } } if (6695 == 6695) { int jhdowcp; for (jhdowcp = 73; jhdowcp > 0; jhdowcp--) { continue; } } } void zvuhwxq::vmruzbatpfgoy(double upwazhgpqqumgj, int eqxavmdvdbhm, double nxyycgwf) { } void zvuhwxq::naqrjdjhthogwrjxxejvtcw(string miwrnzjyw, double kgrtiht, double yyjjzpjf, double fxvwfelsqxqcr, bool geqsqve) { int qnvnbmbysa = 172; bool ivjfmrnv = true; double ifhruodwtr = 41649; int yejsrwok = 1599; string mvpkfzcx = "obepcdklegsqdiqbmyjckxctecrjlszejnkwndnsjniefnyvgxhzwiebgmfttuxfhae"; double bovmefzyf = 9206; int qsymfwrfozggig = 2988; int oziqvqojr = 317; int aqftffebegeklss = 4145; } string zvuhwxq::stzinjomiyrcpoxxhp(double hbofxqqe, int bufcjzguc, string ietsy, double pekozjhamitrdu, bool ashcsrdwt, int ibhacgmeezgc, double ttknien, string xlzxsdtyxdcyt, double wjmkbnr) { int ddcytiddunzc = 6085; bool dbjfeithhd = false; bool bsrpnxtke = true; if (true == true) { int ctnxkimswq; for (ctnxkimswq = 40; ctnxkimswq > 0; ctnxkimswq--) { continue; } } if (true == true) { int ktbwrwg; for (ktbwrwg = 42; ktbwrwg > 0; ktbwrwg--) { continue; } } if (true == true) { int yunwxdnj; for (yunwxdnj = 59; yunwxdnj > 0; yunwxdnj--) { continue; } } if (true != true) { int htxx; for (htxx = 75; htxx > 0; htxx--) { continue; } } return string("hchn"); } void zvuhwxq::lqmrrrbpvnunpv(string mtttbgrtvxro, string iubtkdtvmewfwow, double urkdze, double sqqrlmxpd, int jmrak, int foycbjr, double mkcnwo) { bool jlaqpqmmzvcjj = true; string nidrwpgcb = "yrrycftbqbtzbqwnvzxwjmdihifpnakjsooymvbyuadtykltroqnhaiyapckuobosvrmrmqtvjcalnr"; bool hheclyczqjx = true; int blncocbrwbp = 4302; if (string("yrrycftbqbtzbqwnvzxwjmdihifpnakjsooymvbyuadtykltroqnhaiyapckuobosvrmrmqtvjcalnr") == string("yrrycftbqbtzbqwnvzxwjmdihifpnakjsooymvbyuadtykltroqnhaiyapckuobosvrmrmqtvjcalnr")) { int esxdoeu; for (esxdoeu = 51; esxdoeu > 0; esxdoeu--) { continue; } } } zvuhwxq::zvuhwxq() { this->odolfusdmrceqkabrg(7901, true, false, 70003, string("rxlsxxklyoduvjqldhoosakxyfhttnasdbnbcjsipcpezpnxsexpzsyhxcfafjdjniprvfqibtpwpswngbhmyjyvjemszo"), string("knwl"), 51429, 2023); this->zikxvogcmh(string("xxnfsgepkwqblpixaxvphaavtuhpteqsqtnjhcdqkwbvcujbmuzgvtdpfmgfoqrzirlrnc"), false, 48577, string("djawlmablaixxepemsiezwojjunptcedthzyepfrdlmojyvjmsrhlnigtxakvqggizguexkvckixaggsjefmxfekpvyprq"), 46326, string("dwrxdzsnikhllatihwnbjkkqogoewgrs"), false, 4099); this->dkwkoyorwczx(3761, true, 5713, 6809, 54328, 2315, 16633, false); this->vmruzbatpfgoy(37501, 6517, 77312); this->naqrjdjhthogwrjxxejvtcw(string("mzdrhpumjsfozlrysgutiomltdshwflzimfyr"), 1752, 29049, 9181, true); this->stzinjomiyrcpoxxhp(30290, 3624, string("mtwtsqpxbitrtswyaywurbetkathaaizoynfugrbejvi"), 24253, true, 6469, 8677, string("sfshjwsdshogmttdxcmyztlrcvrhplqqaiskwxkrnohbqdjhkyykldrergdqiudlzgrposugwainlwnmsshmuykjfwqczuiltq"), 71792); this->lqmrrrbpvnunpv(string("kvqhvuqnnjvsucmgybinhtgoytikobh"), string("eylladsntgpmxzrfeqisfvvuslpdmrzgxfcisoqgjh"), 26690, 28162, 5196, 5938, 17467); this->andixbttsgs(); this->tmlcxbpqcirpodhihzrf(921, 16596, 36943, 5883, 32189); this->gbxtprtebtvijwjjedofjyu(30104, true, false, false, string("mruhjizgbmneajtblzdbggwye")); this->thjllfwtkjmwlobicq(987); this->fsynfxxquqcvngakstoiexqxc(string("pdgqhgsssxnlgmwmmchcdpcnhyjzdejvciwoorpsgmpjuxwcrmyxczdhrbwnzebbvjqgebesxvwftlnxjucsgpguytywhkuncy"), 51841, 5071, string("jcotnnlrdimxbsnjafectqbewjmxrsxmbrovhelcttnzicatbvgjhhtzvxxpt"), 4589, 14858, 85907, true, 6270); this->juxwudtiuqkfbriiwfxmybyz(686, string("zwgusfrhnjonbhhwhgzggtbpmpmmpywhsjhvscczktpgdrmulrjpwodkvsbzgjjladwdismgtgoqsrcehz"), true, 31544); this->mfqecfbeiuv(344, true, string("yvlnexrnzxto"), 2975, string("pepvoohjsjonrsfucbqxllkxnakuyrzymlxfjwvcknlgchgowzfnluqzcreei")); this->gpnewljyufuowwm(); this->jyjtnfiezcbhnurp();xw(string("tmieeukven")); this->nplkycnhsxrxusmtkokr(9261, 48488, true, 34035); } //===============================================================================================// É O SEGUINTE MEU ERRO É QUE QUANDO COLOCO A JUNK CODE ANTES DOS VARIOS SINAIS DE = DA O ERRO : E0296 "hash" está em ambíguo. e se eu ponho ele depois da vários erros string !!! PRECISO DO JUNK CODE !!! O CÓDIGO ACIMA ESTÁ COM A JUNK CODE !!! DEIXEI A PARTE DO CÓDIGO EM AZUL E A JUNK CODE SUBLINHADA PEÇO AJUDA O MAIS RÁPIDO POSSIVEL !!!
  22. Olá galera, tudo bom? Então, trago-lhes vários vídeos para você começar a criar seu menu D3D! [Hidden Content]
  23. Obs.: Não sei se estou postando na área correta, qualquer coisa me informem. Detectando Colisões Detecção de colisão é uma das operações mais comuns (e importantes) em jogos eletrônicos. O objetivo, basicamente, é verificar se dois objetos quaisquer colidiram, ou seja, se a interseção entre eles é diferente de vazio. Isso pode ser usado para saber se duas naves colidiram, se um monstro bateu numa parede, se um personagem pegou um item, etc. Para facilitar as coisas, muitas vezes os objetos são aproximados por figuras geométricas simples (esferas, paralelepípedos, triângulos etc). Neste problema, os objetos são aproximados por retângulos num plano 2D. Tarefa Escreva um programa que, dados dois retângulos, determine se eles se interceptam ou não. Entrada A entrada contém um único conjunto de testes, que deve ser lido do dispositivo de entrada padrão (normalmente o teclado). Cada caso de teste contém duas linhas. Cada linha contém quatro inteiros (x0, y0, x1, y1, sendo 0 ≤ x0 < x1 ≤ 1.000.000 e 0 ≤ y0 < y1 ≤ 1.000.000) separados por um espaço em branco representando um retângulo. Os lados do retângulo são sempre paralelos aos eixos x e y. Saída Seu programa deve imprimir, na saída padrão, uma única linha para cada caso de teste, contendo o número 0 (zero) caso não haja interseção ou o número 1 (um) caso haja. Exemplos http://olimpiada.ic.unicamp.br/pratique/programacao/nivel1/2007f1p1_colisoes