<ul id="qxxfc"><fieldset id="qxxfc"><tr id="qxxfc"></tr></fieldset></ul>


      CrackMe —— 004

      160 CrackMe 是比較適合新手學習逆向破解的CrackMe的一個集合一共160個待逆向破解的程序

      CrackMe:它們都是一些公開給別人嘗試破解的小程序,制作 crackme 的人可能是程序員,想測試一下自己的軟件保護技術,也可能是一位
      cracker,想挑戰(zhàn)一下其它 cracker 的破解實力,也可能是一些正在學習破解的人,自己編一些小程序給自己破。
      CrackMe簡稱CM。 程序下載地址:點擊我 <https://pan.baidu.com/s/16tE4RuNi1gGZMeS9w-ewBw>
      來源 <https://www.cnblogs.com/lonenysky/p/11333445.html> <-點擊查看

      編號 作者 保護方式
      004 ajj Name/Serial(Delphi)
      005 ajj Serial(Delphi)
      ?

      ?

      ?

      ?

      工具?

      x32dbg

      DelphiDecompiler

      peid

      LordPE

      ImportREC

      開始破解之旅

      ON.1

      使用x32dbg打開004號程序,和程序一起的還有一個幫助文件,從文件中我們得知程序是Delphi

      打開程序,我們發(fā)現(xiàn)沒有一個確認按鈕,這下應該怎么來操作呢?

      先搜索字符串
      地址=004580A9 反匯編=mov edx,ckme.458114 字符串="恭喜恭喜!注冊成功"
      ?雙擊,在這個地址向上翻看

      ?



      第二個跳轉跳過了注冊成功,該跳轉為注冊碼判斷跳轉將其NOP,輸入框被輸入數(shù)據(jù)????怎么沒有任何反應

      我們使用DelphiDecompiler 來打開004號程序,該程序是一個Delphi反編譯程序,點擊Procedures,在Events
      窗口下發(fā)現(xiàn)單擊,雙擊事件和一個chkcode,chkcode漢意疑似檢測code



      回到程序,我們單擊bingo~,結果出現(xiàn)了,美麗的朱茵小姐出現(xiàn)了



      接下來我們使用追碼的方式來嘗試破解

      記錄兩個地址 00457E7C?,00457FB8和00457C40?在x32dbg 中設置斷點,來到程序在輸入框內輸入數(shù)據(jù),單擊

      停在了斷點處



      單步向下開始走

      到達00457C88處時出現(xiàn)dseloffc-012-OK 疑似注冊碼,繼續(xù)單步向下
      00457C50 | 51 | push ecx | 00457C51 | 874D FC | xchg dword ptr ss:[ebp-4],ecx
      | 00457C54 | 53 | push ebx | ebx:"紋E" 00457C55 | 56 | push esi | 00457C56 |
      8BD8 | mov ebx,eax | ebx:"紋E", eax:&"10"" 00457C58 | 33C0 | xor eax,eax |
      eax:&"10" 00457C5A | 55 | push ebp | 00457C5B | 68 3D7E4500 | push ckme.457E3D
      | 00457C60 | 64:FF30 | push dword ptr fs:[eax] | 00457C63 | 64:8920 | mov dword
      ptr fs:[eax],esp | 00457C66 | 8BB3 F8020000 | mov esi,dword ptr ds:[ebx+2F8] |
      00457C6C | 83C6 05 | add esi,5 | 00457C6F | FFB3 10030000 | push dword ptr
      ds:[ebx+310] | [ebx+310]:"黑頭Sun Bird" 00457C75 | 8D55 F8 | lea edx,dword ptr
      ss:[ebp-8] | [ebp-8]:"10" 00457C78 | 8BC6 | mov eax,esi | eax:&"10" 00457C7A |
      E8 85FEFAFF | call ckme.407B04 | 00457C7F | FF75 F8 | push dword ptr ss:[ebp-8]
      | [ebp-8]:"10" 00457C82 | FFB3 14030000 | push dword ptr ds:[ebx+314] |
      [ebx+314]:"dseloffc-012-OK" 疑似注冊碼 00457C88 | 8D55 F4 | lea edx,dword ptr
      ss:[ebp-C] | 00457C8B | 8B83 D4020000 | mov eax,dword ptr ds:[ebx+2D4] |
      eax:&"10", [ebx+2D4]:"聰A" 00457C91 | E8 B2B6FCFF | call ckme.423348 | 00457C96
      | FF75 F4 | push dword ptr ss:[ebp-C] | 00457C99 | 8D83 18030000 | lea
      eax,dword ptr ds:[ebx+318] | eax:&"10", [ebx+318]:"黑頭Sun
      Bird10dseloffc-012-OK12345" 00457C9F | BA 04000000 | mov edx,4 | 00457CA4 | E8
      93BFFAFF | call ckme.403C3C | 00457CA9 | 33D2 | xor edx,edx | 00457CAB | 8B83
      F4020000 | mov eax,dword ptr ds:[ebx+2F4] | eax:&"10", [ebx+2F4]:&"HPB"
      00457CB1 | E8 AAB5FCFF | call ckme.423260 | 00457CB6 | 8B93 18030000 | mov
      edx,dword ptr ds:[ebx+318] | [ebx+318]:"黑頭Sun Bird10dseloffc-012-OK12345"
      00457CBC | 8B83 F4020000 | mov eax,dword ptr ds:[ebx+2F4] | eax:&"10",
      [ebx+2F4]:&"HPB" 00457CC2 | E8 B1B6FCFF | call ckme.423378 | 00457CC7 | 33F6 |
      xor esi,esi | 00457CC9 | 8D55 EC | lea edx,dword ptr ss:[ebp-14] |
      繼續(xù)單步向下發(fā)現(xiàn)00457CBC處[ebx+318]堆棧處出現(xiàn)一串更長的字符串,疑似注冊碼也在里面,難道這個才是真正的注冊碼嗎,記錄下來

      在注冊碼內輸入“黑頭Sun Bird10dseloffc-012-OK12345”雙擊窗口,圖片顯示成功

      我們換個賬號765 發(fā)現(xiàn)注冊碼變了“黑頭Sun Bird8dseloffc-012-OK765” 中間10變?yōu)榱?
      ,最后12345變?yōu)榱?65,觀察發(fā)現(xiàn)最后應該是賬號

      中間應該是計算所得

      發(fā)現(xiàn)8在00457C7F壓入棧內
      00457C7F | FF75 F8 | push dword ptr ss:[ebp-8] | [ebp-8]:L"8"
      ?向上翻看,發(fā)現(xiàn)00457C44和00457C4E為計算8的方式
      00457C44 | B9 05000000 | mov ecx,5 | 00457C49 | 6A 00 | push 0 | 00457C4B | 6A
      00 | push 0 | 00457C4D | 49 | dec ecx | 00457C4E | 75 F9 | jne ckme.457C49 |
      ?固定變量5,5+用戶名長度

      注冊碼計算方式為“黑頭Sun Bird”+用戶名長度+“dseloffc-012-OK”+用戶名

      CrackMe —— 005

      NO.1

      用PEID查殼,發(fā)現(xiàn)存在UPX



      ?

      我們脫殼,在程序入口處停下來,單步一次,發(fā)現(xiàn)寄存器窗口ESP變?yōu)榧t色



      在ESP處右鍵內存窗口轉到,在該位置下硬件斷點,F(xiàn)9運行

      此時停在了我們的OEP
      0044768C 55 push ebp 0044768D 8BEC mov ebp,esp 0044768F 83C4 F4 add esp,-0xC
      00447692 B8 2C754400 mov eax,CKme002.0044752C ; UNICODE "+" 00447697 E8
      20EAFBFF call CKme002.004060BC 0044769C A1 D88C4400 mov eax,dword ptr
      ds:[0x448CD8] 004476A1 8B00 mov eax,dword ptr ds:[eax] 004476A3 E8 64A4FFFF
      call CKme002.00441B0C
      ?打開LordPE

      找到我們的進程,右鍵修復鏡像大小,再次右鍵完整轉存

      接下來使用ImportRec修復IAT

      輸入OEP地址4768C 查找IAT,獲取輸入表,點擊無效函數(shù),在無效函數(shù)處刪除指針->轉儲到文件



      提示:此處不要選擇剪切指針,否則會程序會異常

      脫殼成功



      ON.2

      搜索字符串發(fā)現(xiàn)“注冊了”字符串,進入地址向上翻看發(fā)現(xiàn)多個跳轉?



      發(fā)現(xiàn)跳轉全部跳過注冊成功,將其全部NOP

      運行,發(fā)現(xiàn)界面發(fā)生變化,破解成功



      通過查看字符串發(fā)現(xiàn)一個疑似文件地址,跳轉到匯編處發(fā)現(xiàn)會讀取X盤內ok.txt文件
      地址=00446D49 反匯編=mov edx,dumped_.446DEC
      字符串="X:\\ajj.126.c0m\\j\\o\\j\\o\\ok.txt"
      ?在X盤內,博主只有一個C盤,感覺到了無窮的麻煩....這部分交給正在觀看本文章的你啦(^_^)

      ?

      友情鏈接
      ioDraw流程圖
      API參考文檔
      OK工具箱
      云服務器優(yōu)惠
      阿里云優(yōu)惠券
      騰訊云優(yōu)惠券
      京東云優(yōu)惠券
      站點信息
      問題反饋
      郵箱:[email protected]
      QQ群:637538335
      關注微信

        <ul id="qxxfc"><fieldset id="qxxfc"><tr id="qxxfc"></tr></fieldset></ul>
          韩国一级做A片免费播放 | 日韩一区二区三区无码电影 | 囗交无遮挡电影 | 成人福利小视频 | 亚洲AV无码专区在线观看播放 | 91漂亮少妇露脸在线播放 | 国产一及黄色 | 狠狠撸狠狠干 | 中国操逼网站 | 草久影视 |