160 - 38 CyberBlade.2

環境
Windows xp sp3

工具
1.VBExplorer
2.ollydbg

查殼
OD載入往上翻可以看出是vb程序,看到

00401042   .- FF25 60104100 jmp dword ptr ds:[<&MSVBVM50.MethCallEngine>]              ;  MSVBVM50.MethCallEngine

可以知道是p-code的了
測試

OD載入后搜字符串是搜不到的東西了。
參考
《使用OllyDbg從零開始Cracking》第29和30章關于p-code的內容之后就可以分析出來了。

0040E393前面的是一些對輸入內容長度格式等判斷
0040E393 循環開始
0040E3A6 讀入name
0040E3B8 name入棧
0040E3BB 將name從str變成variant類型
0040E3BE 這個是指向上面的variant的指針
0040E3C1 這是取第一個字符函數
0040E3C6 將上面的函數計算出的結果進棧
0040E3C9
0040E3CD 將剛剛進棧的字符轉成數值
0040E3D2 將剛剛得到的數值保存起來
0040E3D5 將得到的數值轉成10進制然后再轉為字符串
0040E3D9 將得到的字符串轉回variant
0040E3EF 跳回去0040E3930040E3F5 這里是將上面循環得到的字符串入棧
0040E3F8 得到上面入棧字符串的長度
0040E4020x9比較
0040E404 相等就跳到40E425
0040E407 將上面循環得到的字符串入棧
0040E40A push了一個圓周率
0040E416 字符串轉為數值除以3.141592654
0040E41A 將結果入棧
0040E422  jmp 0040E3F50040E425 將上面的結果取整入棧
0040E430 將棧中的值轉為16進制后再與0x30F85678進行異或運算
0040E434
0040E438 將上面的計算結果入棧
0040E43E 
0040E4410xD8B3入棧
0040E4450040E438處入棧的值減去0xD8B3,并將結果入棧
0040E449 
0040E44D 
0040E452 
0040E455 0040E45A  開始for循環 
0040E460  
0040E463
0040E464  
0040E46D  讀取serial
0040E472  serial入棧
0040E475
0040E478
0040E47A
0040E47D
0040E480  這里push了一個值
0040E481  和輸入的serial比較是否相同
0040E483
0040E486
0040E489  相同則跳到0040E48C
0040E48C 
0040E48F  跳回循環0040E4A2 讀入serial
0040E4A7
0040E4AA 將字符串轉為variant
0040E4AD 將上面的計算的值存了進來
0040E4B0 用字符串的字面值減去上面計算的值
0040E4B4 
0040E4B7 
0040E4C1 讀入name
0040E4C6 
0040E4C9 計算name長度
0040E4CF 判斷是否相等,不相等就為0
0040E4DE 如果上面判斷結果為0就跳到錯誤消息框,

還是和Native-code代碼一樣,在分析算法中還是存在許多東西可以跳過的。
指令的位置可以用VBExplorer反編譯出來。
然后用OD動態調試觀察執行細節就行了

總結起來就是:
將name中每一個字符轉成ascii值。
如:abcdefg
變成:979899100101102103

再判斷這個值長度是否大于0x9
如果是就除以3.141592654
重復直到長度不大于0x9
于是就有:351021547

再將結果與0x30F85678異或
變成:605323155

減去0xD8B3,
變成:605267680

最后加上name的長度7:
變成:605267687

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/376385.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/376385.shtml
英文地址,請注明出處:http://en.pswp.cn/news/376385.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

160 - 39 damn

環境 Windows xp sp3 工具 1.exeinfo PE 2.ollydbg 查殼 OD加載就知道有殼了&#xff0c;可以esp定律直接脫掉 exeinfoPE查殼&#xff1a; 測試 點擊LOCKED圖片會彈出消息框&#xff0c;Register注冊按鈕無法點擊&#xff01; 猜測Register按鈕會在輸入正確的nam…

[轉載] Python3網絡爬蟲

這篇文章描述了使用python開發最小的網絡爬蟲的方法和步驟, 以及如何用fiddler來探索瀏覽器的行為來幫助爬蟲的開發. http://www.yiibai.com/python/python3-webbug-series4.html 轉載于:https://www.cnblogs.com/zhengran/p/4177944.html

不適用第三方變量,交換兩個數

異或實現&#xff1a; void foo(int *a,int *b){ *a*a^*b; *b*a^*b; *a*a^*b;}void main(){int a1,b2; foo(&a,&b); printf("%d.%d.%d",a,b); } 或者下例&#xff1a; void foo(int *a,int *b){ *a*a*b; *b*a-*b; *a*a-*b;}void main(){int a1,b2,c3; foo(&a…

Android系統原理與源碼分析(1):利用Java反射技術阻止通過按鈕關閉對話框

原文出處&#xff1a;博主宇宙的極客http://www.cnblogs.com/nokiaguy/archive/2010/07/27/1786482.html 眾所周知&#xff0c;AlertDialog類用于顯示對話框。關于AlertDialog的基本用法在這里就不詳細介紹了&#xff0c;網上有很多&#xff0c;讀者可以自己搜索。那么本文要介…

160 - 40 DaNiEl-RJ.1

環境 Windows xp sp3 工具 1.exeinfo PE 2.ollydbg 查殼 無殼Delphi程序 測試&#xff1a; 按照說明點到這個注冊窗口。 OD載入搜字符串&#xff0c;直接可以定位到這里 0042D4A8 /. 55 push ebp 0042D4A9 |. 8BEC mov ebp,esp 0042D4…

IOS詳解TableView——選項抽屜(天貓商品列表)

