示例图片三

新闻资讯

联系方式

加密狗复制克隆网
电  话:13528540969
联系人:  刘先生
Email:4642967@qq.com
网  址:www.crackdongle.com
地  址 :广东省深圳市地王大厦38层8801号

当前位置: 网站首页 > 新闻资讯 > 技术文章
技术文章

如何使用dll进行验证注册加密狗的方式

分析某软件的注册验证, 发现它是通过调用一个dll来判断keyfile内容是否正确, 是否在使用期之内, 并且这个子程序作的很是复杂, 当然如果想找算法还是能找得到:) 如keyfile正确, 则返回eax=0, 并且内存某位置的8个字节应该为固定的一个值. 这样, 分析dll文件, 发现它仅有这一个导出的函数, 那么仿造这样一个dll是完全可行的。内容简单如下:

.386
.model flat,stdcall
option casemap:none
include \masm32\include\windows.inc
include \masm32\include\user32.inc
include \masm32\include\kernel32.inc
includelib \masm32\lib\user32.lib
includelib \masm32\lib\kernel32.lib

.data
.RADIX 16
SomeThing db 26, 1d, 28, 15, 34, 5d, 08, 4b, 10, 1b, 00
.code
.RADIX 16
DllEntry proc hInstDLL:HINSTANCE, reason:DWORD, reserved1:DWORD
mov eax,TRUE
ret
DllEntry Endp
;---------------------------------------------------------------------------------------------------
;反击1。
;----------------------------------------------------------------------------------------------------
XXXX proc
push ecx
push esi
push edi
mov edi, dword ptr [esp+14] ;待赋值内存位置
lea esi, SomeThing
push 0b
pop ecx
rep movsb
pop edi
pop esi
pop ecx
xor eax, eax ;正确的返回值
ret 0c ;入栈有三个参数,保持stack平衡
XXXX endp

End DllEntry

分享到:
点击次数:  更新时间:2018-01-29 22:13:25  【打印此页】  【关闭