两个吃奶一个添下面视频_人妻第一页香蕉网_欧美xxxx少妇_妺妺窝人体色www婷婷

  • 歡迎訪問(wèn)C語(yǔ)言網(wǎng)www.sztianhecheng.cn 比賽欄每月有獎(jiǎng)月賽!舉辦比賽聯(lián)系QQ:2045302297
  • 問(wèn)題反饋、粉絲交流 QQ群327452739 藍(lán)橋杯訓(xùn)練群:113766799 申請(qǐng)群時(shí)請(qǐng)備注排名里的昵稱
  • C語(yǔ)言研究中心 為您提供有圖、有料、解渴的C語(yǔ)言專題! 歡迎討論!

C語(yǔ)言逆向系列之破解一個(gè)簡(jiǎn)單的C語(yǔ)言程序

C語(yǔ)言研究中心 CTO 28650次瀏覽 6個(gè)評(píng)論

 

前言

今天起,為增加大家學(xué)習(xí)C語(yǔ)言的趣味性、更深層次的學(xué)習(xí)C語(yǔ)言、學(xué)習(xí)更實(shí)用的編程技術(shù),我們今后將陸續(xù)開(kāi)設(shè)逆向方向的教程專題,希望大家喜歡!

C語(yǔ)言研究中心(www.sztianhecheng.cn)

以下正文

本節(jié)教程將教大家如何去逆向分析和破解一個(gè)簡(jiǎn)單的C程序,需要大家熟悉基本的C語(yǔ)言語(yǔ)法,用到工具有:VC6、IDAPro、OD、UE等工具。

下面我們開(kāi)始。

首先,我們用VC6寫一個(gè)簡(jiǎn)單的密碼驗(yàn)證程序,思路呢,很簡(jiǎn)單,就是讓用戶輸入密碼,然后用strcmp比較是否一樣,一樣的話提示正確,不正確的提示錯(cuò)誤并重新輸入。代碼如下:

C語(yǔ)言逆向系列之破解一個(gè)簡(jiǎn)單的C語(yǔ)言程序

怎么樣,簡(jiǎn)單吧!

運(yùn)行起來(lái)試試,邏輯很簡(jiǎn)單,只有輸入正確密碼123456的時(shí)候才會(huì)打印YES然后結(jié)束程序,否則一直提示NO并且一直讓你輸入~

那現(xiàn)在,我們就來(lái)Crack掉它!讓我們隨意輸密碼都可以通過(guò)!怎么樣,夠酷吧!

 

OK,開(kāi)始!

首先,用IDAPro打開(kāi)我們用VC6寫好的這個(gè)密碼驗(yàn)證程序,打開(kāi)流程圖,如下:

C語(yǔ)言逆向系列之破解一個(gè)簡(jiǎn)單的C語(yǔ)言程序

在這個(gè)就像這個(gè)程序的流程圖中,我們可以看到里面的字符串,譬如“please input passwd”以及“yes”和“no”。并且可以看到y(tǒng)es和no位于兩個(gè)“中”,很明顯是兩個(gè)處理流程。在它們上面同一個(gè)處理塊結(jié)尾最后注意有一句:jnz???? short loc_401073?? 這就是一句跳轉(zhuǎn)語(yǔ)句,jnz意思為不相等則跳轉(zhuǎn)的意思,后面帶一個(gè)地址。所以靈感來(lái)了,直接在這里進(jìn)行更改。比如可以把jnz(不相等則跳轉(zhuǎn))換成jz(相等跳轉(zhuǎn)),可想程序?qū)⒋笞儯?/span>

 

改動(dòng)之前,需要先知道一個(gè)公式,即:文件偏移地址 = 虛擬內(nèi)存地(VA)址 – 裝載基址(image base) – 節(jié)偏移

我們現(xiàn)在可以用IDA查看jnz的所在指令地址,但僅僅是虛擬內(nèi)存地址,而裝載基址在windows中PE程序一般都是0x00400000,節(jié)偏移可以用另一個(gè)工具找到。OK繼續(xù)

 

接下來(lái)就查地址,繼續(xù)動(dòng)工。首先,鼠標(biāo)點(diǎn)擊jnz命令讓光標(biāo)停留在這里,單后空格切換到對(duì)應(yīng)的指令,查看該語(yǔ)句所在的地址位置。如下圖:

C語(yǔ)言逆向系列之破解一個(gè)簡(jiǎn)單的C語(yǔ)言程序

