導航:首頁 > 凈水問答 > movecxedi

movecxedi

發布時間:2025-06-13 01:33:12

A. 軟體如何脫殼

步驟1檢測殼

殼的概念:

所謂「殼」就是專門壓縮的工具。

這里的壓縮並不是我們平時使用的RAR、ZIP這些工具的壓縮,殼的壓縮指的是針對exe、com、和dll等程序文件進行壓縮,在程序中加入一段如同保護層的代碼,使原程序文件代碼失去本來面目,從而保護程序不被非法修改和反編譯,這段如同保護層的代碼,與自然界動植物的殼在功能上有很多相似的地方,所以我們就形象地稱之為程序的殼。

殼的作用:

1.保護程序不被非法修改和反編譯。

2.對程序專門進行壓縮,以減小文件大小,方便傳播和儲存。

殼和壓縮軟體的壓縮的區別是

壓縮軟體只能夠壓縮程序

而經過殼壓縮後的exe、com和dll等程序文件可以跟正常的程序一樣運行

下面來介紹一個檢測殼的軟體

PEIDv0.92

這個軟體可以檢測出450種殼

新版中增加病毒掃描功能,是目前各類查殼工具中,性能最強的。

另外還可識別出EXE文件是用什麼語言編寫的VC、Delphi、VB或Delphi等。

支持文件夾批量掃描

我們用PEID對easymail.exe進行掃描

找到殼的類型了

UPX0.89.6-1.02/1.05-1.24->Markus&Laszlo

說明是UPX的殼

下面進行

步驟2脫殼

對一個加了殼的程序,去除其中無關的干擾信息和保護限制,把他的殼脫去,解除偽裝,還原軟體本來的面目。這個過程就叫做脫殼。

脫殼成功的標志

脫殼後的文件正常運行,功能沒有損耗。

還有一般脫殼後的文件長度都會大於原文件的長度。

即使同一個文件,採用不同的脫殼軟體進行脫殼,由於脫殼軟體的機理不通,脫出來的文件大小也不盡相同。

關於脫殼有手動脫殼和自動脫殼

自動脫殼就是用專門的脫殼機脫很簡單按幾下就OK了

手動脫殼相對自動脫殼需要的技術含量微高這里不多說了

UPX是一種很老而且強大的殼不過它的脫殼機隨處就能找到

UPX本身程序就可以通過

UPX文件名-d

來解壓縮不過這些需要的命令符中輸入

優點方便快捷缺點DOS界面

為了讓大家省去麻煩的操作就產生了一種叫UPXSHELL的外殼軟體

UPXSHELLv3.09

UPX外殼程序!

目的讓UPX的脫殼加殼傻瓜化

註:如果程序沒有加殼那麼我們就可以省去第二步的脫殼了,直接對軟體進行分析了。

脫完後我們進行

步驟3

運行程序

嘗試注冊

獲取注冊相關信息

通過嘗試注冊我們發現一個關鍵的字元串

「序列號輸入錯誤」

步驟4

反匯編

反匯編一般用到的軟體都是W32Dasm

W32dasm對於新手易於上手操作簡單

W32Dasm有很多版本這里我推薦使用W32Dasm無極版

我們現在反匯編WebEasyMail的程序文件easymail.exe

然後看看能不能找到剛才的字元串

步驟5

通過eXeScope這個軟體來查看未能在w32dasm中正確顯示的字元串信息

eXeScopev6.50

更改字體,更改菜單,更改對話框的排列,重寫可執行文件的資源,包括(EXE,DLL,OCX)等。是方便強大的漢化工具,可以直接修改用VC及DELPHI編制的程序的資源,包括菜單、對話框、字元串表等

新版可以直接查看加殼文件的資源

我們打開eXeScope

找到如下字串符

122,"序列號輸入錯誤"

123,"恭喜您成為WebEasyMail正式用戶中的一員!"

124,注冊成功

125,失敗

重點是122

步驟6

再次返回w32dasm

*=00122:"?_e?"

但是雙擊後

提示說找不到這個字串符

不是沒有是因為"?_e?"是亂碼w32dasm對於中文顯示不是太好

畢竟不是國產軟體

先把今天會用到的匯編基本指令跟大家解釋一下

mova,b;把b的值賦給a,使a=b

call:調用子程序,子程序以ret結為

ret:返回主程序

je或jz:若相等則跳轉

jne或jnz:若不相等則跳轉

pushxx:xx壓棧

popxx:xx出棧

