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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

破解小记

發(fā)布時(shí)間:2023/12/9 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 破解小记 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.


?

聲明:請支持使用正版軟件,尊重原作者的勞動成果,

此文只做技術(shù)交流,如有他人利用,產(chǎn)生后果,不負(fù)

任何責(zé)任。

?

SourceInsight是我們常用的代碼編輯器和瀏覽器,支持如C,C++,html等格式的代碼,

使用起來非常的小巧,但無奈是商業(yè)軟件,下載下來使用還是需要注冊碼,于是想到自己

試試破解,鑒于網(wǎng)上有提供的是破解注冊算法的,在此我提供一種純爆破思路,步驟如下:

我下載的是SourceInsight3.5版本,用PeiD查殼發(fā)現(xiàn)沒有加殼,直接用OD加載,程序常

見的VC6.0所寫,直接一步一步的跟進(jìn),

在00522116? |.? E82CE5F1FF?? call??? 00440647????; \產(chǎn)生界面以及輸入框

跟進(jìn),發(fā)現(xiàn)程序首先進(jìn)行讀注冊表等操作,

?0044068A ?|. ?68 D0DD5300 ? ?push ? ?0053DDD0 ? ? ? ? ? ? ? ? ? ? ? ? ; ?ASCII "Source Insight\3.0"
0044068F ?|. ?E8 F73BFFFF ? ?call ? ?0043428B
00440694 ?|. ?85C0 ? ? ? ? ? test ? ?eax, eax ? ? ? ? ? ? ? ? ? ? ? ? ; ?判斷是否能打開注冊表
00440696 ? ? ?75 16 ? ? ? ? ?jnz ? ? short 004406AE
00440698 ?|. ?68 E4DD5300 ? ?push ? ?0053DDE4 ? ? ? ? ? ? ? ? ? ? ? ? ; ?ASCII "Cannot access registry keys"
0044069D ?|. ?6A 00 ? ? ? ? ?push ? ?0
0044069F ?|. ?6A 00 ? ? ? ? ?push ? ?0
004406A1 ?|. ?E8 1018FDFF ? ?call ? ?00411EB6
004406A6 ?|. ?83C4 0C ? ? ? ?add ? ? esp, 0C
004406A9 ?|. ?E9 E6040000 ? ?jmp ? ? 00440B94
004406AE ?|> ?E8 41650000 ? ?call ? ?00446BF4
004406B3 ?|. ?85C0 ? ? ? ? ? test ? ?eax, eax
004406B5 ?|. ?75 16 ? ? ? ? ?jnz ? ? short 004406CD
004406B7 ?|. ?68 00DE5300 ? ?push ? ?0053DE00 ? ? ? ? ? ? ? ? ? ? ? ? ; ?ASCII "Cannot access registry keys"

///

?00440718 ?|> \E8 312A0000 ? ?call ? ?0044314E
0044071D ?|. ?85C0 ? ? ? ? ? test ? ?eax, eax
0044071F ?|. ?74 24 ? ? ? ? ?je ? ? ?short 00440745 ? ? ? ? ? ? ? ? ? ; ?測試電腦配置
00440721 ?|. ?6A 31 ? ? ? ? ?push ? ?31 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ; /Style = MB_OKCANCEL|MB_ICONEXCLAMATION|MB_APPLMODAL
00440723 ?|. ?68 F4CE5B00 ? ?push ? ?005BCEF4 ? ? ? ? ? ? ? ? ? ? ? ? ; |Title = "Source Insight"
00440728 ?|. ?68 B0D15300 ? ?push ? ?0053D1B0 ? ? ? ? ? ? ? ? ? ? ? ? ; |Text = "System resources are too low. ?Restart Windows soon!"
0044072D ?|. ?6A 00 ? ? ? ? ?push ? ?0 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?; |hOwner = NULL
0044072F ?|. ?FF15 C8C45200 ?call ? ?dword ptr [<&USER32.MessageBoxA>>; \MessageBoxA
00440735 ?|. ?8945 D0 ? ? ? ?mov ? ? dword ptr [ebp-30], eax
00440738 ?|. ?837D D0 01 ? ? cmp ? ? dword ptr [ebp-30], 1
0044073C ?|. ?74 07 ? ? ? ? ?je ? ? ?short 00440745
0044073E ?|. ?33C0 ? ? ? ? ? xor ? ? eax, eax
00440740 ?|. ?E9 5C040000 ? ?jmp ? ? 00440BA1
00440745 ?|> ?FF35 28975C00 ?push ? ?dword ptr [5C9728] ? ? ? ? ? ? ? ; /Arg1 = 00000000
0044074B ?|. ?E8 18ECFCFF ? ?call ? ?0040F368 ? ? ? ? ? ? ? ? ? ? ? ? ; \Insight3.0040F368
00440750 ?|. ?85C0 ? ? ? ? ? test ? ?eax, eax
00440752 ?|. ?75 05 ? ? ? ? ?jnz ? ? short 00440759
00440754 ?|. ?E9 3B040000 ? ?jmp ? ? 00440B94
00440759 ?|> ?E8 F6690000 ? ?call ? ?00447154
0044075E ?|. ?85C0 ? ? ? ? ? test ? ?eax, eax
00440760 ?|. ?75 05 ? ? ? ? ?jnz ? ? short 00440767
00440762 ?|. ?E9 2D040000 ? ?jmp ? ? 00440B94
00440767 ?|> ?6A 01 ? ? ? ? ?push ? ?1 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?; /Arg1 = 00000001
00440769 ?|. ?E8 FF800000 ? ?call ? ?0044886D ? ? ? ? ? ? ? ? ? ? ? ? ; \讀取注冊表中的序列號 用戶名 公司 時(shí)間
0044076E ?|. ?8325 E05E5E00 >and ? ? dword ptr [5E5EE0], 0
00440775 ?|. ?837D 0C 00 ? ? cmp ? ? dword ptr [ebp+C], 0
00440779 ?|. ?75 1F ? ? ? ? ?jnz ? ? short 0044079A
0044077B ?|. ?FF75 08 ? ? ? ?push ? ?dword ptr [ebp+8] ? ? ? ? ? ? ? ?; /Arg1
0044077E ?|. ?E8 CF550000 ? ?call ? ?00445D52 ? ? ? ? ? ? ? ? ? ? ? ? ; \Insight3.00445D52
00440783 ?|. ?85C0 ? ? ? ? ? test ? ?eax, eax
00440785 ?|. ?75 13 ? ? ? ? ?jnz ? ? short 0044079A ? ? ? ? ? ? ? ? ? ; ?如果讀取注冊表失敗
00440787 ?|. ?68 38DE5300 ? ?push ? ?0053DE38 ? ? ? ? ? ? ? ? ? ? ? ? ; ?ASCII "Window classes failed to register"
0044078C ?|. ?6A 00 ? ? ? ? ?push ? ?0
0044078E ?|. ?6A 00 ? ? ? ? ?push ? ?0
00440790 ?|. ?E8 9016FDFF ? ?call ? ?00411E25
00440795 ?|. ?E9 FA030000 ? ?jmp ? ? 00440B94
0044079A ?|> ?8D45 F8 ? ? ? ?lea ? ? eax, dword ptr [ebp-8] ? ? ? ? ? ; ?加載程序資源 啟動程序
0044079D ?|. ?50 ? ? ? ? ? ? push ? ?eax ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?; /Arg3
0044079E ?|. ?FF75 14 ? ? ? ?push ? ?dword ptr [ebp+14] ? ? ? ? ? ? ? ; |Arg2
004407A1 ?|. ?FF75 10 ? ? ? ?push ? ?dword ptr [ebp+10] ? ? ? ? ? ? ? ; |Arg1
004407A4 ?|. ?E8 BF560000 ? ?call ? ?00445E68 ? ? ? ? ? ? ? ? ? ? ? ? ; \Insight3.00445E68
004407A9 ?|. ?85C0 ? ? ? ? ? test ? ?eax, eax
004407AB ? ? ?75 05 ? ? ? ? ?jnz ? ? short 004407B2 ? ? ? ? ? ? ? ? ? ; ?程序是否正常啟動
004407AD ?|. ?E9 E2030000 ? ?jmp ? ? 00440B94
004407B2 ?|> ?E8 417D0000 ? ?call ? ?004484F8 ? ? ? ? ? ? ? ? ? ? ? ? ; ?對于注冊表中讀取到得序列號進(jìn)行驗(yàn)證
004407B7 ?|. ?85C0 ? ? ? ? ? test ? ?eax, eax

讀取到了注冊表內(nèi)容之后緊接著找到了關(guān)鍵點(diǎn)

說明:

在未破解程序中填寫的注冊用戶”zxc”,公司”zxc”,序列號”CRACK ?BY ?CRACK07”(按此方

法破解之后可以改為任何值),用未破解的程序?qū)⒋藢懭肓俗员?以至于再次用OD打開不

會提示注冊表讀取錯(cuò)誤

004407A4? |.? E8 BF560000??call??? 00445E68???????????? ????; \Insight3.00445E68

004407A9? |.? 85C0?????????test??? eax, eax

004407AB????? 75 05???????? jnz????short 004407B2??????????????????;? 程序是否正常啟動

004407AD? |.? E9 E2030000??jmp???? 00440B94

004407B2? |>? E8 417D0000??call?? 004484F8 ;? 對于注冊表中讀取到得序列號進(jìn)行驗(yàn)證

?

如果直接改00407AB的值會出現(xiàn)程序非正常啟動直接退出,所以還是要跟進(jìn)call來查看驗(yàn)證

