首页
社区
课程
招聘
[求助]请帮帮忙,帮看看这算法逆向计算公式如何写了! [已解决]
发表于: 2009-9-22 03:54 4742

[求助]请帮帮忙,帮看看这算法逆向计算公式如何写了! [已解决]

2009-9-22 03:54
4742
正在分析一个软件KEY的算法
解密算法部分已成功用汇编代码写出来了, 但想来想去还搞不懂如何写回一个加密算法出来!
没办法之下惟有向各位大侠求助一下了, 以下是我用汇编写的解密算法!
先谢谢各位大侠了, 帮助我一下吧!

.486
.model flat,stdcall
option casemap:none

include windows.inc

.data
PassWord db 'adferg!@#)*&^',0
Key dd 2CD84D10h,6BDA3AF5h,0C3B55EB8h,0FC3A36DFh,1308h
; 104DD82CF53ADA6BB85EB5C3DF363AFC0813
i dd 0
n dd 0

.data?
hInstance dd ?

.code

DllEntry proc hInst:HINSTANCE, reason:DWORD, reserved1:DWORD
mov eax, hInst
mov hInstance, eax
push offset Key
call Decrypt
mov eax, TRUE
ret
DllEntry Endp

Decrypt proc KeyIn:DWORD
LOCAL Host[14h]:BYTE

mov ecx,KeyIn
@@1:
.if i < 0Dh
inc i
.elseif
mov i,1
.endif
mov eax,offset PassWord
mov edx,i
movzx eax,byte ptr ds:[eax+edx-1]
inc n
mov edx,n
xor al,byte ptr ds:[ecx+edx+1]
.if al <= byte ptr ds:[ecx+edx]
add eax,0FFh
.endif
movzx ebx,byte ptr ds:[ecx+edx]
sub eax,ebx
mov byte ptr ds:[Host+edx-1],al
cmp dl,byte ptr ds:[ecx]
jl short @@1
mov dword ptr ds:[Host+edx],0
ret

Decrypt endp

End DllEntry

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

收藏
免费 0
支持
分享
最新回复 (1)
雪    币: 2248
活跃值: (866)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
如何能逆算过来对指定字符进行加密了~
2009-9-22 03:55
0
游客
登录 | 注册 方可回帖
返回
//