キモブロ

Please spy check please, Fucking retard

server.soの解析をした

IDA Proで逆アセンブリをして静的にコードを読んだ。IDAを使うのは初。OllyDbgみたいに動的に動かしてデバッグするわけじゃなく、単にコードをディスアセンブリして読みやすい感じに構造化してくれる、というツールっぽい。なのでメモリ中の文字列を参照している場所をリストアップ、などはできないっぽい。単純にその文字列のメモりアドレス参照してるかどうかで出来そうなもんだけど。どうなんだろ。使い方がまだなれてないのでわからない。

とりあえずIDAのおかげで面白そうなのを発見
CUpgradesクラス。CUpgrades::GrantsAllUpgrade(CTFPlayer *)みたいなのがあって、指定したCTFPlayerのUpgradeを最大にしてくれる? ものじゃないかなと。open_final_industryとかみたいな所持金MAXマップではもうそもそも最大アップグレードにしてあげる、みたいなのが出来そう。


ただこれの関数のアドレスをどうやって算出しようかで悩んでいる。Linuxの場合はセキュリティ的な対策のために毎回メモリアドレスがランダムになるので、なんらかのオフセット値が必要。しかもserver.so自体のバージョンアップでもあまり変化を受けにくいような。well knownなほかの関数のアドレスを調べて、その差分をもとにアクセスできるようにする、とかかな。。