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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

小甲鱼 OllyDbg 教程系列 (七) :VB 程序逆向分析

發布時間:2024/7/23 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 小甲鱼 OllyDbg 教程系列 (七) :VB 程序逆向分析 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

小甲魚視頻:https://www.bilibili.com/video/av6889190?p=14

VB程序逆向反匯編常見的函數:https://www.cnblogs.com/bbdxf/p/3780187.html

程序下載地址:鏈接:https://pan.baidu.com/s/18igiL-YWn9wnIrJfKT8gBA? ? ?提取碼:wygg?

PEiD 查殼工具:https://pan.baidu.com/s/1iNS4UlBvmXCxaj5a-AFupw ? ?提取碼:79z5?

?

關于 VB

?

?

VB 逆向 pj 關鍵:

針對變量:
__vbaVarTstEq
__vbaVarTstNe
__vbaVarCompEq
__vbaVarCompLe
__vbaVarCompLt
__vbaVarCompGe
__vbaVarCompGt
__vbaVarCompNe

?

針對字符串:
__vbaStrCmp
__vbaStrComp
__vbaStrCompVar
__vbaStrLike
__vbaStrTextComp
__vbaStrTextLike

關注加粗的即可!!
?

?

VB程序逆向反匯編常見的函數(修改版)

?

VB程序逆向常用的函數


1) 數據類型轉換:
a) __vbaI2Str??? 將一個字符串轉為8 位(1個字節)的數值形式(范圍在 0 至 255 之間) 或2 個字節的數值形式(范圍在 -32,768 到 32,767 之間)。?
b)__vbaI4Str?? 將一個字符串轉為長整型(4個字節)的數值形式(范圍從-2,147,483,6482,147,483,647)?
c)__vbar4Str? 將一個字符串轉為單精度單精度浮點型(4個字節)的數值形式?
d)__vbar8Str?? 將一個字符串轉為雙精度單精度浮點型(8個字節)的數值形式?
e) VarCyFromStr??? (僅VB6庫. 要調試,則在WINICE.DAT里必須有 OLEAUT32.DLL)字符串到變比型數據類型?
f) VarBstrFromI2? (僅VB6庫. 要調試,則在WINICE.DAT里必須有 OLEAUT32.DLL)整型數據到字符串:


2) 數據移動:
a) __vbaStrCopy????? 將一個字符串拷貝到內存,類似于 Windows API HMEMCPY?
b) __vbaVarCopy???? 將一個變量值串拷貝到內存?
c) __vbaVarMove??? 變量在內存中移動,或將一個變量值串拷貝到內存


3) 數學運算:
a)? __vbavaradd????? 兩個變量值相加?
b) __vbavarsub????? 第一個變量減去第二個變量?
c) __vbavarmul???? 兩個變量值相乘?
d) __vbavaridiv???? 第一個變量除以第二個變量,得到一個整數商?
e) __vbavarxor?????? 兩個變量值做異或運算


4) 程序設計雜項:
a) __vbavarfornext? 這是VB程序里的循環結構, For... Next...? (Loop)?
b) __vbafreestr??? 釋放出字符串所占的內存,也就是把內存某個位置的字符串給抹掉?
c) __vbafreeobj?? 釋放出VB一個對象(一個窗口,一個對話框)所占的內存,也就是把內存某個位置的一個窗口,一個對話框抹掉?
d) __vbastrvarval? 從字符串特點位置上獲取其值?
e) multibytetowidechar? 將數據轉換為寬字符格式,VB在處理數據之都要這樣做,在TRW2000顯示為7.8.7.8.7.8.7.8?
f) rtcMsgBox?? 調用一個消息框,類似于WINDOWS里的messagebox/a/exa,此之前一定有個PUSH命令將要在消息框中顯示的數據壓入椎棧?
g) __vbavarcat??? 將兩個變量值相連,如果是兩個字符串,就連在一起?
h) __vbafreevar? 釋放出變量所占的內存,也就是把內存某個位置的變量給抹掉?
i) __vbaobjset?
j)? __vbaLenBstr?? 獲得一個字符串的長度,注:VB中一個漢字的長度也為1?
k) rtcInputBox??? 顯示一個VB標準的輸入窗口,類似window's API getwindowtext/a, GetDlgItemtext/a?
l) __vbaNew????? 調用顯示一個對話框,類似 Windows' API Dialogbox?
m) __vbaNew2??? 調用顯示一個對話框,類似 Windows' API Dialogboxparam/a?
n) rtcTrimBstr?? 將字串左右兩邊的空格去掉


