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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

第一章 基础知识---1.4Crack小实验--复现

發布時間:2023/12/1 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 第一章 基础知识---1.4Crack小实验--复现 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

0x01 程序及其編譯環境

程序如下,功能:我們必須輸入正確的密碼1234567才能得到密碼驗證的確認,跳出循環。否則程序提示密碼錯誤再次輸入。

#include <stdio.h>#define PASSWORD "1234567"int verify_password(char* password) {int authenticated;authenticated = strcmp(password, PASSWORD);return authenticated; }int main(void) {int valid_flag = 0;char password[1024];while (1){printf("please input password: ");scanf("%s", password);valid_flag = verify_password(password);if (valid_flag){printf("incorrect password!\n\n");}else{printf("Congratulation! You have passed the verification!\n");break;}} }

程序編譯環境:

操作系統:win xp 編譯器:VC++6.0 build版本:release版本

對于產生release版本,我們可以在編譯時,選擇下圖內容

如果沒上面的界面,我們可以右鍵空白區域,然后選擇組建,就可以出現上面的界面。

程序的運行結果效果圖如下:

0x02 分析程序

找到工程的文件夾,我們使用release編譯時,會生成一個Release文件夾,在這個文件夾中,我們找到.exe文件

將exe文件直接拖到IDA中,IDA就會把二進制文件翻譯成質量上乘的反匯編代碼。默認情況下,IDA會自動識別main函數。

按F12會自動繪制出更加專業和詳細的函數流程圖。

用鼠標選擇程序分支點,按空格鍵切換到匯編代碼

這條指令就是我們要找的if分支,內存地址VA:40106E.
用OD打開文件,Ctrl+G,跳轉到這個地址。

OD默認情況下將程序中斷在PE裝載器開始處,而不是main函數的開始。
我們在這個地址打上斷點

密碼驗證函數的返回值存放在EAX中,if語句通過以下兩條指令實現。

test eax,eax JE XXXX

現在我們將je改成jne,現在當我們輸入正確密碼就會提示錯誤,輸入錯誤密碼就會正確


改過之后,原本JE對應的機器指令為74,改成jnz之后變為75,運行程序,單步執行就可以看到執行了正確密碼才應該得到的指令。

0x03 破解程序

方法1

右鍵----復制到可執行文件-----所有修改

選擇全部復制

右鍵----保存文件,就可以了

運行程序,當我們輸入1234567,會讓我們繼續輸入,輸入其他會立即退出

方法2

這里我們要認識幾個名詞:

  • 文本偏移地址(File Offset):數據在PE文件中的地址叫文件偏移地址,這是文件在磁盤上存放時相對于文件開頭的偏移。
  • 裝入基址(Image Base):PE裝入內存時的基地址。默認情況下,EXE文件在內存中的基地址是0x00400000,DLL文件時0x10000000.
  • 虛擬內存地址(VA):PE文件中的指令被裝入內存后的地址
  • 相對虛擬地址:內存地址相對于映射基址的偏移量
  • 節偏移:存儲單位差異引起的節基址差
    文件偏移地址=VA-裝入基址-節偏移
    節偏移=.text段的虛擬內存地址-文件偏移地址

文件數據在磁盤和內存中的存放:

  • 磁盤:以0x200字節為基本單位進行存放。當一個數據節不足0x200字節時,不足的地方將被0x00填充;當一個數據節超過0x200,下一個0x200將分配給這個節使用。
  • 內存:以0x1000字節為基本單位進行組織。類似的,不足將被補全,如果超出將分配下一個節為其所用。
  • 節偏移就是這些基本單位造成的,也就是0x00填充的地方

    用LordPE打開exe文件

    我們可以看到.text的虛擬內存地址(Voffset)=0x1000,文件偏移地址(Roffset)也是這個。所以節偏移=0
    40106E.這個地址的指令在PE文件中的文件偏移地址=40106E-400000-節偏移=0x106E

    用編譯器打開exe文件,這里我使用010Editor,Ctrl+G,輸入0x106E直接跳轉到JE指令的機器代碼處,將74改成75

    保存后執行,結果和方法1一樣。

    總結

    以上是生活随笔為你收集整理的第一章 基础知识---1.4Crack小实验--复现的全部內容,希望文章能夠幫你解決所遇到的問題。

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

    主站蜘蛛池模板: 成人永久免费视频 | 成人午夜精品一区二区三区 | 日韩欧美猛交xxxxx无码 | 久久av综合| 青青草草 | 一本高清视频 | 国产欧美日韩精品区一区二污污污 | 国产一区二区不卡 | 中文字幕在线视频一区二区三区 | 人妻熟妇又伦精品视频a | 嫩草嫩草嫩草嫩草嫩草嫩草 | 99热这里精品 | 国产美女一区二区 | 色呦呦视频 | 91污片| 最近中文字幕在线视频 | 天天综合网国产 | 韩国精品一区二区三区 | 成人h动漫精品一区二区器材 | 激情综合色 | 亚洲一区二区美女 | 国产激情自拍视频 | 女人扒开屁股让我添 | 在线精品一区二区三区 | 中文字幕亚洲激情 | 色爱av综合 | 五月婷婷综合激情网 | 亚洲国产精品无码观看久久 | 午夜免费一区二区 | 中文字幕不卡av | 菠萝菠萝蜜网站 | 天天做天天躁天天躁 | 无码内射中文字幕岛国片 | 狠狠操网 | 青草视频免费在线观看 | 亚洲人人干 | 秋霞综合网 | av毛片在线看 | 国产在线激情视频 | 成人无遮挡 | 五十路在线 | 色偷偷免费费视频在线 | 日本高清视频www | 久精品在线 | 欧美日韩在线观看一区二区三区 | 人人插人人 | 亚洲欧美日韩中文在线 | 秋霞久久精品 | 熟女人妻在线视频 | 日韩一区二区视频在线 | 成人一级视频 | 久久久男人天堂 | 99久99| 国产伦精品一区二区三区网站 | 欧美久久久久久久久中文字幕 | 亚洲操操操 | 美日韩一区二区三区 | 一久久久 | 少妇精品无码一区二区免费视频 | 亚洲福利影视 | 91伊人网| 激情aaa | 免费国产高清 | 老司机深夜影院 | 在线久草 | 欧美国产一级片 | 中文不卡在线 | 91亚洲视频在线观看 | 成人一级影视 | 九色视频国产 | 91福利免费| 精品xxxx| 日本在线视频不卡 | 美女av影院| 天天摸天天操 | 夜夜嗨av | 精品一区二区三区av | 国产一级片在线 | 一级成人免费 | 亚洲国产99 | jlzzjlzz亚洲女人18 | 免费人妻一区二区三区 | 国产午夜性春猛交ⅹxxx | 国产精品1区 | 天天想你在线观看完整版电影高清 | 丰腴饱满的极品熟妇 | 国产精品亚洲自拍 | 男人天堂成人网 | 免费在线观看网址入口 | 超碰人人人人 | 一边摸一边抽搐一进一出视频 | 天天躁日日躁狠狠躁av麻豆男男 | 日韩欧美高清dvd碟片 | 久久伊人一区 | 女女百合高h喷汁呻吟玩具 www.亚洲一区 | 欧美精品四区 | 完美搭档在线观看 | 96精品视频在线观看 | 亚州黄色 |