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

推荐订阅源

K
Kaspersky official blog
Martin Fowler
Martin Fowler
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
V
Visual Studio Blog
博客园_首页
Engineering at Meta
Engineering at Meta
The Cloudflare Blog
MongoDB | Blog
MongoDB | Blog
Blog — PlanetScale
Blog — PlanetScale
T
The Blog of Author Tim Ferriss
雷峰网
雷峰网
D
Docker
博客园 - 司徒正美
S
SegmentFault 最新的问题
M
MIT News - Artificial intelligence
博客园 - 叶小钗
博客园 - 三生石上(FineUI控件)
U
Unit 42
J
Java Code Geeks
A
About on SuperTechFans
N
Netflix TechBlog - Medium
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
S
Security Affairs
I
Intezer
Cisco Talos Blog
Cisco Talos Blog
C
Cyber Attacks, Cyber Crime and Cyber Security
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
B
Blog RSS Feed
P
Privacy & Cybersecurity Law Blog
T
Tenable Blog
T
Threatpost
H
Hacker News: Front Page
G
Google Developers Blog
博客园 - 【当耐特】
Hugging Face - Blog
Hugging Face - Blog
Apple Machine Learning Research
Apple Machine Learning Research
L
Lohrmann on Cybersecurity
大猫的无限游戏
大猫的无限游戏
Google DeepMind News
Google DeepMind News
A
Arctic Wolf
S
Secure Thoughts
GbyAI
GbyAI
NISL@THU
NISL@THU
S
Security @ Cisco Blogs
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
Webroot Blog
Webroot Blog
C
CXSECURITY Database RSS Feed - CXSecurity.com
O
OpenAI News
Spread Privacy
Spread Privacy
Application and Cybersecurity Blog
Application and Cybersecurity 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);
 
}