Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 割ったMinecraftでUnlicensed copyの表示を消す方法(1.6.6用)
- Minecraftはバージョン1.6から海賊版対策としてゲーム開始から一定時間(6000フレーム≒10分ぐらい?)経過するとユーザー認証をしたかどうかを確認し、していなければそのことを画面左上隅に表示するようになりました。
- この表示を消すには二つの方法があります。
- 1. hostsを編集する
- Minecraftが検証用に接続しているサーバーへ接続できないようにします。
- C:\WINDOWS\system32\drivers\etc\hostsをメモ帳などで開いて
- 127.0.0.1 login.minecraft.net
- を追記してください。
- 2. MODを導入する
- MOD: http://www.mediafire.com/file/9ao4mb0nuj24dyz/bypass-anti-piracy.zip
- MODで本体に変更を加えそもそも検証をさせないようにします。
- 普通のMODを入れる要領で.minecraft/bin/minecraft.jarを7zip等で開きkl.classをこのzipのなかのものと置き換えてください。META-INFフォルダーが残っている場合は削除してください。
- ソース付きですので気になる方は自分でコンパイルしてください。
- 両方をする必要はありません。どちらかお好みの方法をお選びください。
- 技術的な詳細
- ./minecraft/net/minecraft/client/Minecraft.java
- private void func_28001_B()
- {
- (new ThreadCheckHasPaid(this)).start(); // 購入確認用のスレッドを開始する
- }
- public void runTick()
- {
- if(ticksRan == 6000) // 6000フレーム経過したら
- {
- func_28001_B(); // 購入済みかどうかを確認する
- }
- ...
- }
- ./minecraft/net/minecraft/src/ThreadCheckHasPaid.java
- public void run()
- {
- try
- {
- HttpURLConnection httpurlconnection = (HttpURLConnection)(new URL((new StringBuilder()).append("https://login.minecraft.net/session?name=").append(field_28146_a.session.username).append("&session=").append(field_28146_a.session.sessionId).toString())).openConnection();
- httpurlconnection.connect(); // ユーザー認証をしているか(≒購入しているか)を確認する
- if(httpurlconnection.getResponseCode() == 400) // 認証されていなかったらステータスコード400が返る
- {
- Minecraft.hasPaidCheckTime = System.currentTimeMillis(); // 購入が確認できなかったというフラグを立てる
- }
- httpurlconnection.disconnect();
- }
- catch(Exception exception) // 発生した例外は無視される
- {
- exception.printStackTrace();
- }
- }
- ./minecraft/net/minecraft/src/GuiAchievement.java
- public void updateAchievementWindow()
- {
- if(Minecraft.hasPaidCheckTime > 0L) // 購入が確認できなかったら
- {
- GL11.glDisable(2929 /*GL_DEPTH_TEST*/);
- GL11.glDepthMask(false);
- RenderHelper.disableStandardItemLighting();
- updateAchievementWindowScale();
- String s = "Minecraft Beta 1.6.6 Unlicensed Copy :("; // その旨を表示する
- String s1 = "(Or logged in from another location)";
- String s2 = "Purchase at minecraft.net";
- theGame.fontRenderer.drawStringWithShadow(s, 2, 2, 0xffffff);
- theGame.fontRenderer.drawStringWithShadow(s1, 2, 11, 0xffffff);
- theGame.fontRenderer.drawStringWithShadow(s2, 2, 20, 0xffffff);
- GL11.glDepthMask(true);
- GL11.glEnable(2929 /*GL_DEPTH_TEST*/);
- }
- ...
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement