谁有Lahey/Fujitsu Fortran v7.0 的注册号?

SCYANGYU 2003-10-15 01:51:48
我下载了Lahey/Fujitsu Fortran v7.0,不知谁有注册号?

Lahey/Fujitsu Fortran v7.0

LF Fortran v7.0 integrates the new Fortran for .NET language system and our legendary LF95 Windows Fortran language system into the latest Microsoft?Visual Studio development environment. You can take advantage of all .NET offers by creating .NET applications and services with Fortran, generate native Win32 code for ultimate performance, and work in the industry standard Microsoft Visual Studio environment.

...全文
123 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
klbt 2003-10-15
  • 打赏
  • 举报
回复
我没有,帮你顶!
Preface v
1 Motivation 1
1.1 WhyWeWrote This Book . . . . . . . . . . . . . . . . . . . 1
1.2 ForWhomWe AreWriting . . . . . . . . . . . . . . . . . . 2
1.2.1 Those Accustomed to Fortran 77 . . . . . . . . . . 2
1.2.2 Those Who Want to Create Windows Applications . 2
1.2.3 Those Who Want to Interface Fortran with Other
Applications . . . . . . . . . . . . . . . . . . . . . . 3
1.3 The Need for Good Programming Practice . . . . . . . . . . 4
1.3.1 Programming for Research Dissemination . . . . . . 4
1.3.2 Programming Standards . . . . . . . . . . . . . . . . 4
1.3.3 Benefits of Good Programming Style . . . . . . . . . 5
1.3.4 Benefits of Uniformity . . . . . . . . . . . . . . . . . 5
1.4 WhyWe Use Fortran . . . . . . . . . . . . . . . . . . . . . . 6
1.4.1 History of Fortran . . . . . . . . . . . . . . . . . . . 6
1.4.2 Fortran’s Advantages . . . . . . . . . . . . . . . . . 6
1.4.3 Useful New Features . . . . . . . . . . . . . . . . . . 7
1.4.4 What this book does not cover . . . . . . . . . . . . 7
1.4.5 Differences Between Fortran 90 and Fortran 95 . . . 7
1.4.6 Pseudo Object-Oriented Programming in Fortran . . 8
1.4.7 Fortran 2003 . . . . . . . . . . . . . . . . . . . . . . 8
1.4.8 Which Compiler Should I Use? . . . . . . . . . . . . 8
1.5 Developing Applications for a Broad Audience . . . . . . . 9
x Contents
1.5.1 Console Applications and COMServers . . . . . . . 9
1.5.2 COMServers and Clients . . . . . . . . . . . . . . . 10
1.6 Scope of the Rest of This Book . . . . . . . . . . . . . . . . 11
1.7 Our Source Code andWeb Site . . . . . . . . . . . . . . . . 12
2 Introduction to Modern Fortran 13
2.1 Getting Started . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.1.1 A Very Simple Program . . . . . . . . . . . . . . . . 13
2.1.2 Fixed and Free-Form Source Code . . . . . . . . . . 15
2.1.3 Compiling, Linking and Running . . . . . . . . . . . 15
2.1.4 Compiler Options . . . . . . . . . . . . . . . . . . . 17
2.1.5 Standard Input and Output . . . . . . . . . . . . . . 19
2.1.6 Intrinsic Uniform Generator . . . . . . . . . . . . . . 20
2.1.7 Integer and Real Kinds . . . . . . . . . . . . . . . . 20
2.1.8 Do, if, case, goto . . . . . . . . . . . . . . . . . . . . 22
2.1.9 Exercises . . . . . . . . . . . . . . . . . . . . . . . . 25
2.2 Arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.2.1 Rank, Size and Shape . . . . . . . . . . . . . . . . . 26
2.2.2 Array Functions . . . . . . . . . . . . . . . . . . . . 27
2.2.3 Operations on Arrays and Array Sections . . . . . . 28
2.2.4 YourMileageMay Vary . . . . . . . . . . . . . . . . 29
2.2.5 Array Allocation . . . . . . . . . . . . . . . . . . . . 30
2.2.6 Exercises . . . . . . . . . . . . . . . . . . . . . . . . 31
2.3 Basic Procedures . . . . . . . . . . . . . . . . . . . . . . . . 32
2.3.1 Subroutines . . . . . . . . . . . . . . . . . . . . . . . 32
2.3.2 Assumed-Shape and Optional Arguments . . . . . . 33
2.3.3 Functions . . . . . . . . . . . . . . . . . . . . . . . . 36
2.3.4 Pure, Elemental and Recursive Procedures . . . . . 38
2.3.5 On the Behavior of Local Variables . . . . . . . . . . 39
2.3.6 Exercises . . . . . . . . . . . . . . . . . . . . . . . . 41
2.4 Manipulating Character Strings . . . . . . . . . . . . . . . . 42
2.4.1 Character Variables . . . . . . . . . . . . . . . . . . 42
2.4.2 Assigning, Comparing, and Concatenating Strings . 43
2.4.3 More String Functions . . . . . . . . . . . . . . . . . 44
2.4.4 Internal Files . . . . . . . . . . . . . . . . . . . . . . 45
2.4.5 Exercises . . . . . . . . . . . . . . . . . . . . . . . . 46
2.5 Additional Topics . . . . . . . . . . . . . . . . . . . . . . . . 47
2.5.1 Expressions with Mixed Types and Kinds . . . . . . 47
2.5.2 Explicit Type Conversion . . . . . . . . . . . . . . . 48
2.5.3 Generic Procedures . . . . . . . . . . . . . . . . . . . 49
2.5.4 Don’t Pause or Stop . . . . . . . . . . . . . . . . . . 50
2.6 Additional Exercises . . . . . . . . . . . . . . . . . . . . . . 50
3 A Pseudo Object-Oriented Style 55
3.1 Basic Concepts of Object-Oriented Programming . . . . . . 56
Contents xi
3.1.1 Objects and Classes . . . . . . . . . . . . . . . . . . 56
3.1.2 Properties . . . . . . . . . . . . . . . . . . . . . . . . 56
3.1.3 Put and Get . . . . . . . . . . . . . . . . . . . . . . 57
3.1.4 Methods and Constructors . . . . . . . . . . . . . . 57
3.1.5 Conceptualizing an Interface . . . . . . . . . . . . . 58
3.1.6 Other Object-Oriented Concepts . . . . . . . . . . . 60
3.1.7 Exercises . . . . . . . . . . . . . . . . . . . . . . . . 60
3.2 Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
3.2.1 What Is aModule? . . . . . . . . . . . . . . . . . . . 61
3.2.2 How Not to UseModules . . . . . . . . . . . . . . . 62
3.2.3 How to UseModules . . . . . . . . . . . . . . . . . . 64
3.2.4 GenericModule Procedures . . . . . . . . . . . . . . 65
3.2.5 Exercises . . . . . . . . . . . . . . . . . . . . . . . . 66
3.3 Derived Types . . . . . . . . . . . . . . . . . . . . . . . . . 67
3.3.1 What Is a Derived Type? . . . . . . . . . . . . . . . 67
3.3.2 Using Derived Types . . . . . . . . . . . . . . . . . . 69
3.3.3 Constructors and Default Initialization . . . . . . . . 71
3.3.4 Exercises . . . . . . . . . . . . . . . . . . . . . . . . 73
3.4 Pointers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
3.4.1 Fear Not the Pointer . . . . . . . . . . . . . . . . . . 73
3.4.2 Pointer Assignment . . . . . . . . . . . . . . . . . . 74
3.4.3 Pointer Status . . . . . . . . . . . . . . . . . . . . . 76
3.4.4 Pointer Allocation . . . . . . . . . . . . . . . . . . . 77
3.4.5 Pointer Deallocation . . . . . . . . . . . . . . . . . . 77
3.4.6 Memory Leaks . . . . . . . . . . . . . . . . . . . . . 78
3.4.7 Exercises . . . . . . . . . . . . . . . . . . . . . . . . 79
3.5 WhyWe Need Pointers . . . . . . . . . . . . . . . . . . . . 79
3.5.1 Pointers in Derived Types . . . . . . . . . . . . . . . 79
3.5.2 Pointers as Dummy Arguments . . . . . . . . . . . . 80
3.5.3 Recursive Data Structures . . . . . . . . . . . . . . . 82
3.5.4 Procedures for Linked Lists . . . . . . . . . . . . . . 83
3.5.5 Exercises . . . . . . . . . . . . . . . . . . . . . . . . 86
3.6 ExampleModule: A Generic Error Handler . . . . . . . . . 88
3.6.1 Strategy forManaging Run-Time Errors . . . . . . . 88
3.6.2 Structure of theModule . . . . . . . . . . . . . . . . 89
3.6.3 Module Procedures . . . . . . . . . . . . . . . . . . . 91
3.6.4 Using theModule . . . . . . . . . . . . . . . . . . . 96
3.6.5 General Guidelines forModules . . . . . . . . . . . . 99
3.7 Additional Exercises . . . . . . . . . . . . . . . . . . . . . . 100
4 Implementing Computational Routines 101
4.1 Issues of Numerical Accuracy . . . . . . . . . . . . . . . . . 101
4.1.1 Accuracy Is Crucial . . . . . . . . . . . . . . . . . . 101
4.1.2 Floating-Point Approximation . . . . . . . . . . . . 102
4.1.3 Roundoff and Cancellation Error . . . . . . . . . . . 103
xii Contents
4.1.4 Arithmetic Exceptions . . . . . . . . . . . . . . . . . 104
4.1.5 Resources for Numerical Programming . . . . . . . . 106
4.1.6 Exercises . . . . . . . . . . . . . . . . . . . . . . . . 106
4.2 Example: Fitting a Simple FiniteMixture . . . . . . . . . . 109
4.2.1 The Problem . . . . . . . . . . . . . . . . . . . . . . 109
4.2.2 Programming Constants . . . . . . . . . . . . . . . . 110
4.2.3 A Computational Engine Module . . . . . . . . . . . 111
4.2.4 A Public ProcedureWith Safeguards . . . . . . . . . 112
4.2.5 The Computations . . . . . . . . . . . . . . . . . . . 114
4.2.6 Strategies for Calling the Engine . . . . . . . . . . . 115
4.2.7 A Simple Calling Program . . . . . . . . . . . . . . . 116
4.2.8 Test, and Test Again . . . . . . . . . . . . . . . . . . 118
4.2.9 Exercises . . . . . . . . . . . . . . . . . . . . . . . . 119
4.3 Efficient Routines at Lower Levels . . . . . . . . . . . . . . 120
4.3.1 What Is a Lower-Level Procedure? . . . . . . . . . . 120
4.3.2 Keeping Overhead Low . . . . . . . . . . . . . . . . 121
4.3.3 Taking Advantage of Structure . . . . . . . . . . . . 122
4.3.4 Loop Reordering, Stride and Saxpy . . . . . . . . . . 123
4.3.5 Optimization, Pipelining and Multiple Processors . . 125
4.3.6 A Simple Example . . . . . . . . . . . . . . . . . . . 126
4.3.7 Hidden Allocation of Temporary Arrays . . . . . . . 127
4.3.8 Exercises . . . . . . . . . . . . . . . . . . . . . . . . 128
4.4 More Computational Procedure Examples . . . . . . . . . . 128
4.4.1 An Improved Cholesky Factorization . . . . . . . . . 128
4.4.2 Inverting a Symmetric Positive-Definite Matrix . . . 130
4.4.3 Weighted Least Squares . . . . . . . . . . . . . . . . 132
4.4.4 Computational Routines in Object-Oriented Programming
. . . . . . . . . . . . . . . . . . . . . . . . . . . 134
4.5 Additional Exercises . . . . . . . . . . . . . . . . . . . . . . 136
5 Developing a Console Application 139
5.1 A Program for Logistic Regression . . . . . . . . . . . . . . 140
5.1.1 The logistic regression model . . . . . . . . . . . . . 140
5.1.2 Motivation for the ELOGIT Console Program. . . . 140
5.1.3 DependencyMap for Source Components . . . . . . 140
5.1.4 Developing Program Units Incrementally . . . . . . 141
5.2 Where to Begin . . . . . . . . . . . . . . . . . . . . . . . . . 142
5.2.1 Before You Start . . . . . . . . . . . . . . . . . . . . 142
5.2.2 ProgramConstants . . . . . . . . . . . . . . . . . . . 143
5.2.3 The Control File Interface . . . . . . . . . . . . . . . 144
5.2.4 First Snapshot of ELOGIT . . . . . . . . . . . . . . 148
5.2.5 Exercises . . . . . . . . . . . . . . . . . . . . . . . . 150
5.3 Starting theMain TypesModule . . . . . . . . . . . . . . . 151
5.3.1 An Object-Oriented Design . . . . . . . . . . . . . . 151
5.3.2 Storing the Dataset . . . . . . . . . . . . . . . . . . 152
Contents xiii
5.3.3 AModule for Pointer Allocation . . . . . . . . . . . 156
5.3.4 Putting and Getting Data . . . . . . . . . . . . . . . 158
5.3.5 Reading Data from Files . . . . . . . . . . . . . . . . 163
5.3.6 Second Snapshot of ELOGIT . . . . . . . . . . . . . 165
5.3.7 Exercises . . . . . . . . . . . . . . . . . . . . . . . . 167
5.4 Specifying theModel . . . . . . . . . . . . . . . . . . . . . . 167
5.4.1 Storing theModel Specification . . . . . . . . . . . . 167
5.4.2 Putting and GettingModel Properties . . . . . . . . 168
5.4.3 Third Snapshot . . . . . . . . . . . . . . . . . . . . . 172
5.4.4 Exercises . . . . . . . . . . . . . . . . . . . . . . . . 175
5.5 Fitting theModel . . . . . . . . . . . . . . . . . . . . . . . . 176
5.5.1 The Computational Task . . . . . . . . . . . . . . . 176
5.5.2 Newton-Raphson and Weighted Least Squares . . . 176
5.5.3 Parameters and Results . . . . . . . . . . . . . . . . 178
5.5.4 TheModel-Fitting Procedure . . . . . . . . . . . . . 179
5.5.5 Reporting the Results . . . . . . . . . . . . . . . . . 183
5.5.6 Looking Ahead . . . . . . . . . . . . . . . . . . . . . 188
5.6 Additional Exercises . . . . . . . . . . . . . . . . . . . . . . 188
6 Creating and Using Dynamic-Link Libraries 191
6.1 Extending the Functionality of Statistical Packages with Fortran
DLLs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
6.1.1 Compiled Procedures Run Faster . . . . . . . . . . . 191
6.1.2 When to Use a DLL . . . . . . . . . . . . . . . . . . 192
6.2 Understanding Libraries . . . . . . . . . . . . . . . . . . . . 193
6.2.1 Source-Code Libraries . . . . . . . . . . . . . . . . . 193
6.2.2 Static Libraries . . . . . . . . . . . . . . . . . . . . . 194
6.2.3 Dynamic-Link Libraries . . . . . . . . . . . . . . . . 194
6.3 How Programs Use DLLs . . . . . . . . . . . . . . . . . . . 195
6.3.1 Locating the DLL . . . . . . . . . . . . . . . . . . . 195
6.3.2 DLL Hell . . . . . . . . . . . . . . . . . . . . . . . . 196
6.3.3 Dynamic Loading and Linking . . . . . . . . . . . . 196
6.3.4 Load-Time and Run-Time Linking . . . . . . . . . . 197
6.4 Creating a Fortran DLL . . . . . . . . . . . . . . . . . . . . 198
6.4.1 The Basic Steps . . . . . . . . . . . . . . . . . . . . 198
6.4.2 Passing Arguments . . . . . . . . . . . . . . . . . . . 198
6.4.3 Calling Conventions . . . . . . . . . . . . . . . . . . 199
6.4.4 Compiling and Linking the Source Code . . . . . . . 201
6.4.5 Compiler Options . . . . . . . . . . . . . . . . . . . 202
6.5 Example: a Fortran DLL for Fitting an Exponential Mixture 202
6.5.1 Creating aWrapper . . . . . . . . . . . . . . . . . . 202
6.5.2 Building the DLL with Intel Visual Fortran and Lahey/
Fujitsu Fortran . . . . . . . . . . . . . . . . . . 207
6.5.3 Building with Salford Fortran . . . . . . . . . . . . . 209
6.5.4 Calling the DLL Procedure from S-PLUS and R . . 211
xiv Contents
6.5.5 Calling the Function from SAS/IML . . . . . . . . . 214
6.6 Shared Objects in Unix and Linux . . . . . . . . . . . . . . 216
6.6.1 An Example: Extending S-Plus and R via a Fortran
Shared Object in Linux . . . . . . . . . . . . . . . . 217
7 Creating COM Servers 219
7.1 A Simple Example . . . . . . . . . . . . . . . . . . . . . . . 220
7.1.1 Themagic8 FortranModule . . . . . . . . . . . . . . 220
7.1.2 TheMagic8 COMServer . . . . . . . . . . . . . . . 222
7.1.3 Installing the Magic8 COM Server . . . . . . . . . . 222
7.1.4 The 8-Ball Speaks in Excel . . . . . . . . . . . . . . 223
7.1.5 The 8-Ball Speaks in S-PLUS and R . . . . . . . . . 225
7.1.6 The 8-Ball Speaks inMATLAB . . . . . . . . . . . . 226
7.1.7 The 8-Ball Speaks in SAS . . . . . . . . . . . . . . . 227
7.1.8 Exercises . . . . . . . . . . . . . . . . . . . . . . . . 228
7.2 COMServer Basics . . . . . . . . . . . . . . . . . . . . . . . 228
7.2.1 References on COM . . . . . . . . . . . . . . . . . . 228
7.2.2 COM,Windows, and .NET . . . . . . . . . . . . . . 228
7.2.3 COM Servers versus Conventional DLLs . . . . . . . 229
7.2.4 The Object-Oriented Contract . . . . . . . . . . . . 230
7.2.5 In-Process versus Out-of-Process Servers . . . . . . . 231
7.3 Example: A COM Server for Logistic Regression . . . . . . 233
7.3.1 Producing COM Servers with Intel Visual Fortran . 233
7.3.2 Getting Ready . . . . . . . . . . . . . . . . . . . . . 233
7.3.3 Naming the Server and the Class . . . . . . . . . . . 234
7.3.4 Fortran Style Conventions . . . . . . . . . . . . . . . 235
7.3.5 Automatically Generating the COM Server Code . . 236
7.3.6 Building the Project in Visual Studio . . . . . . . . 237
7.3.7 Building and registering the server . . . . . . . . . . 243
7.3.8 Creating a Simple Client . . . . . . . . . . . . . . . . 245
7.4 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248
7.5 How the Fortran COMServerWorks . . . . . . . . . . . . . 249
7.5.1 Overview of the Automatically Generated Code . . . 249
7.5.2 The Interface Definition Language File . . . . . . . . 250
7.5.3 The Instance Code . . . . . . . . . . . . . . . . . . . 250
7.5.4 The Interface Code . . . . . . . . . . . . . . . . . . . 253
7.5.5 Passing Arrays as Variants . . . . . . . . . . . . . . 255
7.5.6 How the COMServer Handles Errors . . . . . . . . 259
7.6 Distributing and Installing COM Servers . . . . . . . . . . . 260
7.7 Additional Exercises . . . . . . . . . . . . . . . . . . . . . . 262
8 Creating COM Clients 265
8.1 An Improved Client for Excel . . . . . . . . . . . . . . . . . 265
8.1.1 Excel As a Graphical User Interface . . . . . . . . . 265
8.1.2 Starting toWrite the Client . . . . . . . . . . . . . . 266
Contents xv
8.1.3 How Did ItWork? . . . . . . . . . . . . . . . . . . . 269
8.1.4 Debugging the Client and Server . . . . . . . . . . . 270
8.1.5 Finishing the Excel Client . . . . . . . . . . . . . . . 274
8.1.6 Exercises . . . . . . . . . . . . . . . . . . . . . . . . 277
8.2 Clients for Other Environments . . . . . . . . . . . . . . . . 277
8.2.1 Keeping It Simple . . . . . . . . . . . . . . . . . . . 277
8.2.2 Clients for S-PLUS and R . . . . . . . . . . . . . . . 277
8.2.3 A Client for SAS . . . . . . . . . . . . . . . . . . . . 281
8.2.4 SPSS . . . . . . . . . . . . . . . . . . . . . . . . . . 288
8.2.5 MATLAB . . . . . . . . . . . . . . . . . . . . . . . . 293
8.3 Creating a Standalone GUI Application . . . . . . . . . . . 296
8.3.1 Component-Based Design . . . . . . . . . . . . . . . 296
8.3.2 Visual Basic .NET . . . . . . . . . . . . . . . . . . . 296
8.3.3 An XML Data Format . . . . . . . . . . . . . . . . . 296
8.3.4 Starting the Graphical Interface . . . . . . . . . . . 298
8.3.5 Reading the Data File . . . . . . . . . . . . . . . . . 299
8.3.6 Specifying theModel . . . . . . . . . . . . . . . . . . 301
8.3.7 Invoking theModel Fit Procedure . . . . . . . . . . 304
8.3.8 Displaying the Results . . . . . . . . . . . . . . . . . 308
8.3.9 Finishing Up . . . . . . . . . . . . . . . . . . . . . . 312
8.3.10 Exercises . . . . . . . . . . . . . . . . . . . . . . . . 312
References 315
特点: 微处理器:内置单片机,并提供200字节掉电保持存储器,用特殊手段一次性写入程序,程序不可读出或改写,保证了微狗不可仿制多种加密算法及变化组合 抗共享:可对抗并口共享器 反跟踪:采用独创的数据交换随机噪声技术,可有效地对抗各种软硬件调试工具 口令:微狗可由软件开发商设置口令,口令错误将不能对数据区进行读写 流水号:每个微狗都有一个唯一的流水号,软件开发商可以通过读流水号区分每一只微狗 AS技术:提供三种加密方式: 外壳加密 ( SHELL )、内嵌式加密( API )、AS加密( SHELL+ API ) 可级联:微狗可多个级联,体积更小,使用更方便 支持多模块和远程升级 支持LINUX 提供高强度的DLL 支持ActiveX 控件 全新的开发商工具,使用更加方便,功能更为强大 USB接口,兼容性极好,不与标准外设产生冲突,且支持热插拔,即插即用 操作系统: DOS,WINDOWS 3.X/9X/NT/2000/ ME/XPLINUX (Red hat 内核2.4以上) 语言环境: DOS16: C,C++,FORTRAN, ASM,Pascal,BASIC ( BASCOM,Quick,True,Turbo ) ,FOXPRO,Clipper, Foxbase,Dbase,EXE/COM文件; DOS32: C,C++ ( High,NDP,Watcom ),FORTRAN ( NDP,PowerStation,Watcom),EXP文件; Win16: C, C++ ( Borland,Visual ),Visual BASIC,FOXPRO,PowerBuilder,Delphi Win32: C,,C++ ( Visual,Borland,C++Builder,MFC ),FORTRAN ( LAHEY,PowerStation,Visual ),Java,VisualBasic,VisualFoxpro,PowerBuilder,Delphi,JavaScript,VBScript,VBA,InstallShield,AutoCAD等。 Linux: C,C++,Java
加密狗系列—软件狗 面向单机环境的低成本加密方案   软件狗是使用在计算机并行口和USB口上的用于软件保护的硬件产品。软件狗采用端口噪声技术,提供100字节的掉电保护存储器,具备反跟踪能力,是经济实用软件保护解决方案的首选。软件狗开发套件有两种选型:并口型和USB型。软件开发商可以采用多种方法保护软件,防止软件被非法拷贝使用。软件狗开发套件由:软件狗、加密接口、开发商工具等组成。 1.软件狗 软件狗指安装在并口上或 USB 口上的硬件狗。软件狗是一个可编程、可读写的存储设备,具有 100 个字节的数据存储区。如果软件狗插在计算机上,您可以通过相应的加密接口函数或开发商工具对软件狗进行访问。 2.加密接口 软件狗开发套件提供的加密接口是一套包含各种开发语言的程序接口模块,可以嵌在程序的源代码中。您可以在您程序中使用软件狗开发套件提供的加密接口对软件狗进行操作。 3.开发商工具(DogEdt32.EXE) 软件狗开发商工具可以使开发商方便地对软件狗存储区进行编辑、读取系列号以及连续初始化等操作。 工作原理: 开发商程序通过调用软件狗开发套件提供的接口模块对软件狗操作,软件狗响应该操作并通过接口模块将相应数据返回给开发商程序。开发商程序可以对返回值进行判定并采取相应的动作。如果返回无效的响应,表明没有正确的软件狗,开发商可以将应用程序终止运行。 简要示意如下: 软件狗开发套件提供了两种加密方案:使用 Obj 、 DLL 、 ActiveX 控件或者直接使用外壳工具,请根据您的需求选择方案。 加密方案一:使用 Obj 、 DLL 、 ActiveX 控件 Obj 、 DLL 、 ActiveX 控件提供了操作软件狗的接口函数,您可以直接在应用程序的源代码里加入这些接口函数的调用,来保护您的一个或者多个软件,然后重新编译您的应用程序。 由您来设置应用程序中调用加密接口的次数以及没有发现软件狗采取的措施。原则上您调用、设置的加密接口越多将更有利于阻止潜在破坏您的软件保护。 加密方案二:使用外壳工具 使用外壳工具对软件保护是一种快速、简单的保护方案。它不象使用接口函数需要对源代码进行改动,而是自动给您的可执行应用程序加了一个保护层。在程序开始运行和运行当中会自动地访问软件狗是否存在。假如软件狗不存在,用户将看到一个错误提示,该应用程序将不能运行。 产品特点: 软件狗开发套件适用于 DOS 、 Windows 3X/9X/ME/NT/2000/XP 、 Linux 操作系统,支持几乎所有主流编程语言、开发工具。软件狗的主要特点如下: 数据交换随机噪声技术 有效地对抗逻辑分析仪及各种调试工具的攻击,完全禁止软件仿真程序模拟并口的数据。 迷宫技术 在 RC-DL 函数入口和出口之间包含大量复杂的判断跳转干扰代码,动态改变执行次序,提升 RC-DL 的抗跟踪能力。 时间闸 硬件狗内部设有时间闸,各种操作必须在规定的时间内完成。硬件狗正常操作用时很短,但跟踪时用时较长,超过规定时间,硬件狗将返回错误结果。 AS 技术 API 函数调用与 SHELL 外壳加密相结合的方式,同时使用能够达到极高的加密强度。 RC-DL 开发套件在外壳加密工具中与调用的 API 函数建立了对应关系。这样处理后,程序中调用的 API 函数只有在有外壳的情况下才能正确运行,而外壳本身隐蔽了对 API 函数的调用。 抗共享 可以通过编程的方式实现对抗并口共享器。 存储器 提供 100 字节掉电保持数据存储区供开发商存放关键数据、配置参数等信息,可通过 RC-DL 开发商工具或接口函数对存储区进行读写。 改良的硬件驱动程序 驱动程序的安装及发布更加方便、快捷,开发商只需使用 InstDrv.exe 安装驱动程序,硬件即可正常工作。 崭新的硬件狗编辑工具 DogEdt32.exe 集成了原有 DogEdt32.exe 、 Reveal.exe 、 Convert.exe 三个工具,并新增错误码查询功能,令硬件狗编辑调试过程更趋简捷、顺畅。 高强度动态库加密方式 在原有加密方式基础上,新增 C 语言高强度动态库加密方式,并有效运用动态库认证安全机制,确保动态库调用具有无与伦比的安全可靠性。 支持 ActiveX 控件 开发商可以在网页中或 VB 、 VC 中使用 ActiveX 控件对硬件狗进行操作。 Linux 模块 提供了针对 Linux 内核 2.2 和 2.4 版本驱动程序,开发商可以使用 Linux 模块保护运行于 Linux 操作系统上的应用程序。 新增功能: 软件狗开发套件 3.0 版新增功能在软件狗开发套件 V3.0 中,新增了与原并口硬件完全兼容的 UDA 型 USB 软件狗。 USB 软件狗也提供了 100 字节的用户存储区。新的开发商工具( DogEdt32.EXE )或接口函数既可以老的并口硬件,也可以对新的 USB 硬件进行操作。 已安装了软件狗开发套件 V2.1 的老用户如要使用 UDA 型 USB 软件狗,必须重新安装软件狗开发套件 V3.0 ,以安装 UDA 型 USB 软件狗的驱动程序并更新开发套件的 OBJ 。 开发商如果使用 WIN32 模块,在 Windows98 或更高版本( WindowsME/2K/XP )下既可以使用 USB 软件狗也可以使用并口软件狗。目前暂不提供 USB 软件狗在 Windows NT4 上的驱动程序,即在 Windows NT4 操作系统上,目前只能使用并口软件狗。 在安装 Linux2.4 以上内核的 Linux 系统中,既可以使用并口软件狗也可以使用 USB 软件狗。 WIN16 、 DOS16 、 DOS32 模块本次没有改动,仍只支持并口软件狗。 软件狗开发套件 目前最新版本为 v3.0 支持并口硬件 RC-DL (现已更名为 PDL ) , 支持 USB 口硬件 UDA 适用语言环境: 并口型软件狗: DOS16: C , C++, FORTRAN, ASM, Pascal, BASIC ( BASCOM, Quick,True, Turbo ) , FOXPRO, Clipper, Foxbase, Dbase, EXE/COM 文件;DOS32: C, C++ ( High, NDP, Watcom ), FORTRAN ( NDP, PowerStation,Watcom) , EXP 文件; Win16: C, C++ ( Borland, Visual ), Visual BASIC, FOXPRO, PowerBuilder,Delphi Win32: C, C++ ( Visual, Borland, C++Builder, MFC ), FORTRAN ( LAHEY,PowerStation, Visual ), Java, VisualBasic, VisualFoxpro, PowerBuilder,Delphi,JavaScript, VBScript, VBA, InstallShield, AutoCAD, .NET 等。 Linux: C, C++, Java USB 型软件狗: Win32: C, C++ ( Visual, Borland, C++Builder, MFC), FORTRAN ( LAHEY, PowerStation, Visual ), Java, VisualBasic, VisualFoxpro, PowerBuilder, Delphi , JavaScript, VBScript, VBA, InstallShield, AutoCAD, .NET 等等。 Linux: C, C++, Java 适用操作系统: 并口型软件狗: DOS , Windows 3.x / 9x / ME / NT / 2000 / XP / Sever 2003 LINUX (Red hat 内核 2.2 / 2.4) USB 型软件狗: Windows 98 / ME / 2000 / XP / Sever 2003 LINUX (Red hat 内核 2.2 / 2.4) 开发商升级注意事项: 并口 RC-DL (现已更名为 PDL )型软件狗的软件软件狗开发套件 V3.0 与原 DJ/DK 完全兼容,即使用软件狗开发套件 V3.0 的驱动程序、模块及工具,可以正常操作 DJ/DK 型软件狗。所以建议使用原 DJ/DK 软件的开发商将您的驱动程序、模块及工具全部用软件狗开发套件 V3.0 (光盘版)套件升级。 如果您仍旧使用原有的 DI/DJ/DK 驱动程序、模块及工具,在 DOS 、 Windows 9X/NT/2000 下对 RC-DL 只能做读操作,写操作将失败。如果您不想改动已发行的软件,而还要使用 RC-DL 型软件狗,只升级驱动程序也可以,但您的程序必须是 WIN32 程序。如果您加密的程序是 DOS16 、 DOS32 或 WIN16 程序,您必须升级新的模块及工具,否则将无法对 RC-DL 型软件狗进行写操作。 使用方法: 1.对 EXE 文件 ( 或 COM 文件 ), 利用配套软件中的 EXE 文件加密工具加密。 2 对数据库文件 (PRC 、 FOX 、 APP 、 DBF), 利用配套软件中的加密工具加密。 3 对于 C 语言及其它编译型语言,配套软件中提供可链接的模块文件 (OBJ 文件 ) , 模块文件中提供两个函数 :(1) 写数据 ; ⑵读数据。开发商可在要加密软件的源码中加入适当的调用语句,对软件狗进行读写操作,以确定对应的软件狗是否存在,从而决定程序是否继续运行。对加入软件狗函数调用的源程序编译后,链接时加上软件狗的模块文件 (OBJ) 即可。

3,423

社区成员

发帖
与我相关
我的任务
社区描述
其他开发语言 其他开发语言
社区管理员
  • 其他开发语言社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