5) 比較函數
a)? __vbastrcomp?? 比較兩個字符串,類似于 Window's API lstrcmp?
b)? __vbastrcmp?? 比較兩個字符串,類似于 Window's API lstrcmp?
c) __vbavartsteq? 比較兩個變量值是否相等?
d)__vbaFpCmpCy????????????????? - Compares Floating point to currency. sp;??????????? Compares Floating point to currency


6) 在動態跟蹤,分析算法時,尤其要注意的函數:
rtcMidCharVar? 從字符串中取相應字符,VB中的MID函數,用法MID("字符串","開始的位置","取幾個字符")?
rtcLeftCharVar 從字符串左邊取相應字符,VB中的用法:left("字符串","從左邊開始取幾個字符")?
rtcRightCharVar 從字符串右邊取相應字符,VB中的用法:Right("字符串","從右邊開始取幾個字符")?
__vbaStrCat? 用字符串的操作,就是將兩個字符串合起來,在VB中只有一個&或+?
__vbaStrCmp? 字符串比較,在VB中只有一個=或<>?
ASC()函數??? 取一個字符的ASC值,在反匯編時,還是有的movsx 操作數


7) 在函數中的縮寫:
bool 布爾型數據(TRUE 或? FALSE)?
str? 字符串型數據 STRING?
i2?? 字節型數據或雙字節整型數據? BYTE or Integer?
ui2? 無符號雙字節整型數據??
i4?? 長整型數據(4字節)? Long?
r4?? 單精度浮點型數據(4字節)? Single?
r8?? 雙精度浮點型數據(8字節)? Double?
cy (8 個字節)整型的數值形式 Currency?
var? 變量???? Variant?
fp 浮點數據類型? Float Point?
cmp? 比較?? compare?
comp 比較?? compare?
??
Btw:?
__vbavartsteq系列的還有__vbavartstne 不等于?
__vbavartstGe,__vbavartstGt,__vbavartstLe,__vbavartstLt等,比較大于或小于

-----------------------------

攔截警告聲:?
bpx rtcBeep?????? —>揚聲器提示


數據移動:?
bpx vbaVarCopy??? —>數據移動將一個變量值串拷貝到內存?
bpx vbaVarMove??? —>數據移動變量在內存中移動,或將一個變量值串拷貝到內存?
bpx vbaStrMove??? —>移動字符串?
bpx vbaStrCopy??? —>移動字符串 將一個字符串拷貝到內存,類似于 Windows API HMEMCPY


數據類型轉換:?
bpx vbaI2Str??????? —>將一個字符串轉為8 位(1個字節)的數值形式(范圍在 0 至 255 之間) 或2 個字節的數值形式(范圍在 -32,768 到 32,767 之間)。?
bpx vbaI4Str??????? —>將一個字符串轉為長整型(4個字節)的數值形式(范圍從-2,147,483,6482,147,483,647)?
bpx vbar4Str??????? —>將一個字符串轉為單精度單精度浮點型(4個字節)的數值形式?
bpx vbar8Str??????? —>將一個字符串轉為雙精度單精度浮點型(8個字節)的數值形式?
bpx VarCyFromStr??? —>(僅VB6庫. 要調試,則在WINICE.DAT里必須有 OLEAUT32.DLL)字符串到變比型數據類型?
bpx VarBstrFromI2?? —>(僅VB6庫. 要調試,則在WINICE.DAT里必須有 OLEAUT32.DLL)整型數據到字符串:


