吾愛破解 - LCG - LSG |安卓破解|病毒分析|破解軟件|www.aejguz.icu

 找回密碼
 注冊[Register]

QQ登錄

只需一步,快速開始

搜索
查看: 1359|回復: 16
上一主題 下一主題

[原創] themia/winlciense殼64位脫殼總結

  [復制鏈接]
跳轉到指定樓層
樓主
cndml 發表于 2019-10-1 15:58 回帖獎勵
本帖最后由 cndml 于 2019-10-1 16:03 編輯

閑來沒事脫了幾個64位的tmd殼,破解道路相當曲折,在此分享一下脫殼經驗。
1、先說一下64位程序。對64位程序剛開始研究,了解的比較少,只說一下與脫殼有關的。相比32位程序,64位程序代碼段不需要重定位,地址操作全部是相對引用。
2、tmd殼在64位程序上,不知道是破解版的原因,還是別的,加密強度相比32位有所降低,api虛擬不再像32程序散落在內存中,而是集中在殼段內,這給修復api帶來不少麻煩。
3、具體程序就不發了,說一下自己脫殼修復的過程。調試器使用x64dbg,iat修復使用scaylla。
4、第一步尋找oep,我采用的是esp定位,由于tmd殼在調到oep的時候,會執行一個ret指令,而oep地址就保存在esp里,通過在esp-8下斷點,然后判斷當前指令的第一個字節是否是C2就可以判斷是否到了oep,采用這個辦法主要是X64DBG的腳本不是很強大,加之對指令了解不多。
5、第二步,修復加密的api,跟32位程序一樣,64位程序三個系統dll會有部分api被vm加密,ff25 ff15被修改為e8XXXX90的形式,這個通過在api的地址下訪問斷點,可以跟蹤到加密前的api函數,寫個簡單腳本記錄一下api函數就可以了,到達oep后,把加密api函數地址恢復了就可以了。
6、修復e8 call,這個是任務比較艱巨的,由于64位程序vm后的api地址調用保存在殼段,這給恢復iat帶來相當大的工作量。
7、首先模仿LCT-AT的方法,用腳本申請內存,自建一段程序遍歷代碼段,把所有e8 call保存下來,然后,一段一段的執行vm后的api,在ret返回的時候,判斷是否是合法的系統api地址,是則保存,這里有個問題,需要根據返回地址在esp里的位置,判斷是ff15  還是ff25,同時由于x64dbg的問題,腳本運行時間稍長就會導致調試器崩潰,只能恢復幾十個api后,用hex把內存保存出來,免得前功盡棄,這個過程是相當熬人。
8、全部api恢復后,用x64dbg自帶的dump插件或者用scaylla把程序dump出來,用scaylla恢復iat表,脫殼就基本成功了。
9、如果是dll程序,還需要重定位表,64位程序沒有好的重定位工具,對tmd殼來說,不需要,跟蹤殼解碼過程可以找到完整的重定位表,直接dump出來就可以了,然后直接附在程序尾部即可。
10、這樣脫殼的程序,運行沒有問題,但是重新加殼會有問題,因為iat寫在最后一個區段,重新用winlicense加殼的時候會提示文件頭與winlciense不匹配,加殼后的程序不能正常運行。沒有找到現成的工具,只好手動把iat表復制到IDAta段的尾部原來的iat位置,這個很好找,找個類似程序比較一下,發現一段有規律的亂碼就是被改寫后的iat位置,把iat表的地址手工改為新地址就可以了。
至此,一個tmd可就完美脫掉了。

免費評分

參與人數 6吾愛幣 +13 熱心值 +6 收起 理由
l403091644 + 1 + 1 你的qq名是不是叫“披羊皮的lang”
金化銫 + 1 + 1 用心討論,共獲提升!
Hmily + 7 + 1 歡迎分析討論交流,吾愛破解論壇有你更精彩!
liangfuyin + 1 + 1 表哥厲害,感謝記錄。
qzr + 1 + 1 用心討論,共獲提升!
小糊涂蟲 + 2 + 1 我很贊同!

查看全部評分

本帖被以下淘專輯推薦:

發帖前要善用論壇搜索功能,那里可能會有你要找的答案或者已經有人發布過相同內容了,請勿重復發帖。

推薦
hn123 發表于 2019-10-2 09:45
樓主很強啊,你的分享對很多人都有用,對于一個剛學脫殼的學者來說太難了,你要是在能出個視頻就好了。不過也可以頂一下,點擊一下先。雖然看不懂,但可以從文字上看得到大概的方向。謝謝。
推薦
 樓主| cndml 發表于 2019-10-3 23:32 <
jupiter6 發表于 2019-10-1 18:43
好文章 學習了   不知樓主對64位的WL授權bypass有研究沒

跟32位差不多,依然有效
沙發
xie83544109 發表于 2019-10-1 16:20
3#
ly765893958 發表于 2019-10-1 17:21
大佬  學習了
4#
jupiter6 發表于 2019-10-1 18:43
好文章 學習了   不知樓主對64位的WL授權bypass有研究沒
5#
lovemsq 發表于 2019-10-1 19:07
winlciense殼64位脫殼總結 [修改]
6#
luli1111 發表于 2019-10-2 08:12
謝謝分享心得體會.
8#
小可愛~ 發表于 2019-10-2 17:12
xie83544109 發表于 2019-10-1 16:20
雖然不懂,還是要學習一下

鴿, 在論壇打水漂打了10年了,
9#
xie83544109 發表于 2019-10-2 18:02
小可愛~ 發表于 2019-10-2 17:12
鴿, 在論壇打水漂打了10年了,


介都讓樓主發現鳥
10#
liangfuyin 發表于 2019-10-2 19:17
表哥厲害,感謝記錄。
您需要登錄后才可以回帖 登錄 | 注冊[Register]

本版積分規則 警告:禁止回復與主題無關內容,違者重罰!

快速回復 收藏帖子 返回列表 搜索

RSS訂閱|小黑屋|聯系我們|吾愛破解 - LCG - LSG ( 京ICP備16042023號 | 京公網安備 11010502030087號 )

GMT+8, 2019-10-12 04:03

Powered by Discuz!

© 2001-2017 Comsenz Inc.

快速回復 返回頂部 返回列表
宝盈娱乐平台