在之前的有篇文章講述了利用HeaderView來寫類似QQ好友列表的表視圖。 這里寫的天貓抽屜其實也可以用該方法實現&#xff0c;具體到細節每個人也有所不同。這里采用的是點擊cell對cell進行運動處理以展開“抽屜”。 最后完成的效果大概是這個樣子。 主要的環節&#xff1a; 點擊…

Unicode與JavaScript詳解 [很好的文章轉]

上個月&#xff0c;我做了一次分享&#xff0c;詳細介紹了Unicode字符集&#xff0c;以及JavaScript語言對它的支持。下面就是這次分享的講稿。 一、Unicode是什么&#xff1f; Unicode源于一個很簡單的想法&#xff1a;將全世界所有的字符包含在一個集合里&#xff0c;計算機只…

編輯器使用說明

歡迎使用Markdown編輯器寫博客 本Markdown編輯器使用StackEdit修改而來&#xff0c;用它寫博客&#xff0c;將會帶來全新的體驗哦&#xff1a; Markdown和擴展Markdown簡潔的語法代碼塊高亮圖片鏈接和圖片上傳LaTex數學公式UML序列圖和流程圖離線寫博客導入導出Markdown文件豐…

關于產品的一些思考——百度之百度百科

百度百科最近改版了&#xff0c;發現有些地方不符合一般人的行為習慣。 1.新版本排版 首先應該將摘要&#xff0c;簡介&#xff0c;目錄什么的放在左側&#xff0c;而不是右側&#xff0c;因為我們都是從左到右&#xff0c;從上到下觀察事物的&#xff0c;而且百科的東西我們不…

Python3.6 IDLE 使用 multiprocessing.Process 不顯示執行函數的打印

要運行的程序&#xff1a; import os from multiprocessing import Process import timedef run_proc(name):print(Child process %s (%s) Running...%(name,os.getpid()))# time.sleep(5)if __name__ __main__:print("Show Start:")print(Parent process %s. % os…

復制控制

復制構造函數、賦值操作符和析構函數總稱為復制控制。編譯器自動實現這些操作&#xff0c;但類也可以定義自己的版本。 實現復制控制操作最困難的部分&#xff0c;往往在于識別何時需要覆蓋默認版本。有一種特別常見的情況需要類定義自己的復制控制成員&#xff1a;類具有指針成…

python Requests登錄GitHub

工具&#xff1a; python 3.6 Fiddler4 所需要的庫&#xff1a; requests BeautifulSoup 首先抓包&#xff0c;觀察登錄時需要什么&#xff1a; 這個authenticity_token的值是訪問/login后可以獲取&#xff0c;值是隨機生成的&#xff0c;所以登錄前要獲取一下。 注…

你必須懂的 T4 模板:深入淺出

示例代碼&#xff1a;示例代碼__你必須懂的T4模板&#xff1a;淺入深出.rar (一)什么是T4模板&#xff1f; T4&#xff0c;即4個T開頭的英文字母組合&#xff1a;Text Template Transformation Toolkit。 T4文本模板&#xff0c;即一種自定義規則的代碼生成器。根據業務模型可生…

stdafx.h是什么用處, stdafx.h、stdafx.cpp的作用

http://blog.csdn.net/songkexin/article/details/1750396 stdafx.h頭文件的作用 Standard Application Fram Extend沒有函數庫&#xff0c;只是定義了一些環境參數&#xff0c;使得編譯出來的程序能在32位的操作系統環境下運行。Windows和MFC的include文件都非常大&#xff0c…

python3 Connection aborted.', RemoteDisconnected('Remote end closed connection without response'

在寫爬蟲的時候遇到了問題&#xff0c;網站是asp.net寫的 requests.exceptions.ConnectionError: (Connection aborted., RemoteDisconnected(Remote end closed connection without response,)) 于是就抓包分析&#xff0c;發現只要加了’Accept-Language’就好了。。。 A…

id和instancetype的區別

id返回不確定類型的對象&#xff08;也就是任意類型的對象&#xff09;&#xff0c;- (id)arrayWithData;返回的就是不確定類型的對象&#xff0c;如果執行數組的方法&#xff0c; [- (id)arrayWithData objectOfIndex:0]編譯時不會報錯&#xff0c;但運行時會報錯&#xff0c;…

windows下Java 用idea連接MySQL數據庫

Java用idea連接數據庫特別簡單。 首先就是下載好MySQL數據庫的驅動程序。 鏈接&#xff1a;https://dev.mysql.com/downloads/connector/j/ 然后就是選下載版本了&#xff1a; 選個zip格式的嘛。。 下載完后就解壓。打開idea&#xff0c;建立個簡單的項目 找到這個: …

7-2

#include<stdio.h> int main(void) {int i;int fib[10]{1,1};for(i2;i<10;i)fib[i]fib[i-1]fib[i-2];for(i0;i<10;i){printf("%6d",fib[i]);if((i1)%50)printf("\n");}return 0; } 轉載于:https://www.cnblogs.com/liruijia199531/p/3357481.h…

歲月悄然前行,沒有停留的痕跡

歲月悄然前行&#xff0c;沒有停留的痕跡。月落烏啼&#xff0c;總是千年的風霜;濤聲依舊&#xff0c;不見當初的夜晚。走過歲月的痕跡&#xff0c;已是物是人非。我們在歲月的軌道上行走&#xff0c;不要給歲月太多的裝飾&#xff0c;不要給歲月太多的言語。給它我們隨著時光追…

160 - 41 defiler.1.exe

環境&#xff1a; Windows xp sp3 工具&#xff1a; Ollydbg stud_PE LoadPE 先分析一下。 這次的程序要求更改了&#xff0c;變成了這個&#xff1a; defilers reversme no.1 -----------------------The task of this little, lame reverseme is to add some code to…