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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

160个Crackme045

發布時間:2025/3/21 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 160个Crackme045 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

    • 導入符號
    • 用CE尋找切入點
    • 分析算法
    • 寫出注冊機
    • 校驗結果

【軟件名稱】:Dope2112.2.exe

【軟件大小】:171kb

【下載地址】:自行搜索下載

【加殼方式】:無殼

【保護方式】:Name/Serial

【編譯語言】:Delphi

【調試環境】:W10 64

【使用工具】: OD+IDA

【破解日期】:2019-5-28

【破解目的】:純屬興趣

導入符號

首先將程序載入到IDA,導入所有的Delphi簽名

接著生成map文件

然后在OD中導入

用CE尋找切入點

由于不能用DarkDe,而且無法搜索到字符串,我試了好幾個API斷點也斷不下來,所以只能用CE來搜索地址,首先用OD載入,然后再打開CE,這樣可以省去后面再用OD附加的麻煩

由于Delphi中存儲的都是ASCII的形式,所以我們直接搜索1111的十六進制ASCII值31313131

接著變換1111為2222

可以很明顯的看到我們要的地址就是這兩個中的一個了

找到上面兩個地址,依次對下面兩個地址下一個字節的內存訪問斷點

程序斷下

接著點擊K,查看調用堆棧

可以看到當前所在的是memcpy這個函數,而最下面的是GetText獲取用戶輸入,直接記下這個地址0x421DF7

分析算法

找到0x421DF7函數頭的位置0x00421DC8 ,開始分析整個算法,校驗步驟如下

  • 獲取序列號
  • 獲取用戶名
  • 比較用戶名長度是否大于等于4
  • 再次獲取用戶名長度
  • 循環累加用戶名的ASCII值右移9位的和
  • 將累加的結果轉為字符串
  • 和序列號進行比較
  • 下面貼上IDA的偽代碼注釋

    寫出注冊機

    注冊機代碼如下:

    #define _CRT_SECURE_NO_WARNINGS #include <windows.h> #include <stdio.h>int main() {int result = 0x37;char username[20] = { 0 };char serial[20] = { 0 };printf("請輸入用戶名:");scanf_s("%s", username, 20);int usernameLen = strlen(username);if (usernameLen>=4){for (int i = 0; i < usernameLen; i++){result += username[i] << 9;}}printf("%d\n", result);system("pause");return 0; }

    校驗結果

    輸入用戶名和計算的序列號

    提示成功 破解完成

    需要相關文件的可以到我的Github下載:https://github.com/TonyChen56/160-Crackme

    總結

    以上是生活随笔為你收集整理的160个Crackme045的全部內容,希望文章能夠幫你解決所遇到的問題。

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