2016-10-02 9 views
0

ゲームの達成エンティティとして与えられた特定の通貨パーセルの値を変更する必要があるスマイルコードを編集しています。数値を整数型に設定する方法

.method public writeToParcel(Landroid/os/Parcel;I)V 
.locals 0 

invoke-static {p0, p1, p2}, Lcom/google/android/gms/games/achievement/AchievementEntityCreator;->a(Lcom/google/android/gms/games/achievement/AchievementEntity;Landroid/os/Parcel;I)V 

return-void 
.end method 

Landroid/os/Parcelクラスは整数として設定されます。このクラスに10億の確かな数値を設定したいと思います。これは、達成度が達成されたときにそのサイズのゲーム内の通貨小包を私に授与することになります - そのコードはむしろ自明です。それは可能ですか?もしそうなら、それはどうやって行えますか?

注:私は、この知識を使用して誰かの財産を侵害するブラックハックのハッカーではありません。テストアプリケーションを商業流通や悪意のある目的ではなく、一時的で無害な学習体験としてリバースエンジニアリングするだけです。

+0

はい、可能です。いいえ、私はあなたにどのように言いません。あなたは勉強しようとしていますよね? :)ヒント: 'const'オペコードを見てください。 – JesusFreke

答えて

0

これは私が思いついたものです。ヒントは非常に満足のいく男だったので、ありがとう! はここに私の更新されたコードです:

.method public writeToParcel(Landroid/os/Parcel;I)V 
.locals 0 

const p2, 0x3b9aca00 

invoke-static {p0, p1, p2}, Lcom/google/android/gms/games/achievement/AchievementEntityCreator;->a(Lcom/google/android/gms/games/achievement/AchievementEntity;Landroid/os/Parcel;I)V 

move-result-object p2 

return-void 
.end method 

私は(0x4e6e6b28が得られる)10億へのDalvikバイトコードと同等を見つけるために、IEEE 754コンバータを使用 - その仕事でしょうか?その:https://www.h-schmidt.net/FloatConverter/IEEE754.html。 私はここにあなたのページを訪問した:https://github.com/JesusFreke/smali/wiki/Registersとメソッドのパラメータがどのように渡されたのか、私はいくつかの指針を拾いました:)私は3つの引数レジスタ(Lcom/google/android/gms/games/achievement/AchievementEntityCreator; Lcom/google/android/gms/games/achievement/AchievementEntity; and Landroid/os/Parcel;)はp0、p1、p2です。だからこれが私の最高の試みです...もし何かが間違っているなら、建設的な助けは素晴らしいでしょう!

+0

@JesusFreke私は上記の値を変更しようとしましたが、あまりに自信がありません... constの後に/ 4が何か、あるいはそれを追加するのが正しいか、正しいバイナリ形式であり、Landroid/os/Parcelパラメータの値として適切に設定されています。私が前に言ったように、あなたの建設的なフィードバックは非常に高く評価されるでしょう! – GoldenAge153

+0

数点。 1. move-result命令は、結果を取得しているinvoke命令の直後になければなりません。 invoke命令とmove-result命令の間に命令を挿入することは有効ではありません。 2. IEEE 754は浮動小数点数用です。整数が必要です。だから間違っている:) 3.メソッドの戻り値はV(void)ですが、値を返そうとしています。 4.あなたが '... AchievementEntityCreator; - > a'メソッドを呼び出す前にp2の値を変更したいと思う。 – JesusFreke

+0

@JesusFreke WOW!それは仲間でした!私はちょうど私の電話にAPKを構築し、署名し、移動した後、40キルの何かのような成果を得て、少しの負荷の後、クレジットの私のゲーム通貨は1,000,000,043でした!私は何の制限もなくクレジットを使用することができましたが、ゲームが非常に強力なアンチハッキングシステムを持っているためリセットされると思います。また、ゲームから禁止イベントを削除したにもかかわらず、それは笑う。とにかく、これは偉大な学習経験であり、私はsmaliとリバースエンジニアリングの方がずっと快適だと感じました! – GoldenAge153

関連する問題