綁定帳號登入

Android 台灣中文網

打印 上一主題 下一主題

[修改] 捆绑编年史—GP302—你根本打不疼我

 關閉 [複製連結] 查看: 11505|回覆: 63|好評: 0
41
gdemon | 收聽TA | 只看該作者
發表於 2016-12-26 22:45
本帖最後由 gdemon 於 2016-12-27 10:18 編輯

可否請教一下這個map是怎麼dump出來的?
是因為原來il2cpp有加殼嗎?還是?

這版的il2cpp用ida6.8打開後,有些symbol找不到了 (我沒試ida 6.95)
google了一下,似乎利用https://github.com/Jumboperson/PokemonGoDumper當libunity.so的loader
可以在android monitor的debug message中看到每個function的address
但我build出so後,放入data下後,跑起來debug message告訴我需要libmono.so.........然後activity就掛了
將舊版的libmono.so放入後還是不行

找到另一篇還原使用IL2CPP編譯的unity遊戲的symbol,似乎可以dump出symbol
但也是不行....
cc的il2cpp.so根本沒有.const這個section
我找了一下data section也找不到看起來像是g_MetadataUsages的開始和結束的地方.....

本來想說靜態的破解沒招了
可能要請出giddbg來動態破解了

感謝你
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 0 反對 1

使用道具 舉報

42
perfare | 收聽TA | 只看該作者
發表於 2016-12-26 23:32
本帖最後由 perfare 於 2016-12-26 23:40 編輯
gdemon 發表於 2016-12-26 22:45
可否請教一下這個map是怎麼dump出來的?
是因為原來il2cpp有加殼嗎?還是?

你都找到這篇文章了居然沒用裡面提供的腳本嗎。。。
https://github.com/nevermoe/unity_metadata_loader
把unity_loader.py,unity_decoder.exe,so和dat放在一起,然後等ida分析結束后運行py腳本
可能會報錯,你需要刪除py腳本裡的
if "PC" in ida_idp.ph_get_regnames() or "pc" in ida_idp.ph_get_regnames():
    ARCH = "arm"
else:
    ARCH = "x86"
這段
另外so並沒有加殼,只是抹掉了部分symbol,但是地址還是可以找到的,在172d378和172d330,不過因為Il2CppDumper本身BUG的緣故,會沒法全部dump XD

評分

參與人數 5碎鑽 +5 幫助 +5 收起 理由
s921204 + 1 + 1 非常讃
strife_606 + 1 + 1 非常讃
gdemon + 1 + 1 非常讃
chantf + 1 + 1 非常讃
jakyou + 1 + 1 非常讃

查看全部評分

用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

43
gdemon | 收聽TA | 只看該作者
發表於 2016-12-27 00:45
感謝分享,我再試試

因為按照該作者的說法,必需先找到g_MetadataUsages的開始和結束
我找不到__const section,也locate不到g_MetadataUsages
當然就不會想在ida裡跑他ida plugin了.......
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

44
perfare | 收聽TA | 只看該作者
發表於 2016-12-27 03:27
gdemon 發表於 2016-12-27 00:45
感謝分享,我再試試

因為按照該作者的說法,必需先找到g_MetadataUsages的開始和結束

那個不是我提供的addr呀,我dump出來的get_ATK()應該在2cdb98,get_HP()應該在2cdbc4
運行py腳本是從File-Script files運行

評分

參與人數 2碎鑽 +2 經驗 +1 幫助 +2 收起 理由
s921204 + 1 + 1 非常讃
gdemon + 1 + 1 + 1 很給力!

查看全部評分

用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

45
 樓主| ShibaTatsuya | 收聽TA | 只看該作者
發表於 2016-12-27 03:28
由 手機網頁 發佈
gdemon 發表於 2016-12-27 00:45
感謝分享,我再試試

因為按照該作者的說法,必需先找到g_MetadataUsages的開始和結束

以下全凭想象
因为改法不一样所以我也不知道怎么回事
看你汇编你应该想往r0移入数值然后跳到lr寄存器地址
不知道你说的扑街是什么情况,理论上应该是可行的,建议继续咬着P神不放口#(滑稽)
既然位置已知其实你也可以单步跟踪看看执行返回异同,谁知道SEGAY会不会干什么呐,或者是对比一下P神上个版本
没看过那个位置OvO所以不是很清楚你的问题,图片那一片水印也⊙ω⊙
我是按照之前改国服的方法改的啦,其实倍率控制反而感觉更加安心就是了。想当年弓兵队艹200魔神不怂。
更有可能会不会是→_→不小心发了错误的map
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

46
 樓主| ShibaTatsuya | 收聽TA | 只看該作者
發表於 2016-12-27 03:33
由 手機網頁 發佈
perfare 發表於 2016-12-27 03:27
那個不是我提供的addr呀,我dump出來的get_ATK()應該在2cdb98,get_HP()應該在2cdbc4
運行py腳本是從File ...

好像是我的锅来着-_-||
我感觉发错了map?
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

47
gdemon | 收聽TA | 只看該作者
發表於 2016-12-27 10:14
perfare 發表於 2016-12-27 03:27
那個不是我提供的addr呀,我dump出來的get_ATK()應該在2cdb98,get_HP()應該在2cdbc4
運行py腳本是從File ...

嗯,script的部份我會再試試

因為script的原作者在分析原理的時候有個condition.....
而現在看起來似乎直接run script就行了..... Q_Q
我花好多時間只為找function symbol的map.........
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

48
gdemon | 收聽TA | 只看該作者
發表於 2016-12-27 10:14
perfare 發表於 2016-12-27 03:27
那個不是我提供的addr呀,我dump出來的get_ATK()應該在2cdb98,get_HP()應該在2cdbc4
運行py腳本是從File ...

嗯,script的部份我會再試試

因為script的原作者在分析原理的時候有個condition.....
而現在看起來似乎直接run script就行了..... Q_Q
我花好多時間只為找function symbol的map.........
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

49
gdemon | 收聽TA | 只看該作者
發表於 2016-12-27 10:27
ShibaTatsuya 發表於 2016-12-27 03:33
好像是我的锅来着-_-||
我感觉发错了map?

沒關係,有方向就好

我再試試

然後asm的圖.......我怎麼知道apk.tw自己圖床會加那麼的浮水印,尼瑪
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

50
zcadqewxs | 收聽TA | 只看該作者
發表於 2016-12-27 11:13
perfare 發表於 2016-12-26 23:32
你都找到這篇文章了居然沒用裡面提供的腳本嗎。。。
https://github.com/nevermoe/unity_metadata_loader
...

我用ida分析完so后,载入了py腳本,按了ALT+CTRL+A后,还是没找到MetadataCache::Register,请指点一下方法
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則