Como proteger um programa?

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

rbonotto
Usuário Nível 3
Usuário Nível 3
Mensagens: 253
Registrado em: 06 Mai 2005 18:52

Mensagem por rbonotto »

Maligno escreveu:Do jeitinho que está nem se preocupe em alterar nada. No BLinker este script vai funcionar perfeitamente para o modo real. Se ainda não tiver o BLinker 7, baixe da área "pub" do meu site, no diretório Clipper/Compilers.
E na linha:
IF NOT ERRORLEVEL 1 RTLINK @BR.LNK

Coloco:
IF NOT ERRORLEVEL 1 BLINK @BR.LNK

É isto ??

Como uso/aciono o modo protegido ?
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

Na linha de comando é a mesma coisa também. Tente montar o programa do jeito que está e veja se funciona corretamente.
Depois a gente conversa sobre o modo protegido, que contém detalhes adicionais. Mas não é nada complicado.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
rbonotto
Usuário Nível 3
Usuário Nível 3
Mensagens: 253
Registrado em: 06 Mai 2005 18:52

Mensagem por rbonotto »

OPs...Esta dando esta mensagem.

This program can not run in dos mode

Eu tenho um HD com o DOS 6.22 que uso para programar.
Para usar o blinker tenho que instalar o Windows ??
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Mensagem por sygecom »

Tche, sabe que nunca usei o Blinker no DOS puro...mas tente usar ele no DOS com o Windows...

Abraços
Leonardo Machado
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

O BLinker é um programa DOS, que eu saiba. Dei uma bisbilhotada nele por um editor hexa e me pareceu DOS realmente. Executando BLINKER.EXE sem nenhum parâmetro dá a mesma mensagem?
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
rbonotto
Usuário Nível 3
Usuário Nível 3
Mensagens: 253
Registrado em: 06 Mai 2005 18:52

Mensagem por rbonotto »

Maligno escreveu:O BLinker é um programa DOS, que eu saiba. Dei uma bisbilhotada nele por um editor hexa e me pareceu DOS realmente. Executando BLINKER.EXE sem nenhum parâmetro dá a mesma mensagem?
A mesma mensagem...
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

rbonotto escreveu:A mesma mensagem...
Taí uma novidade pra mim. Nem imaginava. Bom, eu nem lembro quantos anos faz que compilei um programa em DOS puro. :))
Mas sendo assim, você precisará do Windows para executá-lo. Não tem jeito.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
rbonotto
Usuário Nível 3
Usuário Nível 3
Mensagens: 253
Registrado em: 06 Mai 2005 18:52

Mensagem por rbonotto »

Maligno escreveu:
rbonotto escreveu:A mesma mensagem...
Taí uma novidade pra mim. Nem imaginava. Bom, eu nem lembro quantos anos faz que compilei um programa em DOS puro. :))
Mas sendo assim, você precisará do Windows para executá-lo. Não tem jeito.
Descobri o porque...

O arquivo que baixei de seu site é um instalador...que usa o windows para
rodar....

Vou testar copiar a pasta criada na instalacao no hd só com o DOS e posto um feed back depois.
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

Ah, sim. Nem me lembrei disso. É claro. O instalador é em Windows. O BLinker é em DOS. Aí deve dar certo mesmo.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Mensagem por sygecom »

rbonotto escreveu:
Maligno escreveu:
rbonotto escreveu:A mesma mensagem...
Taí uma novidade pra mim. Nem imaginava. Bom, eu nem lembro quantos anos faz que compilei um programa em DOS puro. :))
Mas sendo assim, você precisará do Windows para executá-lo. Não tem jeito.
Descobri o porque...

O arquivo que baixei de seu site é um instalador...que usa o windows para
rodar....

Vou testar copiar a pasta criada na instalacao no hd só com o DOS e posto um feed back depois.
Puxa.....eu tava calculando que vc jah tinha instalado o blinker e estava com ele configurado na sua maquina....mas tudo bem.

Abraços
Leonardo Machado
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
rbonotto
Usuário Nível 3
Usuário Nível 3
Mensagens: 253
Registrado em: 06 Mai 2005 18:52

Mensagem por rbonotto »

é...ele não funciona em DOS mesmo.

Mas não tem "pobrema" . Vou instalar o ruindows98 neste hd e depois do um alô aqui.

Aproveitando....com o clipper5,2 o autoexec.bat esta assim:

PATH=%PATH%
SET PATH=C:\CLIPPER5\BIN;%PATH%
SET INCLUDE=c:\CLIPPER5\INCLUDE
SET LIB=c:\CLIPPER5\LIB
SET OBJ=c:\CLIPPER5\OBJ
SET PLL=c:\CLIPPER5\PLL

Como deve ficar o meu autoexec.bat com o blinker ?

Outra "bergunta" , uso o rmk da seguinte forma:

Código: Selecionar todos

BR.OBJ: BR.PRG
    CLIPPER BR         /M /L /P
