返回列表 回復 發帖

(教學)X.XWAP&GPRS收費功能

本帖最後由 bruce301 於 2009-12-8 10:37 編輯

如果需要檔案請去按我這找....謝謝......

一,X.Xwap收費或者gprs收費教程。教程選用遊戲《鬼面劫》。

難度:中等。
適用於HALO 2.0以上~


步驟:
用halo打開鬼面劫的jar。(眾:廢話= =....)

附件有原始檔~

各位看完後不仿自己做做看^  ^


接下來在class editor窗口!一定要在這個窗口搜索。不然搜索會根據當前界面來搜索。通過工具->全文搜索。首先我們先搜索"HttpConnection",不包含雙引號.記得選擇搜索模式是"total class",為什麼要搜索這個關鍵字呢,因為目前的wap或者grps收費都是通過http連接來進行收費的,通俗的來講,也就是手機通過網路下載來繼續遊戲。如圖所示:

   



由於對所有的class文件進行搜索的數據量較大,可能需要消耗幾秒中^ ^,在幾秒後,搜索結果如下圖所示:
   



   我們發現在h.class和o.class裡面都含有HttpConncetion這個字段,那也就是說在這兩個類裡面都出現了要進行http的聯網。這個遊戲有些特殊,實際上h這個文件是一個所謂遊戲用來下載關卡的,實際上實際上是用來給他們的論壇發送消息用的,不是真的下載關卡,具體怎麼知道,這裡我就不細說了。所以o.class這個文件才是真正要想網絡收費的實現。搜索一共有四個結果。那麼現在我們來縮小搜索的範圍,這次我們搜索選擇“current class”,記得這時候已經在搜索結果中雙擊o.class來打開o這個文件。我們這時候輸入搜索條件"Connector/open",這時候是不是只有了一個結果,如下圖所示:

   



搜索結果如下:
   



也就是在o文件中的for方法中進行網絡的連接,那是不是代表就是要修改這裡了呢,先別著急。根據經驗,我們要找到是誰調用了o文件的這個for方法。接下來我們搜索“invokestatic o/for”,發現一共有三個結果,我們繼續往下搜索,第一個方法調用的地方,也就是"invokestatic o/try",這次採用total class搜索。一個有兩個結果,我們搜索第二個“invokestatic o/do”,如下圖所示:

   



出現了一個結果,雙擊打開n文件,發現出現的地方是run方法,這裡說明一個小技巧,wap收費的方法一般都是run。根據經驗判斷,wap收費的一系列動作應該都在這個方法裡了,也就是n文件的run方法中了。之前的一系列搜索,需要用戶自己根據經驗一步步來摸索= =。
    我們用DJ Java Compiler來反編譯n文件,發現這個文件很簡單,基本上就一個run方法。而且我們也發現了一些很有趣的東西。我們是不是看到了smsmoney,還有什麼+ 200 , + 100,聯繫之前遊戲所看,是不是有影響,也就是花2元可以得到200增值幣,如果一下子花6元,除了得到600增值幣以外,還會得到100的增值幣。有些編程經驗的朋友可以看到,這個run方法實際上是個循環,初步猜想每次扣費2元,通過選擇的方式是否一次扣費,還是多次扣費。而我們剛才知道,o這個文件是用來聯網收費的,那麼我們的修改方案就是把o文件所有相關的地方去掉,直接讓其默認收費成功。所以以下的代碼段我們應該都要刪除:

   


-----------------------------傳說中的分隔線------------------------------------

   



          我們知道要刪除哪些代碼呢,那麼我們在halo裡面怎麼做到呢。這時候我們在DJ裡面中的setting選項,設置Decompile Setting,把Generate JVM instructions as comments打勾。如圖:
   



這時候我們發現:
   

這段是從12行開始的,在DJ裡面行數是0開始的,而在Halo裡面是從1開始的,那麼這行對應在halo應該是從13開始的,如圖所示:
   


恩,都是aload_0這個指令。那麼就沒錯了。接下來我們找結束的地方。
   



107! ! !那麼對應halo就是108,我們去驗證看看。呵呵,halo的108和109行跟DJ的107和108的代碼都是一樣的,都是一樣的:



那麼最後,我們知道了,我們只需要刪除從halo的13行到109行的代碼段就可以了。打開代碼標編輯。選擇,然後刪除。
   



ok,就是這樣,最後別忘記點擊上方的保存方法。
   



然後通過halo的編譯打包出jar,那麼就是X.X的了。我們怎麼去驗證時X.X的呢。第一步,我們還是用DJ打開已經處理過的n文件,打開來看看run方法,是不是少了很多東西。就剩下直接+200和+100了。第二步,我們放到手機上去試驗一下。呵呵,的確是X.X成功的。









接下來還有教學敬請期待~

[ 本帖最後由 loveraina 於 2009-8-26 21:40 編輯 ]
附件: 您所在的用戶組無法下載或查看附件
1

評分次數

  • qq0922

好複雜喔  不過也要感謝分享
謝謝版主的教學
分享的遊戲都已用手機實際測試
一率設定1巴幣(除非繁體),如有任何疑問
歡迎短信討論溝通
大大真的很謝謝您的教學
感謝大大無私的分享!
沒想到這麼複雜...
謝謝大大分享!!
真是辛苦你了!
太複雜了眼睛看都看花了
還滿複雜ㄉ  不經讓我佩服起所有發破解帖的發帖人

謝謝loveraina版大ㄉ分享    ^_^ 我慢慢研究
非常感謝大大的教學!
謝謝大大的教學
     希望還有更清楚更詳細的講解
返回列表