首页
社区
课程
招聘
[求助]NEW DEFOX III
发表于: 2007-8-14 23:32 4779

[求助]NEW DEFOX III

2007-8-14 23:32
4779
New version of DeFox released
hxxp://www.grada.lv/defoxiii/
Possibility added to make your applications registerable
Increased protection level.

PARAMETERS m.cc1,m.cc2,m.cc3,m.cc4
CLOSE DATABASES ALL
CLOSE ALL
SET TALK OFF
SET SAFETY OFF
SET ESCAPE OFF
SET COLLATE TO "MACHINE"
CLEAR
PUBLIC m.cc5, m.cc6, m.cc7
SET CLASSLIB TO commonlibs
m.cc5 = CREATEOBJECT("common")
m.cc6 = CREATEOBJECT("registry")
SET CLASSLIB TO commonsec
m.cc7 = CREATEOBJECT("security")
SET CLASSLIB TO
LOCAL m.cc10,m.cc11,m.cc12
m.cc10 = PCOUNT()
IF m.cc10 = 0
   DO FORM mainform
   m.cc12 = .T.
   m.cc11 = m.cc6.cc14(-2147483647,"Software\DeFoxIII","License
Agreement",@m.cc12)
   IF m.cc12 .OR. NOT m.cc11 = "A"
      CREATE CURSOR tmp_lic (cc16 M  NOCPTRANS )
      INSERT INTO tmp_lic VALUES (FILETOSTR("license.txt"))
      DO FORM license WITH _SCREEN.cc18(1)
   ENDIF
   READ EVENTS
   RELEASE m.cc5,m.cc6,m.cc7
   CLEAR CLASSLIB commonlibs
   CLEAR CLASSLIB commonsec
   IF VERSION(2) > 0
      MODIFY PROJECT defoxiii.pjxNOWAIT
   ENDIF
   RETURN
ELSE
   _SCREEN.cc21("ret",.F.)
   m.cc12 = .T.
   m.cc11 = m.cc6.cc14(-2147483647,"Software\DeFoxIII","License
Agreement",@m.cc12)
   IF m.cc12 .OR. NOT m.cc11 = "A"
      CREATE CURSOR tmp_lic (cc16 M  NOCPTRANS )
      INSERT INTO tmp_lic VALUES (FILETOSTR("license.txt"))
      DO FORM license2
      READ EVENTS
      IF _SCREEN.cc23 = .F.
         RETURN
      ENDIF
   ENDIF
   LOCAL m.cc24,m.cc25,m.cc26,m.cc27,m.cc28,m.cc29
   m.cc27 = 0
   DO CASE
   CASE UPPER(m.cc1) == "E"
      m.cc24 = "A"
      m.cc10 = m.cc10-1
      m.cc27 = 1
      IF m.cc10 >= 1 .AND. UPPER(LEFT(m.cc2,2)) == "C/"
         m.cc28 = ALLTRIM(SUBSTR(m.cc2,3))
         m.cc10 = m.cc10-1
         m.cc27 = 2
         IF FILE(m.cc28)
            CREATE CURSOR reg_config (cc31 N (1 ,0 ) DEFAULT 1 ,cc32 C
(128 ),cc33 C (128 ),cc34 C (254 ) NOCPTRANS ,cc35 N (1 ,0 ) DEFAULT 1
,cc36 C (254 ))
            cc37()
            APPEND FROM (m.cc28)
            m.cc12 = cc38()
            IF m.cc12
               m.cc29 = MESSAGEBOX("Configuration file is
corrupted."+CHR(13)+"Do you want to continue without it?",36,"DeFoxIII")
               IF m.cc29 <> 6
                  RETURN
               ENDIF
               USE IN SELECT("reg_config")
               USE IN SELECT(m.cc28)
            ENDIF
            REPLACE cc35 WITH 2
            IF EMPTY(cc36)
               m.cc29 = MESSAGEBOX("Only configurations with filelist
are supported in command line."+CHR(13)+"None of the files will be
blocked in demo version of application."+CHR(13)+"Do you want to
continue?",36,"DeFoxIII")
               IF m.cc29 <> 6
                  RETURN
               ENDIF
               USE IN SELECT("reg_config")
               USE IN SELECT(m.cc28)
            ENDIF
            IF NOT FILE(ALLTRIM(cc36))
               m.cc29 = MESSAGEBOX("File "+ALLTRIM(cc30.cc36)+" not
found."+CHR(13)+"None of the files will be blocked in demo version of
application."+CHR(13)+"Do you want to continue?",36,"DeFoxIII")
               IF m.cc29 <> 6
                  RETURN
               ENDIF
               USE IN SELECT("reg_config")
               USE IN SELECT(m.cc28)
            ENDIF
         ELSE
            m.cc29 = MESSAGEBOX("Configuration file is not
found."+CHR(13)+"Do you want to continue without it?",36,"DeFoxIII")
            IF m.cc29 <> 6
               RETURN
            ENDIF
            USE IN SELECT("reg_config")
            USE IN SELECT(m.cc28)
         ENDIF
      ENDIF
   CASE UPPER(m.cc1) == "A"
      m.cc24 = "A"
      m.cc10 = m.cc10-1
      m.cc27 = 1
   CASE UPPER(m.cc1) == "C"
      m.cc24 = "C"
      m.cc10 = m.cc10-1
      m.cc27 = 1
   CASE UPPER(m.cc1) == "P"
      m.cc24 = "P"
      m.cc10 = m.cc10-1
      m.cc27 = 1
   OTHERWISE
      m.cc24 = "A"
   ENDCASE
   DO CASE
   CASE m.cc10 = 1
      m.cc25 = FULLPATH(UPPER(EVALUATE("m.p"+ALLTRIM(STR(1+m.cc27)))))
      m.cc26 = m.cc25
   CASE m.cc10 = 2
      m.cc25 = FULLPATH(UPPER(EVALUATE("m.p"+ALLTRIM(STR(1+m.cc27)))))
      m.cc26 = FULLPATH(UPPER(EVALUATE("m.p"+ALLTRIM(STR(2+m.cc27)))))
   OTHERWISE
      = MESSAGEBOX("Wrong parameters!",16,"Error")
      RETURN
   ENDCASE
   IF NOT FILE(m.cc25)
      MESSAGEBOX("File "+m.cc25+"doesn't exist",16,"Error")
      RETURN
   ENDIF
   LOCAL m.cc39,m.cc40,m.cc41
   DO CASE
   CASE m.cc24 = "A"
      IF NOT (UPPER(JUSTEXT(m.cc25)) == "EXE" .OR.
UPPER(JUSTEXT(m.cc25)) == "APP")
         MESSAGEBOX("Only EXE, APP files are supported for
Application",16,"Error")
         RETURN
      ENDIF
   CASE m.cc24 = "C"
      IF NOT (UPPER(JUSTEXT(m.cc25)) == "EXE" .OR.
UPPER(JUSTEXT(m.cc25)) == "DLL")
         MESSAGEBOX("Only EXE, DLL files are supported for COM
server",16,"Error")
         RETURN
      ENDIF
   CASE m.cc24 = "P"
      IF NOT (UPPER(JUSTEXT(m.cc25)) == "FXP" .OR.
UPPER(JUSTEXT(m.cc25)) == "MPX" .OR. UPPER(JUSTEXT(m.cc25)) == "QPX")
         MESSAGEBOX("Only FXP, MPX, QPX files are supported for Program
files",16,"Error")
         RETURN
      ENDIF
   ENDCASE
   USE tmp2 IN 0 EXCLUSIVE
   m.cc12 = 0
   cc37()
   LOCAL m.cc43,m.cc44
   DO CASE
   CASE m.cc24 = "C"
      m.cc45 = cc46(m.cc25,m.cc26)
   CASE m.cc24 = "A"
      IF UPPER(JUSTEXT(m.cc25)) == "APP"
         m.cc43 = .T.
      ELSE
         m.cc43 = .F.
      ENDIF
      m.cc44 = "q3216549.fxp"
      IF FILE("..\q3216549.fxp")
         DO cc47 WITH 4660 IN (m.cc44)
      ENDIF
      m.cc45 = cc48(m.cc25,m.cc26,m.cc43)
      IF FILE("..\q3216549.fxp")
         DO cc47 WITH 0 IN (m.cc44)
      ENDIF
   CASE m.cc24 = "P"
      m.cc45 = cc49(m.cc25,m.cc26)
   ENDCASE
   CLEAR PROGRAM
   m.cc12 = cc38(0)
   USE IN SELECT("tmp2")
   CLOSE ALL
   IF m.cc12 > 0
      MESSAGEBOX("Can't protect source file."+CHR(13)+"VFP programm
error"+CHR(13)+"Error N"+ALLTRIM(STR(m.cc12)),16,"Error")
   ELSE
      IF m.cc45 > 0
         MESSAGEBOX("Can't protect source file."+CHR(13)+"May be source
file is not a VFP object file"+CHR(13)+"Error
N"+ALLTRIM(STR(m.cc45)),16,"Error")
      ELSE
         WAIT WINDOW "Source file was successfully protected!" TIMEOUT
1
      ENDIF
   ENDIF
ENDIF
RETURN

fedison72@yahoo.com

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
After I publish DeFoxIII I've just received some letters where people send
me some parts of decompiled DeFoxIII code. So I must state the next. In
contrary to the other protection tools DeFoxIII makes most of its protection
from within VFP code. Therefore different parts of code runs under different
protections levels. It nothing strange that the most simle levels are not
difficult to decompile. Really their protection didn't changed since the
very first versions of DeFox. If you really want to say you may decompile
DeFoxIII, please publish the code of hwr.scx from the next sample
application protected with DeFoxIII

http://www.grada.lv/defoxiii/download/sample_test.zip

Then I will agre that you can decompile DeFoxIII.
2007-8-17 19:23
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
For you leonid see source code all
here
http://www.live-share.com/files/256057/for_you_leonid.rar.html
2007-8-19 01:52
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
It's not ALL. At least file hwr.scx that I mentioned in previous post is absent. And some other also.
2007-8-19 17:27
0
游客
登录 | 注册 方可回帖
返回
//