棧,就是那些由編譯器在需要的時候分配,在不需要的時候自動清楚的變數的存儲區。裡面的變數通常是局部變數、函數參數等。

我們搜索

=00122

因為對E文支持很好

我們來到了

*Referencedbya(U)or(C)onditionalJumpatAddress:

|:00406F17(C)//跳轉來自406F17

|

*=00125:"1%"

|

004070DD6A7Dpush0000007D

004070DF8D4C2410leaecx,dwordptr[esp10]

*=00122:"?_e?"

|

004070E86A7Apush0000007A

004070EA8D4C2408leaecx,dwordptr[esp08]

我們來到

00406F01moveax,dwordptr[edi0000086C]這里是對

00406F078B4C2408movecx,dwordptr[esp08]

00406F0B50pusheax//這兩個eax和ecx入棧就比較讓我們懷疑了

00406F0C51pushecx//產生注冊碼

//這CALL里對注冊位應該會有設置

00406F1283C40Caddesp,0000000C

00406F1585C0testeax,eax//檢測注冊位

00406F17jne004070DD//不存在注冊位就會跳到4070DD就會出現那個錯誤的字串符了

我們記住406F01這個地址

接著進行下一步

步驟7

這一步我們進行的是調試

用到的軟體是ollydbg

好了我們找到了注冊碼0012AF0400FD4A10ASCII""

但是這個並不是我們的主要目的

我們還要做出屬於自己的注冊機

相信這個是很多人夢寐以求的事情

步驟8

製作注冊機

注冊機我們需要的是一個KEYMAKE的軟體

因為2.0是演示版而且停止更新了

所以我們用1.73版

做一個內存注冊機需要下面幾個資料

中斷地址:406F0C

中斷次數:1

第一位元組:51

指令長度:1

好了一個完美的注冊機就產生了

還不趕快發給你的朋友炫耀一下

保證讓他迷糊死佩服得你要死

其實最後還有幾個步驟

就是撰寫破文

不過大家都是新手這個步驟就去了吧

不知不覺說了這么多廢話希望能對大家有些作用

B. 匯編語言怎麼產生隨機數

NASM匯編:

section	.text
global_start;gcc必須的聲明
rand:;生成隨機數,返回值在eax
pushedx
rdtsc;內核納秒級時間作為種子
imuleax,edx
addeax,0xF1E2D3C4
imuleax,0xB5A69788
popedx
ret
_start:;程序入口
nop
callrand;生成隨機數

movesi,msg
movecx,len
callbinasc;轉換成ascii

mov edx,ecx;顯示
mov ecx,esi
mov ebx,1
mov eax,4
int 0x80
moveax,1;退出
xorebx,ebx
int80h

;將數字轉換成ascii
binasc:
push edx
push ebx
push edi
push eax
mov edi,esi
ba1:
mov byte[esi],''
inc esi
loop ba1
mov ebx,10
or eax,eax
jns ba2
neg eax
ba2:
xor edx,edx
div ebx
add dl,'0'
dec esi
mov [esi],dl
inc ecx
cmp esi,edi
jz ba4
or eax,eax
jnz ba2
pop eax
or eax,eax
jns ba3
dec esi
mov byte[esi],'-'
inc ecx
ba3:
pop edi
pop ebx
pop edx
ret
ba4:
pop eax
jmp ba3
section .data

msg db '',0xa
len equ $-msg

多次運行結果:

閱讀全文

與movecxedi相關的資料

熱點內容
離子交換樹脂對氨氮的去除 瀏覽:374
歐普若超濾直飲機怎麼用 瀏覽:937
海爾飲水機多少錢一台 瀏覽:32
供暖過濾器清洗 瀏覽:774
紅色濾芯跟黃色濾芯有什麼區別 瀏覽:75
純水電極怎麼賣 瀏覽:454
lexy萊克掛燙機如何除垢 瀏覽:922
飲水機加熱器不跳壓怎麼辦 瀏覽:91
中水處理站工作原理 瀏覽:627
超濾膜最高承受溫度 瀏覽:483
把丙烷加熱蒸餾流程圖 瀏覽:930
夢見污水溝里很多魚 瀏覽:864
污水處理廠的水是怎麼來迴流動 瀏覽:836
包頭市反滲透阻垢劑廠家 瀏覽:62
不銹鋼過濾網排名 瀏覽:933
燒水喝的用什麼凈水器 瀏覽:617
前置桶過濾不幹凈 瀏覽:408
怎麼清洗上過濾棉 瀏覽:16
南山區污水改造工程 瀏覽:818
ro反滲透純水機好處 瀏覽:709