国产一级一区二区_segui88久久综合9999_97久久夜色精品国产_欧美色网一区二区

掃一掃
關注微信公眾號

不脫殼直接破解軟件的方法
2007-02-11   賽迪網安全社區

要實現帶殼軟件直接打補丁,需要一些技巧和運氣,雖然這看起來是很不容易實現的,其實并不象大家想的那么難,下面聽我慢慢道來。

要實現這種帶殼補丁的目的,當然你需要作充分的前提條件:

過硬的軟件跟蹤與分析能力,因為你沒有軟件作者的源碼,一切都要靠自己動手;

簡單代碼編寫能力,當然是匯編代碼,可以借調試軟件幫忙;

必備工具:PEiD、OllyDbg、W32DasM、文本編輯器(WinHex或UltraEdit或其它)、文件增肥工具(如:ZeroAdd)等;

任一編程平臺,編寫補丁程序用(與使用漢化補丁類似);

最簡單的加、減法運算(Icefire:這也算一條?)。

作為練習,下面以 LS定時器為例,看看如何帶殼編寫破解補丁。這個軟件提供如下功能:它可以根據你的設定在你需要的時候提醒你,防止你忘記重要的事情;它可以根據你的設定在你需要的時候運行制定程序;各種提示都是可以是重復的,它可以每分鐘、每小時、每日、每天、每周、每月、每年的重復決不會怕麻煩;在某一時間,例如:2004年1月1日20點30分關機;倒計時一定時間,例如:在2小時30分以后關機;當鍵盤和鼠標沒有操作一定時間,例如:在你離開電腦30分鐘后關機。

該軟件未注冊時只能使用30天,30天過后只能注冊后才能使用。

初步準備

首先使用PEiD探測得知,軟件使用了ASPack 2.12->Alexey Solodovnikov加的殼。這種殼脫殼也較為容易,特征標志比較明顯。加了這種殼的軟件運行時,殼先自行釋放被加殼的軟件,然后將再運行被加殼的軟件。我們只要找出釋放后、運行前的位置,在這個位置跳到我們的補丁代碼處進行補丁行動,補丁完成后返回,接著繼續軟件就完事了。

使用OllyDbg載入程序,不用運行。向下滾動代碼區,直到找到如下代碼:

006083AF 61 POPAD
006083B0 75 08 JNZ SHORT LsDown.006083BA
006083B2 B8 01000000 MOV EAX,1
006083B7 C2 0C00 RETN 0C
006083BA 68 00000000 PUSH 0
006083BF C3 RETN

復制出來備用。在OllyDbg代碼區按住右邊的滾動條向下拖動,直到底部的全0區域。在全0區域的前部,選一個偏移好記的位置。在代碼區雙擊,在彈出的編輯框中輸入任意一條匯編指令,如:RETN。

在OllyDbg中選擇這段代碼,點右鍵,在彈出的菜單中執行“復制到可執行文件——選擇部分(不同版本的OD這個菜單略有不同)”,在跳出的代碼框中點右鍵,并在彈出的菜單中執行“保存文件”,另起一個名稱,保存備用(為簡化計算,此過程必需)。

深入跟蹤

這里是個高強度的工作,你需要有足夠耐力和觀察分析判斷力。你沒有注冊,又過了試用期。所以你必須找到所有的判斷注冊與否的關鍵跳轉,并記錄下相關的代碼部分(該軟件使用的非可逆注冊算法,只能爆破)。通過尋找,會得到如下關鍵代碼處:

1、005131FA SETE AL
2、0051321E JNZ SHORT LsDown.00513227
3、00533C89 JE SHORT LsDown.00533C91

通過分析和試驗,發現需要將它們分別更改成為:

1、005131FA MOV AL,1
NOP
2、0051321E JE SHORT LsDown.00513227
3、00533C89 JNZ SHORT LsDown.00533C91

則軟件可以使用并且沒有任何限制。

制作模擬補丁

因為這里所說的補丁制作不是在軟件里直接完成,而是另用編程軟件制作,所以需要取得補丁的匯編級機器碼。又因為上述需要修改的匯編代碼的機器碼為:

MOV AL,1-->B0 01
NOP -->90
JE SHORT LsDown.00513227-->74 07
JNZ SHORT LsDown.00533C91-->75 06

