|
Tea 加密算法的疑问?
这里有一个我写的,不过是128轮的.要32轮的把TEALIMIT改一下 cbData要求是8的整数倍 TEADELTA equ 09E3779B9h ;(sqrt(5)-1)*2^31 TEALIMIT equ 01BBCDC80h ;DELTA * 128 TEAEncrypt proc uses ebx esi edi lpData:DWORD,cbData:DWORD,lpKey:DWORD .if cbData==0 ret .endif push ebp ;sub esp,8 mov eax,cbData .if eax & 7 or eax,7 inc eax .endif add eax,lpData push eax push lpData mov ebx,lpKey .while TRUE mov ecx,[esp] .break .if ecx==[esp+4] add DWORD ptr [esp],8 mov esi,[ecx] mov edi,[ecx+4] push ecx xor edx,edx .while edx!=TEALIMIT mov eax,edi shl eax,4 mov ecx,edi shr ecx,5 xor eax,ecx mov ebp,eax mov eax,edi xor eax,edx add ebp,eax mov eax,edx and eax,3 add ebp,[ebx+4*eax] add esi,ebp add edx,TEADELTA mov eax,esi shl eax,4 mov ecx,esi shr ecx,5 xor eax,ecx mov ebp,eax mov eax,esi xor eax,edx add ebp,eax mov eax,edx shr eax,11 and eax,3 add ebp,[ebx+4*eax] add edi,ebp .endw pop ecx mov [ecx],esi mov [ecx+4],edi .endw add esp,8 pop ebp ret TEAEncrypt endp TEADecrypt proc uses ebx esi edi lpData:DWORD,cbData:DWORD,lpKey:DWORD .if cbData==0 ret .endif push ebp ;sub esp,8 mov eax,cbData .if eax & 7 or eax,7 inc eax .endif add eax,lpData push eax push lpData mov ebx,lpKey .while TRUE mov ecx,[esp] .break .if ecx==[esp+4] add DWORD ptr [esp],8 mov esi,[ecx] mov edi,[ecx+4] push ecx mov edx,TEALIMIT .while edx mov eax,esi shl eax,4 mov ecx,esi shr ecx,5 xor eax,ecx mov ebp,eax mov eax,esi xor eax,edx add ebp,eax mov eax,edx shr eax,11 and eax,3 add ebp,[ebx+4*eax] sub edi,ebp sub edx,TEADELTA mov eax,edi shl eax,4 mov ecx,edi shr ecx,5 xor eax,ecx mov ebp,eax mov eax,edi xor eax,edx add ebp,eax mov eax,edx and eax,3 add ebp,[ebx+4*eax] sub esi,ebp .endw pop ecx mov [ecx],esi mov [ecx+4],edi .endw add esp,8 pop ebp ret TEADecrypt endp |
|
[绝对爆料]NTRing3级下使用API直接读写硬盘[原创]
试了试,好像不能读MBR 写我不敢试 大家看看情况跟我一样吗 Windows 2000 SP4 int 3 invoke CreateFile,CTXT("\\.\PHYSICALDRIVE0"),GENERIC_READ,FILE_SHARE_WRITE,0,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL mov hPhy,eax ;invoke SetFilePointer,eax,1234567,0,FILE_BEGIN invoke ReadFile,hPhy,offset buff,512,ADDR JuNk,NULL int 3 |
|
|
|
关于Base Of Code
就是随便拿一个程序,点rebuilder,BaseOfCode就变成0000000C了 改成别的值程序无法运行,但是没有用rebuilder重建过的改成什么值都正常,不理解 还有,楼上的说的是ImageBase吧? |
|
脱壳之路能走多远?
壳加的越深,兼容性就越不好。总有个极限的 |
|
|
操作理由
RANk
{{ user_info.golds == '' ? 0 : user_info.golds }}
雪币
{{ experience }}
课程经验
{{ score }}
学习收益
{{study_duration_fmt}}
学习时长
基本信息
荣誉称号:
{{ honorary_title }}
能力排名:
No.{{ rank_num }}
等 级:
LV{{ rank_lv-100 }}
活跃值:
在线值:
浏览人数:{{ visits }}
最近活跃:{{ last_active_time }}
注册时间:{{ user_info.create_date_jsonfmt }}
勋章
兑换勋章
证书
证书查询 >
能力值