Re: [delphi-br] Gravar informações dentro do execu tável / DLL
A minha máquina possui o antivirus avast. Nos varios testes que fiz ele não reclamou de nada. Mas é uma boa observação. Vou fazer testes com aquele norton internet security que tenho em outra maquina. Para o CRM Desenvolvimentos: Eu passei as duas rotinas num e-mail anterior. Se não tiver conseguido pegar me avise mando de novo. valeu. 2009/11/27 EmbarcaDelphi embarcadel...@yahoo.com.br Só uma observação aí... Já testou num computador com antivírus??? Pode ser que ele não autorize pensando ser um trojan... Alguém já testou? Alemão escreveu: Claro, vamos lá: para gravar as informações no arquivo que eu quero, estou usando um outro programa. Não da pro executavel gravar as informações nele mesmo, ja que está em uso. Portanto o meu programa de instalação é que está gravando. Segue o processo pra gravação: function GravarResourceInfo(const FileName, NomeRecurso, Texto: string): boolean; var hRes : THandle; cHD : String; Begin cHD := AnsiUpperCase(Texto); hRes := BeginUpdateResource(pchar(FileName),False); if hRes 0 then begin result := true; UpdateResource(hRes,RT_RCDATA,pchar(AnsiUpperCase(NomeRecurso)), 0 , Pointer(cHD), StrLen(PCHAR(cHD)) + 1); If EndUpdateResource(hRes,False) then Result := true else Result := false; end else result := false; end; onde: FileName é o nome do arquivo que será atualizado. NomeRecurso é o nome que você irá dar para o recurso armazenado, para poder ler a partir do aplicativo. Texto é o conteúdo que você quer gravar. Pode ser qualquer informação. Agora dentro do meu executavel de programa, vou ler o conteúdo gravado no resource. Esta é a função: function LerResourceInfo(NomeRecurso: string): string; var ResData: HGLOBAL; ResInfo: HRSRC; Begin Result := ''; ResInfo := FindResource(hInstance, pchar(AnsiUpperCase(NomeRecurso)), RT_RCDATA); if ResInfo 0 then begin ResData := LoadResource(hInstance, ResInfo); if ResData 0 then begin try Result := PChar(LockResource(ResData)); UnlockResource(ResData); finally FreeResource(ResData); end; end; end; end; Funcionou muito bem. O legal é que a partir daí vc pode inclusive criptografar o texto, para que ninguem consiga ver o seu conteúdo com um editor de recursos (Ex: Resource Explorer). ps.: para testar se deu certo mesmo, é so abrir o seu programa alterado neste editor de recursos e ir em RCData, que la vai estar o que vc acabou de criar. 2009/11/26 José Henrique (Zote) z...@bludata.com.brzote%40bludata.com.br [As partes desta mensagem que não continham texto foram removidas] -- FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM * Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages * Para falar com o moderador, envie um e-mail para: delphi-br-ow...@yahoogrupos.com.br Links do Yahoo! Grupos * Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ * Para sair deste grupo, envie um e-mail para: delphi-br-unsubscr...@yahoogrupos.com.br * O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html
Re: [delphi-br] Gravar informações dentro do execu tável / DLL
Consegui resolver o problema. Estou gravando varias informações criptografadas dentro do próprio executável, no momento da instalação. Encontrei uma rotina na internet que acrescenta informações na parte de resources dos programas. Ficou muito legal. No momento da instalação eu gravo essas informações dentro de cada executavel e quando eles vão executar fazem a checagem das informações. . Obrigado pelas sugestões de todos. 2009/11/25 berdam berdamzi...@yahoo.com.br configure iso numa tabela com parâmetros na base de dados Alemão escreveu: Como faço para gravar informações dentro de um executável ou dll ja compilado? Pode a partir de outro executável. Como estou preocupado com copias de arquivos de meus sistemas para serem utilizados em outros sistemas / clientes, gostaria de gravar algumas informações dentro destes executpaveis no momento da instalação, ou em algum outro momento. Ou seja, cada cliente ficaria com os arquivos com uma informação diferente para que eu possa idenficar posteriormente caso seja preciso. O problema é que o arquivo já está compilado. A minha ideia é gravar diretamente no executavel mesmo, sem nenhum arquivo adicional, tipo quando você grava as informações de versão e empresa no programa, lá em project - options - Version info. Compilar uma versão diferente para cada cliente no momento do lançamento da versão não é uma opção, pois são muitos clientes. Alguem sabe alguma maneira de se fazer isso, ou ainda alguma outra ideia para esse controle que estou querendo implementar? Obrigado. [As partes desta mensagem que não continham texto foram removidas] -- FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM [As partes desta mensagem que não continham texto foram removidas]
Re: [delphi-br] Gravar informações dentro do execu tável / DLL
Alemão, compartilha ai :D -- José Henrique (Zote) Analista de TI Bludata Software 2009/11/26 Alemão forumdel...@gmail.com Consegui resolver o problema. Estou gravando varias informações criptografadas dentro do próprio executável, no momento da instalação. Encontrei uma rotina na internet que acrescenta informações na parte de resources dos programas. Ficou muito legal. No momento da instalação eu gravo essas informações dentro de cada executavel e quando eles vão executar fazem a checagem das informações. . Obrigado pelas sugestões de todos. 2009/11/25 berdam berdamzi...@yahoo.com.br berdamzinho%40yahoo.com.br configure iso numa tabela com parâmetros na base de dados Alemão escreveu: Como faço para gravar informações dentro de um executável ou dll ja compilado? Pode a partir de outro executável. Como estou preocupado com copias de arquivos de meus sistemas para serem utilizados em outros sistemas / clientes, gostaria de gravar algumas informações dentro destes executpaveis no momento da instalação, ou em algum outro momento. Ou seja, cada cliente ficaria com os arquivos com uma informação diferente para que eu possa idenficar posteriormente caso seja preciso. O problema é que o arquivo já está compilado. A minha ideia é gravar diretamente no executavel mesmo, sem nenhum arquivo adicional, tipo quando você grava as informações de versão e empresa no programa, lá em project - options - Version info. Compilar uma versão diferente para cada cliente no momento do lançamento da versão não é uma opção, pois são muitos clientes. Alguem sabe alguma maneira de se fazer isso, ou ainda alguma outra ideia para esse controle que estou querendo implementar? Obrigado. [As partes desta mensagem que não continham texto foram removidas] -- FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas]
Re: [delphi-br] Gravar informações dentro do execu tável / DLL
Claro, vamos lá: para gravar as informações no arquivo que eu quero, estou usando um outro programa. Não da pro executavel gravar as informações nele mesmo, ja que está em uso. Portanto o meu programa de instalação é que está gravando. Segue o processo pra gravação: function GravarResourceInfo(const FileName, NomeRecurso, Texto: string): boolean; var hRes : THandle; cHD : String; Begin cHD := AnsiUpperCase(Texto); hRes := BeginUpdateResource(pchar(FileName),False); if hRes 0 then begin result := true; UpdateResource(hRes,RT_RCDATA,pchar(AnsiUpperCase(NomeRecurso)), 0 , Pointer(cHD), StrLen(PCHAR(cHD)) + 1); If EndUpdateResource(hRes,False) then Result := true else Result := false; end else result := false; end; onde: FileName é o nome do arquivo que será atualizado. NomeRecurso é o nome que você irá dar para o recurso armazenado, para poder ler a partir do aplicativo. Texto é o conteúdo que você quer gravar. Pode ser qualquer informação. Agora dentro do meu executavel de programa, vou ler o conteúdo gravado no resource. Esta é a função: function LerResourceInfo(NomeRecurso: string): string; var ResData: HGLOBAL; ResInfo: HRSRC; Begin Result := ''; ResInfo := FindResource(hInstance, pchar(AnsiUpperCase(NomeRecurso)), RT_RCDATA); if ResInfo 0 then begin ResData := LoadResource(hInstance, ResInfo); if ResData 0 then begin try Result := PChar(LockResource(ResData)); UnlockResource(ResData); finally FreeResource(ResData); end; end; end; end; Funcionou muito bem. O legal é que a partir daí vc pode inclusive criptografar o texto, para que ninguem consiga ver o seu conteúdo com um editor de recursos (Ex: Resource Explorer). ps.: para testar se deu certo mesmo, é so abrir o seu programa alterado neste editor de recursos e ir em RCData, que la vai estar o que vc acabou de criar. 2009/11/26 José Henrique (Zote) z...@bludata.com.br Alemão, compartilha ai :D -- José Henrique (Zote) Analista de TI Bludata Software 2009/11/26 Alemão forumdel...@gmail.com forumdelphi%40gmail.com Consegui resolver o problema. Estou gravando varias informações criptografadas dentro do próprio executável, no momento da instalação. Encontrei uma rotina na internet que acrescenta informações na parte de resources dos programas. Ficou muito legal. No momento da instalação eu gravo essas informações dentro de cada executavel e quando eles vão executar fazem a checagem das informações. . Obrigado pelas sugestões de todos. 2009/11/25 berdam berdamzi...@yahoo.com.br berdamzinho%40yahoo.com.brberdamzinho% 40yahoo.com.br configure iso numa tabela com parâmetros na base de dados Alemão escreveu: Como faço para gravar informações dentro de um executável ou dll ja compilado? Pode a partir de outro executável. Como estou preocupado com copias de arquivos de meus sistemas para serem utilizados em outros sistemas / clientes, gostaria de gravar algumas informações dentro destes executpaveis no momento da instalação, ou em algum outro momento. Ou seja, cada cliente ficaria com os arquivos com uma informação diferente para que eu possa idenficar posteriormente caso seja preciso. O problema é que o arquivo já está compilado. A minha ideia é gravar diretamente no executavel mesmo, sem nenhum arquivo adicional, tipo quando você grava as informações de versão e empresa no programa, lá em project - options - Version info. Compilar uma versão diferente para cada cliente no momento do lançamento da versão não é uma opção, pois são muitos clientes. Alguem sabe alguma maneira de se fazer isso, ou ainda alguma outra ideia para esse controle que estou querendo implementar? Obrigado. [As partes desta mensagem que não continham texto foram removidas] -- FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas] -- FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM * Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages * Para falar com o moderador, envie um e-mail para: delphi-br-ow...@yahoogrupos.com.br Links do Yahoo! Grupos * Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ * Para sair deste grupo, envie um e-mail para: delphi-br-unsubscr...@yahoogrupos.com.br * O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html
Re: [delphi-br] Gravar informações dentro do execu tável / DLL
*Cara compartilha com a gente ai a rotina que vc ta usando pelo menos a parte onde vc grava no executavel?* 2009/11/26 Alemão forumdel...@gmail.com Consegui resolver o problema. Estou gravando varias informações criptografadas dentro do próprio executável, no momento da instalação. Encontrei uma rotina na internet que acrescenta informações na parte de resources dos programas. Ficou muito legal. No momento da instalação eu gravo essas informações dentro de cada executavel e quando eles vão executar fazem a checagem das informações. . Obrigado pelas sugestões de todos. 2009/11/25 berdam berdamzi...@yahoo.com.br berdamzinho%40yahoo.com.br configure iso numa tabela com parâmetros na base de dados Alemão escreveu: Como faço para gravar informações dentro de um executável ou dll ja compilado? Pode a partir de outro executável. Como estou preocupado com copias de arquivos de meus sistemas para serem utilizados em outros sistemas / clientes, gostaria de gravar algumas informações dentro destes executpaveis no momento da instalação, ou em algum outro momento. Ou seja, cada cliente ficaria com os arquivos com uma informação diferente para que eu possa idenficar posteriormente caso seja preciso. O problema é que o arquivo já está compilado. A minha ideia é gravar diretamente no executavel mesmo, sem nenhum arquivo adicional, tipo quando você grava as informações de versão e empresa no programa, lá em project - options - Version info. Compilar uma versão diferente para cada cliente no momento do lançamento da versão não é uma opção, pois são muitos clientes. Alguem sabe alguma maneira de se fazer isso, ou ainda alguma outra ideia para esse controle que estou querendo implementar? Obrigado. [As partes desta mensagem que não continham texto foram removidas] -- FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas] -- FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM * Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages * Para falar com o moderador, envie um e-mail para: delphi-br-ow...@yahoogrupos.com.br Links do Yahoo! Grupos * Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ * Para sair deste grupo, envie um e-mail para: delphi-br-unsubscr...@yahoogrupos.com.br * O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html
Re: [delphi-br] Gravar informações dentro do execu tável / DLL
simples, se nao quer complicacao e quer indentificar qual cliente vazou a informacao.. cria um txt mesmo criptografado o codigo do seu cliente dentro e sem extensao.. onde q quando executar o programa verifica se existe o arquivo na pasta.. se nao existir informe q esta faltando tal arquivo.. ai o cara que copiou ira la copiar ele e pumba ta ai sua prova rsrs.. simples e funcional.. agora se quer segurança mesmo faça como eu fiz.. desenvolvi minha trava de segurança por serial com contra chave de hadware e usuario, e data de vencimento. Assim o serial tem uma validade de 1 mes para clientes com internet e 3 meses para clientes sem internet. Quando expira para o clientes com internet eu fiz um programa que capita automatico de um ftp.. para os sem ai eu tenho q levar de um em um (poucos) boa sorte 2009/11/25 Alemão forumdel...@gmail.com Como faço para gravar informações dentro de um executável ou dll ja compilado? Pode a partir de outro executável. Como estou preocupado com copias de arquivos de meus sistemas para serem utilizados em outros sistemas / clientes, gostaria de gravar algumas informações dentro destes executpaveis no momento da instalação, ou em algum outro momento. Ou seja, cada cliente ficaria com os arquivos com uma informação diferente para que eu possa idenficar posteriormente caso seja preciso. O problema é que o arquivo já está compilado. A minha ideia é gravar diretamente no executavel mesmo, sem nenhum arquivo adicional, tipo quando você grava as informações de versão e empresa no programa, lá em project - options - Version info. Compilar uma versão diferente para cada cliente no momento do lançamento da versão não é uma opção, pois são muitos clientes. Alguem sabe alguma maneira de se fazer isso, ou ainda alguma outra ideia para esse controle que estou querendo implementar? Obrigado. [As partes desta mensagem que não continham texto foram removidas] -- Leandro, MuTukA [As partes desta mensagem que não continham texto foram removidas] -- FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM * Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages * Para falar com o moderador, envie um e-mail para: delphi-br-ow...@yahoogrupos.com.br Links do Yahoo! Grupos * Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ * Para sair deste grupo, envie um e-mail para: delphi-br-unsubscr...@yahoogrupos.com.br * O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html