其偏移地址分別為:

005131FA
0051321E
00533C89

所以模擬補丁形如:

MOV WORD PTR SS:[5131FA],1B0 
MOV BYTE PTR DS:[5131FC],90
MOV BYTE PTR DS:[51321E],74
MOV BYTE PTR DS:[533C89],75
JMP LsDown.006083BA ;補丁完成后的返回
NOP
NOP

再在OllyDbg中下面的代碼區的全0區域的任意位置輸入上述匯編代碼,然后復制出對應的匯編機器碼備用。在返回到偏移006083B0處,將JNZ SHORT LsDown.006083BA改為形如JMP 0060A310(你選定的位置),復制出機器碼備用。到此,模擬補丁代碼獲取工作完成。

編寫補丁程序

眾所周知,反匯編后的代碼位置的偏移與軟件經過編譯后的物理偏移是不一樣的,要在殼外植入補丁需要取得對應位置的物理偏移。我們這里需要兩處物理偏移,一處是對應于JNZ SHORT LsDown.006083BA的,一處是補丁部分的起始位置,這就要借助于文本編輯器進行。

用UltraEdit(或其它文本編輯器)打開前面保存的修改過的更名文件,使用查找功能查找hex:75 08 B8 01(對應于JNZ SHORT LsDown.006083BA)。得到首地址為:000935B0h,記下備用,然后拉到文件的最后,查找添加的代碼位置(對應RETN),得到首地址為:00095510h(視你選擇的位置不同而不同),記下備用,至此全部準備工作完成。

做好上述準備工作后,你就可以使用任一編程軟件來編寫你的補丁用程序了。

請注意我們所要做的工作:修改006083B0處的跳轉;植入動態補丁代碼和設置返回跳轉,其余還應該考慮版本檢測、原文件備份、提示幫助等問題。以下是我用 VB 編寫的主要部分代碼:

Open Fname For Binary As fhandle
'再次檢驗
'=============================================
'尋找軟件版本的關鍵標志 
'VB中Get命令讀數據指針從1開始,注意與hex編輯器中的地址
'的區別。即 偏移+1。
Get fhandle, &H935B0, data1 '為保險讀取四個字節,也可多讀
Get fhandle, &H935B1, data2
Get fhandle, &H935B2, data3
Get fhandle, &H935B3, data4
'=============================================
If (data1 <> &H61) And (data2 <> &H75) And (data3 <> &H8) _
And (data4 <> &HB8) Then MsgBox "請核對軟件版本!", _
vbCritical + vbOKOnly, "文件錯誤:": Close fhandle: Exit Sub
&apos;修改全部要補丁的數據
&apos;==========================
&apos;殼的出口部分的修改
Put fhandle, &H935B1, &HE9
Put fhandle, &H935B2, &H5B
Put fhandle, &H935B3, &H1F
Put fhandle, &H935B4, &H0
Put fhandle, &H935B5, &H0
Put fhandle, &H935B6, &H90
Put fhandle, &H935B7, &H90
&apos;增加動態修改用代碼
Put fhandle, &H95511, &H66
Put fhandle, &H95512, &H36
Put fhandle, &H95513, &HC7
Put fhandle, &H95514, &H5
Put fhandle, &H95515, &HFA
Put fhandle, &H95516, &H31
Put fhandle, &H95517, &H51
Put fhandle, &H95518, &H0
Put fhandle, &H95519, &HB0
Put fhandle, &H9551A, &H1
Put fhandle, &H9551B, &HC6
Put fhandle, &H9551C, &H5
Put fhandle, &H9551D, &HFC
Put fhandle, &H9551E, &H31
Put fhandle, &H9551F, &H51
Put fhandle, &H95520, &H0
Put fhandle, &H95521, &H90
Put fhandle, &H95522, &HC6
Put fhandle, &H95523, &H5
Put fhandle, &H95524, &H1E
Put fhandle, &H95525, &H32
Put fhandle, &H95526, &H52
Put fhandle, &H95527, &H0
Put fhandle, &H95528, &H74
Put fhandle, &H95529, &HC6
Put fhandle, &H9552A, &H5
Put fhandle, &H9552B, &H89
Put fhandle, &H9552C, &H3C
Put fhandle, &H9552D, &H53
Put fhandle, &H9552E, &H0
Put fhandle, &H9552F, &H75
Put fhandle, &H95530, &HE9
Put fhandle, &H95531, &H86
Put fhandle, &H95532, &HE0
Put fhandle, &H95533, &HFF
Put fhandle, &H95534, &HFF
Put fhandle, &H95535, &H90
Put fhandle, &H95536, &H90
Put fhandle, &H95537, &H90
&apos;完成寫入,關閉它
Close fhandle