數值運算:?
bpx vbaVarAdd????? —>兩個變量值相加?
bpx vbaVarIdiv???? —>除整,第一個變量除以第二個變量,得到一個整數商?
bpx vbaVarSub????? —>第一個變量減去第二個變量?
bpx vbaVarMul????? —>兩個變量值相乘?
bpx vbaVarDiv????? —>除?
bpx vbaVarMod????? —>求余?
bpx vbaVarNeg????? —>取負?
bpx vbaVarPow????? —>指數?
bpx vbavarxor????? —>兩個變量值做異或運算


針對變量:?
bpx vbaVarCompEq?????? —>比較局部變量是否相等?
bpx vbaVarCompNe?????? —>比較局部變量是否不等于?
bpx vbaVarCompLe?????? —>比較局部變量小于或等于?
bpx vbaVarCompLt?????? —>比較局部變量小于?
bpx vbaVarCompGe?????? —>比較局部變量大于或等于?
bpx vbaVarCompGt?????? —>比較局部變量大于


VB的指針:?
THROW


程序結構:?
bpx vbaVarForInit? —>重復執行初始化?
bpx vbaVarForNext? —>重復執行循環結構, For... Next...? (Loop)


比較函數:?
bpx vbaStrCmp????? —>比較字符串是否相等 ******?
bpx vbaStrComp???? —>比較字符串是否相等 ******?
bpx vbaVarTstEq??? —>檢驗指定變量是否相等?
bpx vbaVarTstNe??? —>檢驗指定變量是否不相等?
bpx vbaVarTstGt??? —>檢驗指定變量大于?
bpx vbaVarTstGe??? —>檢驗指定變量大于或等于?
bpx vbaVarTstLt??? —>檢驗指定變量小于?
bpx vbaVarTstLe??? —>檢驗指定變量小于或等于


字符串操作:?
bpx vbaStrCat?????? —>用字符串的操作,就是將兩個字符串合起來,在VB中只有一個&或+?
bpx vbaStrLike?
bpx vbaStrTextComp? —>與指定文本字符串比較?
bpx vbaStrTextLike?
bpx vbaLenBstr???? —>字符串長度?
bpx vbaLenBstrB??? —>字符串長度?
bpx vbaLenVar????? —>字符串長度?
bpx vbaLenVarB???? —>字符串長度?
bpx rtcLeftCharVar?? —>截取字符串,從字符串左邊取相應字符,VB中的用法:left("字符串","從左邊開始取幾個字符")?
bpx vbaI4Var???????? —>截取字符串?
bpx rtcRightCharVar? —>截取字符串,從字符串右邊取相應字符,VB中的用法:Right("字符串","從右邊開始取幾個字符")?
bpx rtcMidCharVar??? —>截取字符串,VB中的MID函數,用法MID("字符串","開始的位置","取幾個字符")?
bpx vbaInStr???????? —>查找字符串位置?
bpx vbaInStrB??????? —>查找字節位置?
bpx vbaStrCopy?????? —>復制字符串?
bpx vbaStrMove?????? —>移動字符串?
bpx rtcLeftTrimVar?? —>刪除字串的空白?
bpx rtcRightTrimVar? —>刪除字串的空白?
bpx rtcTrimVar?????? —>刪除字串的空白?
bpx vbaRsetFixstrFree?? —>字符串往右對齊?
bpx vbaRsetFixstr?????? —>字符串往右對齊?
bpx vbaLsetFixstrFree?? —>字符串往左對齊?
bpx vbaLsetFixstr?????? —>字符串往左對齊?
bpx vbaStrComp????????? —>字符串比較?
bpx vbaStrCompVar?????? —>字符串比較?
bpx rtcStrConvVar2??????? —>字符串類型轉換?
bpx rtcR8ValFromBstr????? —>把字符串轉換成浮點數?
bpx MultiByteToWideChar?? —>ANSI字符串轉換成Unicode字符串?
bpx WideCharToMultiByte?? —>Unicode字符串轉換成ANSI字符串?
bpx rtcVarFromFormatVar?? —>格式化字符串?
bpx rtcUpperCaseVar?????? —>小寫變大寫?
bpx rtcLowerCaseVar?????? —>大寫變小寫?
bpx rtcStringVar????????? —>重復字符?
bpx rtcSpaceVar?????????? —>指定數目空格?
bpx rtcAnsiValueBstr????? —>傳回字符碼(返回第一個字符的字符代碼)?
bpx rtcByteValueBstr????? —>傳回字符碼(返回第一個字節的字符代碼)?
bpx rtcCharValueBstr????? —>傳回字符碼(返回第一個Unicode字符代碼)?
bpx rtcVarBstrFromAnsi??? —>傳回字符(返回 String,其中包含有與指定的字符代碼相關的字符 )?
bpx rtcVarBstrFromByte??? —>傳回字符(返回 String,其中包含有與指定的字符代碼相關的單字節)?
bpx rtcVarBstrFromChar??? —>傳回字符(返回 String,其中包含有與指定Unicode 的 String)