?00448539 ?|> \0FB605 FC5E5E0>movzx ? eax, byte ptr [5E5EFC]
00448540 ?|. ?85C0 ? ? ? ? ? test ? ?eax, eax
00448542 ? ? ?74 27 ? ? ? ? ?je ? ? ?short 0044856B ? ? ? ? ? ? ? ? ? ; ?判斷用戶序列號是否合法 改為jnz
00448544 ?|. ?68 FC5E5E00 ? ?push ? ?005E5EFC ? ? ? ? ? ? ? ? ? ? ? ? ; /Arg1 = 005E5EFC
00448549 ?|. ?E8 73D6FFFF ? ?call ? ?00445BC1 ? ? ? ? ? ? ? ? ? ? ? ? ; \Insight3.00445BC1
0044854E ?|. ?85C0 ? ? ? ? ? test ? ?eax, eax
00448550 ? ? ?75 17 ? ? ? ? ?jnz ? ? short 00448569
00448552 ?|. ?68 74FE5300 ? ?push ? ?0053FE74 ? ? ? ? ? ? ? ? ? ? ? ? ; ?a valid serial number was not entered.\n\nplease run the source insight setup program to install it before running it. ?do not just copy the insight.exe file.
00448557 ?|. ?E8 2EFAFBFF ? ?call ? ?00407F8A
0044855C ?|. ?59 ? ? ? ? ? ? pop ? ? ecx
0044855D ?|. ?E8 82F0FFFF ? ?call ? ?004475E4
00448562 ?|. ?33C0 ? ? ? ? ? xor ? ? eax, eax
00448564 ?|. ?E9 C5010000 ? ?jmp ? ? 0044872E
00448569 ?|> ?EB 12 ? ? ? ? ?jmp ? ? short 0044857D
0044856B ?|> ?6A 00 ? ? ? ? ?push ? ?0 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?; /Arg1 = 00000000
0044856D ? ? ?E8 1D100000 ? ?call ? ?0044958F ? ? ? ? ? ? ? ? ? ? ? ? ; ?用戶在注冊表中的輸入不合法,最簡單的方法是直接改為NOP
00448572 ?|. ?85C0 ? ? ? ? ? test ? ?eax, eax
00448574 ?|. ?75 07 ? ? ? ? ?jnz ? ? short 0044857D
00448576 ?|. ?33C0 ? ? ? ? ? xor ? ? eax, eax
00448578 ?|. ?E9 B1010000 ? ?jmp ? ? 0044872E
0044857D ?|> ?6A 01 ? ? ? ? ?push ? ?1
0044857F ?|. ?58 ? ? ? ? ? ? pop ? ? eax
00448580 ? ? ?E9 A9010000 ? ?jmp ? ? 0044872E ? ? ? ? ? ? ? ? ? ? ? ? ; ?直接退出 改為NOP

跟進(jìn)進(jìn)入004484F8關(guān)鍵部分

也可以進(jìn)入0048568之后進(jìn)行修改

經(jīng)過此修改即可以滿足用戶注冊的需求,但是在破解之后會出現(xiàn)運(yùn)行一段時(shí)間程序自動退出

的問題,后來發(fā)現(xiàn)是程序在運(yùn)行中還會不斷的檢查是否到期,在0044085c進(jìn)行修改即可

?0044083E ?|> /E8 83440000 ? ?/call ? ?00444CC6 ? ? ? ? ? ? ? ? ? ? ? ?; ?進(jìn)入循環(huán)
00440843 ?|. |E8 400EFEFF ? ?|call ? ?00421688
00440848 ?|. |6A 01 ? ? ? ? ?|push ? ?1 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ; /RemoveMsg = PM_REMOVE
0044084A ?|. |6A 00 ? ? ? ? ?|push ? ?0 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ; |MsgFilterMax = WM_NULL
0044084C ?|. |6A 00 ? ? ? ? ?|push ? ?0 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ; |MsgFilterMin = WM_NULL
0044084E ?|. |6A 00 ? ? ? ? ?|push ? ?0 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ; |hWnd = NULL
00440850 ?|. |8D45 D4 ? ? ? ?|lea ? ? eax, dword ptr [ebp-2C] ? ? ? ? ; |
00440853 ?|. |50 ? ? ? ? ? ? |push ? ?eax ? ? ? ? ? ? ? ? ? ? ? ? ? ? ; |pMsg
00440854 ?|. |FF15 58C55200 ?|call ? ?dword ptr [<&USER32.PeekMessage>; \PeekMessageA
0044085A ?|. |85C0 ? ? ? ? ? |test ? ?eax, eax
0044085C ? ? |0F84 ED020000 ?je ? ? ?00440B4F ? ? ? ? ? ? ? ? ? ? ? ? ; ?如果超出了時(shí)間 就什么也不做 不捕焦點(diǎn)改為NOP

由于圖片大小限制放一張修改后程序運(yùn)行圖:


?

最后由于時(shí)間關(guān)系,修改后的程序中有一點(diǎn)不足,是每次運(yùn)行都會提醒用戶是否要新建工程

向?qū)?#xff0c;有點(diǎn)類似Nag窗口

?

?

總結(jié)

以上是生活随笔為你收集整理的破解小记的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。