看到了嗎?在text段的00401062處! OK,先記下來(lái),一會(huì)用

這個(gè)時(shí)候,IDA可以退下了…

然后,啟動(dòng)另一個(gè)工具,loadPE,這個(gè)干啥用的呢?答:算算咱們代碼在這個(gè)程序中的節(jié)偏移!如下:

先啟動(dòng)

C語(yǔ)言逆向系列之破解一個(gè)簡(jiǎn)單的C語(yǔ)言程序

然后點(diǎn)擊PE Editor 選中我們的exe目標(biāo)程序,然后點(diǎn)擊section,如下

C語(yǔ)言逆向系列之破解一個(gè)簡(jiǎn)單的C語(yǔ)言程序

怎么算節(jié)偏移呢?用VOffset減去ROffset即可,當(dāng)然這里很明顯為零嘛(雖然感覺(jué)沒(méi)啥用,大多數(shù)都是0,不過(guò)算算好)

 

這個(gè)時(shí)候考數(shù)學(xué)了,直接帶入公式算吧,文件偏移地址就是:00401062 – 0x400000-0? 答案就是1062!? 哦不應(yīng)該是0x00001062!

那么,好了,最后啟動(dòng)大名鼎鼎的UE修改工具!加載它!

搜索地址0x00001062如圖:

C語(yǔ)言逆向系列之破解一個(gè)簡(jiǎn)單的C語(yǔ)言程序

然后將75改為74即可!

為啥? 答:因?yàn)閖z的機(jī)器碼就是74!

最后保存!大功告成!

再運(yùn)行看看,隨便輸個(gè)密碼:

C語(yǔ)言逆向系列之破解一個(gè)簡(jiǎn)單的C語(yǔ)言程序

敲回車!看看~咩哈哈哈~

看到效果了嗎? 照著做一遍吧!有問(wèn)題隨時(shí)聯(lián)系我們的CTO哦!

 

 

C語(yǔ)言研究中心(www.sztianhecheng.cn)

C語(yǔ)言網(wǎng)提供「C語(yǔ)言、C++、算法競(jìng)賽」在線課程,全部由資深研發(fā)工程師或ACM金牌大佬親授課,更科學(xué)、全面的課程體系,以在線視頻+在線評(píng)測(cè)的學(xué)習(xí)模式學(xué)習(xí),學(xué)練同步,拒絕理論派,真正學(xué)會(huì)編程!還有獎(jiǎng)學(xué)金等增值福利等你!

C語(yǔ)言網(wǎng), 版權(quán)所有丨如未注明 , 均為原創(chuàng)丨本網(wǎng)站采用BY-NC-SA協(xié)議進(jìn)行授權(quán) , 轉(zhuǎn)載請(qǐng)注明C語(yǔ)言逆向系列之破解一個(gè)簡(jiǎn)單的C語(yǔ)言程序!
喜歡 (46)
[jinyangH@aliyun.com]
分享 (0)
發(fā)表我的評(píng)論
取消評(píng)論
表情

Hi,您需要填寫昵稱和郵箱!

  • 昵稱 (必填)
  • 郵箱 (必填)
(6)個(gè)小伙伴在吐槽
  1. 表示在寫文章的時(shí)候麻煩再細(xì)心點(diǎn)! strcmp需要提供string.h的頭文件
    Liu2016-12-14 16:47 回復(fù)
    • 漏掉了!多謝提醒!
      CTO2016-12-18 17:28 回復(fù)
  2. 那些工具哪里可以下載
    無(wú)聲6272019-04-06 17:47 回復(fù)
  3. 有些復(fù)雜?。?div id="wueeqya4uq" class="c-meta">風(fēng)云霧客2020-03-04 21:19 回復(fù)
  • I think that everything posted made a great deal of sense. However, consider this, suppose you added a little content? I am not saying your information isn't good., but what if you added a title to maybe get people's attention? I mean C語(yǔ)言逆向系列之破解一個(gè)簡(jiǎn)單的C語(yǔ)言程序 | C語(yǔ)言研究中心 - C語(yǔ)言網(wǎng) is kinda vanilla. You ought to glance at Yahoo's front page and see how they create post titles to grab viewers to click. You might try adding a video or a picture or two to get people excited about what you've got to say. In my opinion, it would bring your posts a little livelier.
  • jc是什么意思?
    海闊天空2024-06-14 21:50 回復(fù)