?

?

?

總結

以上是生活随笔為你收集整理的小甲鱼 OllyDbg 教程系列 (七) :VB 程序逆向分析的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 精品国产99一区二区乱码综合 | 成年人网站免费在线观看 | 四虎永久免费在线观看 | 久久成人久久 | 日韩视频在线免费播放 | 欧美暧暧视频 | 日韩激情视频一区二区 | 免费看一区二区三区 | 欧美专区在线播放 | 日韩亚洲国产精品 | 奇米影视第四色888 免费观看a毛片 | 日韩精品一区二区三区中文在线 | 久久国产一区 | 成人在线视频免费看 | 欧美一级二级三级视频 | 99热这里只有精品2 91免费版黄 | 国产精品亚洲lv粉色 | 毛片999 | 在线你懂的 | 午夜精品久久久久久久 | 熟妇人妻无乱码中文字幕真矢织江 | 欧美第五页 | 国产成人综合欧美精品久久 | 最新av免费 | 国产精品正在播放 | 性久久久| 中文字幕久久久 | 午夜精品区 | 天天操天天操天天操天天操天天操 | 91综合精品 | 久久蜜桃av一区二区天堂 | 一卡二卡三卡四卡 | 欧美日韩一二三四区 | 高h教授1v1h喂奶 | 一级中文片 | 最污网站在线观看 | 人人妻人人澡人人爽人人dvd | 都市激情自拍偷拍 | 日本不卡高清视频 | 日韩二区在线 | 黄色网址你懂的 | 18av视频| 开心激情网站 | 国产欧美在线看 | 白白色2012年最新视频 | 日韩电影二区 | 校园春色中文字幕 | 天天玩天天干 | wwwwww日本 | 丁香婷婷激情五月 | 亚州男人的天堂 | 国精品无码人妻一区二区三区 | 夜色导航 | www.性欧美 | 国产亚洲精品久久777777 | 国产一区两区 | 美女爆乳18禁www久久久久久 | 久久98| 超碰超碰| 日本女人毛片 | 另类综合小说 | 在线能看的av网站 | 成 人 黄 色 片 在线播放 | 麻豆精品视频免费观看 | 日韩香蕉网 | 欧美激情一二三 | 日本不卡不卡 | 国产高潮失禁喷水爽到抽搐 | 国产精品99久久久久久动医院 | 91久久极品少妇xxxxⅹ软件 | 成人网导航 | 日韩女优在线播放 | 日韩欧美精品中文字幕 | 噜噜噜av| 国产美女无遮挡永久免费观看 | 日本美女一区二区 | 啪啪自拍 | 国产乱码精品一区二区三区忘忧草 | 操操操综合 | av影音先锋 | 欧美激情一级 | 日韩一二三级 | 国产精品一区二区欧美 | av免费资源| 精品一区二区久久久久久久网站 | 九九免费在线视频 | 波多野吉衣久久 | 日韩精品一区二区三区中文字幕 | 成人αv | 男人的天堂av女优 | 久操视频在线播放 | 四季av一区二区 | 国产福利片在线观看 | 中文字幕国产一区 | 亚洲老女人视频 | 人妻一区在线 | 国产乱淫av片免费 | www.xxxx国产| 人人免费操 |