惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

W
WeLiveSecurity
The GitHub Blog
The GitHub Blog
Engineering at Meta
Engineering at Meta
Microsoft Azure Blog
Microsoft Azure Blog
The Register - Security
The Register - Security
Stack Overflow Blog
Stack Overflow Blog
博客园 - 三生石上(FineUI控件)
T
Threat Research - Cisco Blogs
S
SegmentFault 最新的问题
V2EX - 技术
V2EX - 技术
Hacker News: Ask HN
Hacker News: Ask HN
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
P
Proofpoint News Feed
J
Java Code Geeks
Microsoft Security Blog
Microsoft Security Blog
M
MIT News - Artificial intelligence
AI
AI
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
P
Proofpoint News Feed
Hacker News - Newest:
Hacker News - Newest: "LLM"
B
Blog
N
News and Events Feed by Topic
N
News | PayPal Newsroom
Google DeepMind News
Google DeepMind News
酷 壳 – CoolShell
酷 壳 – CoolShell
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
WordPress大学
WordPress大学
C
Cybersecurity and Infrastructure Security Agency CISA
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
博客园 - 【当耐特】
U
Unit 42
腾讯CDC
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
The Cloudflare Blog
H
Help Net Security
Recent Announcements
Recent Announcements
P
Privacy & Cybersecurity Law Blog
IT之家
IT之家
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Security Archives - TechRepublic
Security Archives - TechRepublic
L
LINUX DO - 热门话题
Martin Fowler
Martin Fowler
MongoDB | Blog
MongoDB | Blog
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
H
Heimdal Security Blog
博客园 - 聂微东
S
Securelist
大猫的无限游戏
大猫的无限游戏
Cloudbric
Cloudbric
Cisco Talos Blog
Cisco Talos Blog

博客园 - lifz

捕获asp.net下的未处理异常 延迟加载的一般实现 (ZT)在Struts中使用Validator框架 业界内广为流传的关于项目管理的通俗讲解 IPM 认识到单元测试的重要性 项目小结 SQL Server多事务并发问题 4xx: Client Error 使用者端(浏览器)错误讯息 Audit审计 COM+组件提供的企业级服务 An n-tiered Approach of Asp.Net Stored Procedure Temp Table Excel Template Export .NET企业服务器要点 jsp页面请求过程 asp.net页面处理过程 How to J2EE Asp.net Authorization Asp.net Authentication
加密技巧
lifz · 2005-09-20 · via 博客园 - lifz

选准注册源、经常变动注册算法、加密注册码、管理好注册机防止外流、采用在线式的注册方法

其实,如果程序运行速度的要求不高的话,嘿嘿,我的做法是在代码里到处插入验证是否注册过的检验代码,而且不要用调用函数的形式,注册码明文肯定是不可以有的,可以采用判断完了不进行判断跳转,而是在程序里其他地方要用的某个变量的不可能用到的一个比特上 做个标记,嘿嘿,在别处一个不起眼的地方做判断

还有个方法,监测到已经被破解之后当时不采取措施,悄悄的把某些窗体Free掉。这样当时看不出来问题,用一会儿就会报XXX read fail了。

1、保护你的校验算法,具体的做法就是千万别使用校验函数把你的校验算法嵌入功能代码里是比较保险的,这样破解者至少要花很多精力去研究那一部分是校验算法。当然这还不够,你还可以把检验算法分散到2个地方,当然更多地方效果会更好,只是将来代码维护起来会很麻烦的。

2、用Aspack,upx之类的压缩执行文件工具做进一步的保护。然后检查exe文件特定位置的byte是否变化,以确定软件是否被改动

3、防止暴破:千万不要用明文比较(用byte二进制比较)。再想保护深一点就加入一些冗余代码

#include "stdafx.h"

#include "string.h"
 

void getcpuid(char* CpuId);

int main(int argc, char* argv[])

{
         char cpuid[255];

         getcpuid(cpuid);
         printf(cpuid);printf("\n");
  
   return 0;
}

void getcpuid(char* CpuId)

{

         char szCPUID[129] = {NULL};

         char szTmp[33] = {NULL};

         unsigned long s1 = 0, s2 = 0;

         _asm {

                   mov eax,01h

                            xor edx,edx

                            cpuid

                            mov s1,edx

                            mov s2,eax

         }

         sprintf(szTmp, "%08X %08X ", s1, s2);

         strcpy(szCPUID, szTmp);

         _asm {

                   mov eax,03h

                            xor ecx,ecx

                            xor edx,edx

                            cpuid

                            mov s1,edx

                            mov s2,ecx

         }

         sprintf(szTmp, "%08X %08X", s1, s2);

         strcat(szCPUID, szTmp);

         strcpy(CpuId,szCPUID);
 
}