ENC100A.OBJ: ENC100A.PRG
    CLIPPER ENC100A    /M /L /P
ENC200A.OBJ: ENC200A.PRG
    CLIPPER ENC200A    /M /L /P
ENC300A.OBJ: ENC300A.PRG
    CLIPPER ENC300A    /M /L /P
ENC400A.OBJ: ENC400A.PRG
    CLIPPER ENC400A    /M /L /P
PRINT.OBJ: PRINT.PRG
    CLIPPER PRINT      /M /L /P
FUNCOES.OBJ: FUNCOES.PRG
    CLIPPER FUNCOES    /M /L /P
Como ficaria com o blinker ?
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

Quanto às variáveis de ambiente, apenas acrescente em cada um os diretórios equivalentes à locação onde foi instalado o BLinker. Exemplo: SET OBJ=c:\CLIPPER5\OBJ;C:\BLINKER\OBJ. Mas esquece esse PLL. Isso nem se usa mais. :)))

Quanto ao RMK, não faz diferença. O BLinker só entra em ação depois que os objetos tiverem sido gerados.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

Peguei sua mensagem antes de você editá-la e montei um script de compilação pra você tentar usar no make do Clipper. Se não der, posso te passar o make da Borland, onde isso funciona perfeitamente. Montei o script inteiro. Assim, você só precisará copiar e colar.
Note que as funções são informadas de um jeito mais simples e fácil. Dá pra ficar, inclusive, em ordem alfabética, o que facilita a leitura. A "contra-barra" informa o make que há uma outra dependência na linha a seguir. Mas você pode, ao final do projeto, juntar tantos arquivos quanto quiser numa mesma linha.
O esquema de dependência é bem simples: uma vez que algum fonte PRG for alterado, será disparado o compilador. A seguir o EXE é analisado. Se algum objeto tiver sido modificado (ou até apagado), o BLinker é disparado.

Código: Selecionar todos

c:\programa.exe:   al_comp.obj  \
                   atcrd.obj    \
                   atualiza.obj \
                   br.obj       \
                   calend.obj   \
                   card_vir.obj \
                   cores.obj    \
                   creditos.obj \
                   editor.obj   \
                   enc1000a.obj \
                   enc1000c.obj \
                   enc100a.obj  \
                   enc100b.obj  \
                   enc100c.obj  \
                   enc100d.obj  \
                   enc1100a.obj \
                   enc1100c.obj \
                   enc200a.obj  \
                   enc200b.obj  \
                   enc200c.obj  \
                   enc200c1.obj \
                   enc200d.obj  \
                   enc300a.obj  \
                   enc300b.obj  \
                   enc300c.obj  \
                   enc300d.obj  \
                   enc400a.obj  \
                   enc400b.obj  \
                   enc400c.obj  \
                   enc400d.obj  \
                   enc500a.obj  \
                   enc500b.obj  \
                   enc500c.obj  \
                   enc500d.obj  \
                   enc600a.obj  \
                   enc600b.obj  \
                   enc600c.obj  \
                   enc600c1.obj \
                   enc600d.obj  \
                   enc700a.obj  \
                   enc700b.obj  \
                   enc700c.obj  \
                   enc800a.obj  \
                   enc800a1.obj \
                   enc800b.obj  \
                   enc800c.obj  \
                   enc900a.obj  \
                   enc900c.obj  \
                   ent_f1.obj   \
                   etiq.obj     \
                   etiq2.obj    \
                   func_ent.obj \
                   funcmes.obj  \
                   funcoes.obj  \
                   impressa.obj \
                   niveis.obj   \
                   organiza.obj \
                   print.obj    \
                   zera.obj    

 cls
 blinker @script.lnk

.prg.obj:
 cls
 echo *******************************
 echo Clipper $& $(OPT)
 clipper $& $(OPT)
Esse script é executado com a linha de comando:

Código: Selecionar todos

make -fprg -l+ -s -DOPT=/m/n/l
O switch -f informa o nome do arquivo de script. Aqui está como PRG.MAK. A extensão MAK é default. Portanto, não precisa ser indicada. O switch -l+ habilita o uso de linhas de comando longas (próprio do Make da Borland - talvez o make do Cliper não tenha). O switch -s mantém o Make em silêncio, sem ecoar os comandos. Finalmente, o switch -D informa o Make que parâmetros deverão ser substituídos no script. Ou seja, no script, onde se tem OPT, haverá uma substituição para "/m/n/l".
Se quiser o Make da Borland é só dizer.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

Mensagem por Pablo César »

Maligno escreveu:Mas esquece esse PLL. Isso nem se usa mais. :)))
Uma pergunta em relação a isso:

Eu acostumava (até por medida de segurança e de algumas caracteristicas proprias minhas) direcionava o executável para biblioteca PRÉ-LINKADA com o uso do RTLINK. No BLINKER eu poderia utilizar a opção /PLL ?
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

Isso existe no BLinker? Mesmo que exista, não será um PLL que vai incrementar a segurança do seu programa.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Responder