Icefire:細心的讀者可能注意到,這兩段代碼中所使用的首地址比我們記錄的首地址多1,這是因為VB的最小指針單位是1而不是0,而文本編輯器等的最小指針單位是0,所以在不同編程平臺上編程時要多加注意。

編好補丁代碼后,將其編譯為可執行程序,然后試試你的東西,看能否將帶殼的軟件打補丁而且正常工作!如果一切正常,那你就大功告成了。

后記

有時,你可能想到要別出心裁的在軟件中添加點屬于自己有個性的東西,比如警示框等等。那也不難,只要你知道彈出對話框需要什么條件、用到哪些代碼就可以做到的。例如:現在我想在軟件啟動前彈出一個對話框。

我們該如何做呢?這個問題當然要難一點。如果殼外有現成的對話框調用函數,就可以簡單地進行調用。如果沒有則需要添加較多的代碼,這里就不講了,免得有騙稿費之嫌。

總之,編寫補丁如同編寫一個軟件,同樣能實現自己的目的與愿望,展示自己的才華與智慧。個中樂趣只有親自品嘗之。

熱詞搜索:

上一篇:拒絕“熊貓燒香”的入侵
下一篇:防止ACCESS數據庫被下載

分享到: 收藏
国产一级一区二区_segui88久久综合9999_97久久夜色精品国产_欧美色网一区二区
欧美色播在线播放| 性8sex亚洲区入口| 欧美日韩国产成人在线免费| 欧美日韩在线精品| 欧美日韩国产综合久久| 久久精品一区二区| 欧美日韩久久久久久| 国产精品毛片a∨一区二区三区|国| 国产精品免费一区豆花| 一区久久精品| 午夜欧美大尺度福利影院在线看| 玖玖国产精品视频| 国产精品久久久久一区二区三区共| 精品va天堂亚洲国产| 亚洲精品九九| 美女图片一区二区| 国产丝袜一区二区三区| 日韩视频在线免费| 性欧美xxxx大乳国产app| 欧美成人一品| 悠悠资源网亚洲青| 欧美亚洲综合另类| 国产精品久久久久久户外露出| 在线精品高清中文字幕| 亚洲一区bb| 欧美深夜福利| 亚洲美女网站| 欧美激情影音先锋| 国内精品久久国产| 欧美亚洲一区二区在线观看| 欧美国产视频在线观看| 亚洲图中文字幕| 六月婷婷一区| 国产三区二区一区久久| 亚洲视频香蕉人妖| 欧美日韩黄色大片| 一本色道久久| 国产精品久久久久久久浪潮网站| 一区二区激情| 国产精品成人一区二区网站软件| 一区二区久久| 欧美日韩精品欧美日韩精品 | 欧美日本在线播放| 亚洲剧情一区二区| 欧美日韩精品一二三区| 宅男在线国产精品| 欧美日韩一区成人| 亚洲中字在线| 国内精品国产成人| 欧美激情1区2区| 亚洲一区二区精品在线观看| 国产精品久久看| 久久精品国亚洲| 亚洲国产日韩欧美综合久久| 欧美日韩精品福利| 午夜日韩在线观看| 在线精品一区| 国产精品a久久久久久| 午夜精品久久久久影视 | 久久狠狠久久综合桃花| 在线观看日韩一区| 欧美精品在线观看91| 亚洲免费一级电影| 亚洲国语精品自产拍在线观看| 欧美国产日韩二区| 亚洲午夜精品在线| 亚洲国产高清aⅴ视频| 欧美午夜精品久久久久久浪潮| 欧美一激情一区二区三区| 黑人中文字幕一区二区三区| 欧美精品1区| 欧美影院视频| 一区二区电影免费在线观看| 国产一区二区日韩精品| 欧美日韩国产黄| 久久欧美中文字幕| 亚洲一区二区三区在线视频| 亚洲青色在线| 国产一区二区三区黄视频| 欧美日韩国产亚洲一区| 久久伊人精品天天| 欧美在线亚洲| 亚洲免费在线| 一区二区不卡在线视频 午夜欧美不卡在| 国产欧美三级| 国产精品福利在线观看网址| 欧美福利一区二区| 久久综合色婷婷| 久久精品观看| 午夜精品999| 亚洲性av在线| 亚洲少妇自拍| 夜夜嗨一区二区三区| 亚洲毛片在线看| 亚洲激情女人| 亚洲欧洲精品一区二区三区不卡 | 极品中文字幕一区| 国产视频欧美| 国产情侣久久| 国产精品日日摸夜夜摸av| 欧美三级午夜理伦三级中文幕| 欧美69视频| 欧美va亚洲va香蕉在线| 美女啪啪无遮挡免费久久网站| 欧美一站二站| 欧美在线二区| 久久伊人亚洲| 欧美区日韩区| 欧美日韩国产在线一区| 欧美日韩亚洲视频| 国产精品久久久久aaaa九色| 国产精品国产成人国产三级| 国产精品蜜臀在线观看| 国产视频一区欧美| 在线日韩精品视频| 亚洲精品一区二区三区福利| 亚洲国产一二三| 日韩视频一区二区| 亚洲一区二区在线免费观看视频| 亚洲欧美精品suv| 久久久久国产一区二区三区四区| 久久久久看片| 欧美gay视频激情| 欧美三日本三级三级在线播放| 欧美午夜免费电影| 国产婷婷成人久久av免费高清| 一区二区视频免费完整版观看| 亚洲精品1234| 亚洲综合不卡| 久久久天天操| 国产精品高潮在线| 雨宫琴音一区二区在线| 99国产精品久久久久久久成人热| 欧美一区二区女人| 欧美精品一区二区精品网| 国产精品美女久久久久久久| 国产一区二区三区四区老人| 18成人免费观看视频| 一区二区三区|亚洲午夜| 欧美综合国产| 欧美系列一区| 在线日本高清免费不卡| 在线视频免费在线观看一区二区| 先锋影音久久久| 欧美精品系列| 韩国自拍一区| 亚洲欧美精品在线| 欧美激情一区二区久久久| 国产欧美一区二区视频| 亚洲精品一区在线观看香蕉| 欧美亚洲日本网站| 欧美日韩精品不卡| 亚洲清纯自拍| 欧美成人午夜免费视在线看片| 国产性猛交xxxx免费看久久| 一区二区三区免费观看| 欧美大片国产精品| 狠狠综合久久| 欧美伊人久久久久久午夜久久久久| 欧美日韩成人精品| 亚洲国产欧美久久| 久久天天躁狠狠躁夜夜爽蜜月| 国产精品久久久久久亚洲调教| 亚洲精品乱码久久久久| 麻豆av福利av久久av| 禁断一区二区三区在线| 久久精选视频| 韩日在线一区| 久久久精品五月天| 国产一区亚洲一区| 欧美在线首页| 黑人操亚洲美女惩罚| 久久天天综合| 亚洲激情啪啪| 欧美国产视频一区二区| 亚洲激情不卡| 欧美精品亚洲精品| 亚洲视频在线观看网站| 欧美日韩一区视频| 亚洲综合丁香| 国产色产综合产在线视频| 久久精品国产一区二区三区免费看 | 欧美精品在线视频| 亚洲国产一区二区三区高清 | 在线欧美视频| 另类尿喷潮videofree| 伊人狠狠色j香婷婷综合| 巨胸喷奶水www久久久免费动漫| 国模吧视频一区| 麻豆成人小视频| 亚洲精品一区二区三区四区高清| 欧美日韩91| 亚洲尤物视频在线| 国产午夜精品久久久| 久久视频这里只有精品| 亚洲国产mv| 欧美三级欧美一级| 欧美中文字幕在线| 91久久精品国产91性色tv| 欧美午夜片欧美片在线观看|