Só me metendo no assunto, você teriam uma função ou DLL, que gerasse esse
tal CRC do arquivo?


[]s

Em 28/07/06, ricardodeveloper <[EMAIL PROTECTED]> escreveu:
>
> la por 1997 fiz um programa pra uma prestadora de servicos
> ela entregava um .txt pra contratante contendo em cada linha, um
> serviço a ser cobrado
>
> mais tarde a prestadora de serviços me chamou pois achava que algumas
> linhas estavam "se perdendo" quando chegavam a contratante
>
> entao fiz um programinha simples que imprimia um certificado de um
> arquivo qualquer com crc o formato era algo hxadecimal como ffff-f
>
> quando os dados de cobranca eram exportados para o .txt o sistema
> tanto imprimia este relatorio quanto o exibia na tela. quando o
> motoboy chegava com o disquete na contratante ele executava o
> programa do proprio disquete para quem estivesse recebendo visse na
> tela o crc e assinasse o certificado
>
> a contratante nao entendeu aquele tramite e o seguiu sem reclamar
>
> na mesma semana alguns pagamentos haviam se perdido
> iniciou a mesma discução do tipo
> "voces deletaram linhas!"
> "nao, o arquivo veio imcompleto!"
>
> entao executaram o crc e comprovou-se que nao batia com o relatorio
> que a contratante havia assinado, e, que alguem havia mudado algumas
> linhas.
>
> apos o cara q nao queria pagar ficar com a cara no chao, nunca mais
> nenhuma linha dos .txt se perdeu...
>
> ---------------------
>
> quando, em 1994 eu nao tinha nada mais util pra fazer entao cai
> dentro de ling.c
> criei uma ide com checkbox, radiobutton, menu, janela, mouse... tudo
> em DOS
>
> a ideia era parar de usar windows
> desisti quando o w95 chegou com resolucao 800x600 e eu so sabia fazer
> 640x480. poh, todos fabricantes de video fazem rotinas pra microsoft
> de graça e eu teria q fazer a mao um driver pra cada modelo de placa
> q meus clientes comprassem!
>
> bom, naquela biblioteca tb criei acesso a arquivos em rede, com locks
> de registros e de arquivo, arquivos de indice, etc
>
> e no algoritimo de criacao de tabela colocava alguns bytes antes de
> cada registro da tabela para os dados de acesso, cod de usuario...
>
> com algumas quedas de luz alguns dados se perderam. entao coloquei
> crc no inicio de cada registro. eu testava se batia antes de devolver
> pra aplicacao os dados do registro. se nao batesse, retornava um erro
>
> -------------------
>
> tenho boa ideia de como fazer o crc em ling.c, mas nao tenho muita
> ideia da sintaxe do pascal para ler um arq binario byte a byte.
> sei q tem a fileread filewrite mas queria saber se posso usar as
> funcoes nativas do pascal (AssignFile, write...) pra acesso byte a
> byte.
>
> alguem sabe?
>
> ----------------------
>
> se eh pra criar algo em conjunto, humildemente espero poder ser util
> to dentro!
>
>
>
>
> --- Em delphi-br@yahoogrupos.com.br, "Hayalon" <[EMAIL PROTECTED]> escreveu
>
> >
> > Boa Walter, falou bem...
> > Já tinha lido algo sobre CRC, e você colocou o tema muito bem...
> > Acho que essa é uma boa oportunidade para criarmos algo muito bom
> aqui...
> >
> >
> >
> >
> >
> >
> >   _____
> >
> > De: delphi-br@yahoogrupos.com.br [mailto:delphi-
> [EMAIL PROTECTED] Em
> > nome de Walter Alves Chagas Junior
> > Enviada em: sexta-feira, 28 de julho de 2006 19:12
> > Para: 'delphi-br@yahoogrupos.com.br'
> > Assunto: RES: [delphi-br] CRC de arquivos.
> >
> >
> >
> > Elazar,
> >
> > Semana retrazada eu tentei ascender este assunto lá na lista-
> delphi, a
> > respeito do CRC. Postei até o link do Delphi About que tratava do
> assunto:
> >
> > http://delphi.about.com/od/fullcodeprojects/ss/crc_filecheck.htm
> >
> > A ideia minha era abrir uma thread a respeito do assunto, mas
> poucos lá
> > interessaram. O resto ou fez algum breve comentário ou não entendeu
> bem o
> > que era. Uns achavam se tratar de mais algum método anticópia de um
> programa
> > e outros associaram o assunto com crack. Quando na verdade não é
> nada disso.
> >
> > Este interessante recurso visa assegurar mais ainda seu executável
> contra a
> > mão maldita do usuário fução: O número serial CRC (Cyclic
> Redundance Code).
> > Primeiramente isto daí não tem absolutamente nada haver com chave de
> > ativação de programa ou de senha pois este número serial não está
> em lugar
> > nenhum no programa, LUGAR nenhum. Nenhum. Portanto não tem um lugar
> aonde
> > ele fica. Ele não fica. Ele é calculado com base em infomações do
> executável
> > como data, hora, tamanho e agrupamento de bytes internos. O CRC
> consiste em
> > um código gerado com base na situação atual de seu executavel (data
> e hora
> > de compilação + tamanho). Caso alguém abra seu exe em um editor de
> programas
> > ou mesmo no Debug do DOS e mexa em alguma coisa dentro dele e salve-
> o, a
> > chave serial de CRC já é outra. Aliando isto ao fato também deste
> número
> > serial não está em lugar nenhum no programa, isto anularia a ideia
> de girico
> > dos espertozoides tentarem copiar o CRC antes de mexer no
> executável, mexer
> > nele, e depois salvar o CRC antigo nele novamente achando que, com
> isto, não
> > deixariam rastro algum. Então você pode, além de criar seus métodos
> > anticópia, colocar um validador de CRC em seu programa de forma que
> se
> > alguém entrar nele pra mudar nome de autor ou de empresa filiada,
> ou mesmo
> > tentar quebrar a regra anticópia, o executável irá ter outro CRC e
> você pode
> > impedir a execução dele mediante validação desta "chave serial"
> interna.
> >
> > PS: Não confundam CRC com registro de licença de programa. Registro
> de
> > programa é um metodo que você usa para que seu programa libere
> > funcionalidades internas mediante a entrada de um código que seu
> cliente irá
> > lhe pedir. VOCÊ PROGRAMA ISTO e isto irá depender do seu algorítmo
> de
> > validação. Agora CRC não. CRC é calculado com base em informações
> internas
> > do executável aonde se aplica uma regra para ele. Esta regra
> (algorítmo) é
> > universal. Um programa externo (ou uma função interna) irá validar o
> > executavel. Se o CRC bater com a validação, então este executável
> está em
> > conformidade com a compilação original.
> >
> > O recurso do CRC é interessante para você checar se seu executável
> foi
> > infectado por um virus, se foi arrombado por um crack (ou então um
> cracker)
> > visando burlar validação de licença, visando burlar telas
> de "Registre" ou
> > visando trocar nomes de empresa e de autor em telas "About". Então.
> Se o
> > camarada abrir se exe com um PCTools da vida e, for lá trocar
> alguma coisa
> > no executável, ao salvar ele, o CRC ja passa a ter outro valor. E é
> esta
> > mudança de valor que você pode usar para assegurar a autenticidade
> de seu
> > programa. Se ele está intacto ou se foi "mexido" por alguem.
> qualquer mexida
> > no arquivo já altera o CRC dele.
> >
> > Fazer a validação do CRC de dentro do próprio executável, não é das
> tarefas
> > faceis porque você precisa montar um código de validação, sendo que
> a
> > informação que irá checar com o validador, você só obterá ela
> depois de
> > compilado o programa. Ora, então como é que vamos codificar um if
> isto igual
> > a aquilo, se o isto não temos antes de compilar o produto? MAS!
> Nada impede
> > de você colocar o validador em uma DLL ou uma BPL vinculada a ele.
> Na carga
> > desta biblioteca supra-citada, ela pode validar seu programa e, já
> de lá, ou
> > deixar ele continuar ou abortar a continuação do mesmo. No caso do
> > abortamento da execução do programa, aí sim você poderia colocar um
> > algorítmo para destruir o executável. Nos bons tempos do clipper, eu
> > costumava fazer um arquivo de lote compilado com o Exe2Bat que
> virava um
> > executor do meu programa. O programinha verificava a data do
> computador e
> > checava com a data do executável. Ao expirar, o programa emitia um
> aviso de
> > que o mesmo foi expirado e ecoava null para o arquivo:
> >
> > Echo Null > <nome do programa>.exe
> >
> > ou então
> >
> > Type Null > <nome do programa>.exe
> >
> > O resultado disto é que o executável ficava com tamanho 0.
> >
> > É por aí que a coisa flui. Se quiserem abrir a Thread aqui, to
> dentro :)
> >
> >
> >
> > []s
> >
> > Walter Alves Chagas Junior
> > Projeto e desenvolvimento de sistemas
> > Telemont Engenharia de telecomunicações S/A
> > Belo Horizonte - MG - Brasil
> > [EMAIL PROTECTED]
>
> > Fone: (31) 3389-8215 Fax: (31) 3389-8200
> >
> > Parabens Telemont - Somos a 8ª maior empresa do Brasil no segmento
> de
> > construção!!
> >
> >
> > -----Mensagem original-----
> > De: delphi-br@yahoogrupos.com.br [mailto:delphi-
> [EMAIL PROTECTED]
> > nome de .:: Elazar Dornelles Ceza ::.
> > Enviada em: sexta-feira, 28 de julho de 2006 09:16
> > Para: delphi-br@yahoogrupos.com.br
> > Assunto: [delphi-br] CRC de arquivos.
> >
> >
> > Bom dia pessoal;
> >
> > Estava olhando algo sobre o CRC de arquivos e ocorreu o seguinte
> >
> > Me ocorreu o seguinte, estava 'brincando' o windows explorer e o
> > winrar...(compactador) e pude perceber o que:  ao trocar a data do
> micro
> > para alguns dias atraz, compactar, o winrar me mostrou um CRC XXXXXX
> > entao acessei as propriedades do arquivo e verifiquei que o mesmo
> tinha
> > a data de 'acessado' em para o dia que havia trocado a data....blz,
> > voltei novamente o micro para a data atual, acessei o arquivo sem
> > modificar nada...fechei compactei e o CRC ainda continua XXXXX.
> Voltei
> > ao windows explorer e verifique a data de acesso do arquivo e como
> era
> > de se esperar estava datada para o dia de hoje.
> >
> > Entao eu pergunto.
> >    Onde o windows guarda as informacoes de ultimo acesso do arquivo,
> > data de criacao...modificado...???
> >      Se for no proprio arquivo (como eu imagino que sim)....porque
> o CRC
> > do arquivo não Muda???
> >      Como eu faco em delphi para mudar alguma coisa em um arquivo
> > qualquer...que não modifique o CRC???
> >
> > Alguem já trabalhou com algum esquema semelhante???
> >
> >
> > Atenc.
> > Elazar
> >
> >
> >
> >
> > _______________________________________________________
> > Novidade no Yahoo! Mail: receba alertas de novas mensagens no seu
> celular.
> > Registre seu aparelho agora!
> > http://br.mobile.yahoo.com/mailalertas/
> >
> >
> >
> >
> >
> > --
> > <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>
> >
> >
> >
> > Links do Yahoo! Grupos
> >
> >
> >
> >
> >
> >
> >
> >
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> >
> >
> >
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
>
>
>
>
>
>
>
> 
>



-- 
_________________________________
Fellipe Henrique
[EMAIL PROTECTED]

Borland Developer Studio 2006 Certified

"Venham até a borda, ele disse.
Eles disseram: Nós temos medo.
Venham até a borda, ele insistiu.
Eles foram, Ele os empurrou...
E eles voaram."
(Guillaume Apollinaire)


[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:
    [EMAIL PROTECTED]
 
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:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 


Responder a