日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

小甲鱼 OllyDbg 教程系列 (三) :PJ 软件功能限制

發(fā)布時間:2024/7/23 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 小甲鱼 OllyDbg 教程系列 (三) :PJ 软件功能限制 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

?

小甲魚OllyDbg教程:https://www.bilibili.com/video/av6889190?p=8

https://www.freebuf.com/articles/system/87723.html

程序下載地址:https://pan.baidu.com/s/1OprawMSCXPZw1wuY5vxMmA 提取碼: tp9e

?

?

無殼的實例

目標:去除軟件功能限制

工具:OD

安裝好這款軟件打開如圖:

這款軟件有諸多功能限制,如:

當我們選擇Add Group,提示沒有注冊只能創(chuàng)建3個Group:

選擇Add,提示沒有注冊只能添加4個聯(lián)系人:

我們打開About PixtopianBook,彈出未注冊版本信息。

我們將其載入OD(建議下載一個原版OD#www.ollydbg.de#,我們嘗試手動配置忽略異常)如圖:

點擊運行后,并沒有出現(xiàn)程序界面,而是拋出了異常:

我們手動開啟忽略異常:

打開后選擇 exception:

勾選如上,再點擊Add lase exception。

配置完成后點擊OK。

配置完成后重新載入程序,點擊運行,成功打開了程序。

?

?

?

??正式開始!

?

1、Group

將軟件載入OD,點擊Add Group。

我們在其彈出消息框后暫停OD。

此時狀態(tài)欄顯示:暫停,我們此時需要返回到程序領空,快捷鍵Alt+F9。

然后點擊消息框?確定?此時狀態(tài)欄顯示:?返回到用戶

我們成功返回到程序領空,向上翻。

看到了一個MessageBox,這就是我們剛才確定的那個消息框。

向下我們將

這個命令將帶我們返回到調(diào)用CALL處。所以我們繼續(xù)向下執(zhí)行。

進行retn:

我們跳出了call,返回到了調(diào)用處、

我們看到:

1.這個Call就是我們剛才進入的Call,加入我們能跳過這個call,就能避免跳出消息框。

2.查看這個ascii碼,正是消息框的標題和內(nèi)容,在這里被壓入棧,等待調(diào)用。

3.這里有一個cmp,比較eax與3大小(即Group是否等于3),如果小于就跳轉到(JL)00408B34,如果已經(jīng)有3個Group了,就執(zhí)行call彈出未注冊消息框。

你一定已經(jīng)知道我們將要干什么了!

將JL(小于則跳轉)改為jmp(強制跳轉)。

這樣我們就成功跳過了GROUP驗證。

我們將其保存:

測試一下:

哈哈,已經(jīng)可以自由添加Group了!!是不是很有成就感啊!學習逆向成就感很重要哦。

?

?

2、聯(lián)系人

?

默認未注冊用戶只能添加四個聯(lián)系人,我們采取同樣方法:

1、彈出消息框后暫停

2、Alt+F9執(zhí)行到用戶代碼

3、點擊確定

跳轉到這個位置,我們向上翻,看到同樣的MessageBox,如下:

通過retn跳出call,回到調(diào)用處,向上翻:

1、這個call調(diào)用了MessageBox,彈出了消息框;

2、這句話同我們看到的一樣,確定程序在這里將其壓入棧;

3、比較eax與4的大小(聯(lián)系人是否已經(jīng)有4個),如果小于等于(JL)4個,那就跳過消息框,否則彈出未注冊消息框。

我們同樣修改jl為jmp,強制其跳轉:

保存后測試一下:

我們又成功搞定了一個功能!這個閹割版已經(jīng)成了注冊版,不過還有一些美中不足的地方。比如:

那我們就開始讓它從里到外都是注冊版!

?

3、更改版本信息

標題,版本文字在代碼區(qū)是找不到的,我們直接在內(nèi)存中找

輸入查找關鍵字UNREGISTERED:

如果ASCII沒有搜索到就用UNICODE

(這里ASCII也可以搜索到,不過不是版本信息,UNICODE下搜索到版本信息,點擊確定):

記錄下004D4830,在dump面板跳轉:

跳轉之后成功找到需要修改的內(nèi)容:

我們選擇要修改的內(nèi)容,右鍵編輯:

編輯為自己想寫的字符,如下:

?

?

4、DIY標題

同樣是在內(nèi)存中查找,在彈出的搜索框里輸入關鍵字:(UNREGISTERED VER

(一般情況下是不知道要搜索的文字是ascii還是unicode,我們會都嘗試搜索一次。

記下004E4BE6,在dump窗口跟隨:

找到需要修改的字符然后編輯:

確定后如下圖所示:

?

?

5、更改提示注冊文字

同理,我們在內(nèi)存中搜索:

首先嘗試UNICODE,沒有搜索到結果。

再嘗試ASCII搜索:

成功搜到了字符串:

記錄下位置48F974,并跳轉到該處:

用同樣的方法編輯ASCII碼:

編輯完成后如下:

在所有工作做完之后,不要忘記保存:

保存后我們查看效果:

?

?

6、結尾

我們?nèi)园l(fā)現(xiàn)了一些美中不足的地方。

在進入程序時,首先是歡迎信息:

幾秒后變?yōu)?#xff1a;

我們想讓它更加簡潔,一直顯示welcome信息,該怎么操作呢?

那我們開始進行最后一步!!

通過上面的操作我們已經(jīng)知道了注冊文字在48F974處,在dump(數(shù)據(jù)窗口)窗口右鍵跳轉到48F974

我們需要知道程序哪一段調(diào)用了這段字符串。

我們右鍵選擇查找參考(Ctrl+R)(個人覺得做漢化翻譯得有點問題,這個命令的英文是Find references,意思應該是查找引用,參考這個詞不太合適):

找到一處引用,我們雙擊進入:

我們來到如圖所示的代碼位置:

發(fā)現(xiàn)上面有一處cmp和jnz(cmp與jnz組合代表:如果不相等,則跳轉),如果ebp等于907,則將這串字符壓入棧(可以猜測,907代表未注冊),我們根據(jù)跳轉向上翻:

向上翻到這里:

又有一處cmp和jnz,意思是如果ebp不等于906,就要跳轉回0040C22F處。

(我們可以猜測,906代表注冊過)

這個程序我們已經(jīng)完全弄清楚了,我們直接在0040C235的jnz處進行強制跳轉,讓其不會將這串字符壓入棧:

修改后,我們最后一次保存:

打開:

整款軟件已經(jīng)沒有限制。。。。。

?

?

?

總結

以上是生活随笔為你收集整理的小甲鱼 OllyDbg 教程系列 (三) :PJ 软件功能限制的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。