読者です 読者をやめる 読者になる 読者になる

めいくりぷとのブログ

技術的なことやゲームのことやら・・・

JMS v358.2

コンパイラの設定が変わったみたいで、処理は変わらずだけどAobはほぼ全滅したので地道に更新していきます。自動ログインのアドレスとオフセット // #define GLOBAL_CLogin 0x02AED204 // CLogin #define ADDRESS_CLogin__Update 0x0114D670 #define ADDRESS…

xc3 log viewer

xc3

すごい今更感あるんだが...正直あんまり意味ないですけど。

AVA D3D hook

AVA SDK + WDDM Hook まあWDDM hookなんてしないでも、普通にIDirect3DDevice9のfuction table書き換えでもいいのと、それのほうがBeginSceneとEndSceneに処理突っ込めれてやりやすいんだけど、書き直すのが面倒だから、また次やる気出たときに作り直します…

ゴミコード投下2

3,4ヶ月前に書いた雑&糞コード、現在動くかは不明まあ糞コードだけど、一応 creditつけておく [C++] CodeMon copy module bypass - Pastebin.comVirtualAllocをフックして、コピーされるモジュールのサイズから決め打ちで判別して、各APIをオリジナルのAPIに…

ゴミコード投下

3,4ヶ月前に書いたコードだからあんまり覚えてないけど、CodeMonのCRCが最初からあるんじゃなくて、CodeMonの初期化時にUrlからCRCモジュール?がダウンロードされてきて、マニュアルマッピング?かなんかでロード(MapViewOfFileExフックすればモジュール取…

久しぶりにCSO

なぜ今更こんな糞ゲーについての記事を書くと言いますと...いつのアップデートかは知りませんが、OpenGLでのプレイヤーの描画方法に少し変更があったそうな。何のためにかはハッキリ分かりませんが、jacky14, delayzero? などのOpenGLをベースにしたチート対…

QXmlStreamReader/Writerでxmlにウィジェットのステータスを保存する

サンプルコード CConfigManager.hpp #pragma once #include <qwidget.h> #include <map> class CConfigManager { public: CConfigManager(); ~CConfigManager(); public: // void WriteXmlElement(__in QXmlStreamWriter &writer); void ReadFromXml(__in QXmlStreamReader &</map></qwidget.h>…

プロテクターに検出されないD3D・OpenGLフックの考察

FPS等でWallhackやD3Dフックをベースにしたチートを行うにも殆どのゲームでXignCodeやHackShield, NGS(BlackChiper)などのプロテクターが導入されているため、チート検出されてしまいます。ですが、海外フォーラム等に落ちている物などで、検出されずに使え…

:D

gyazo.com前回よりも大分まとまった...?D3Dの深い部分の勉強も兼ねて地道に...

WDDM Hook (2)

Direct3D DDIは、OpenGL ICDとは違って、グラフィックドライバ自体にテーブルは無くd3dx.dllにドライバのテーブルがあるみたいですね...(ICD同様にグラフィックドライバ自体にテーブルが用意されているものだと勘違いしておりました。) まずDDIの関数テーブ…

ウィンドウフレームを消して、ウィンドウを移動出来るようにする。

eventFilter(QObject* object, QEvent* event); をオーバーライドし、 event->type() から各マウスの状態から制御します。以下ソースコードです。 CMainWindow::CMainWindow(__in QWidget *parent) : QMainWindow(parent) { .... this->installEventFilter(t…

Auto Login

static CLogin::UpdateT _CLogin__Update = reinterpret_cast<CLogin::UpdateT>(ADDRESS_CLogin__Update); void(__fastcall *CLogin__Update__Hook)(CLogin *) = []( CLogin *pLogin) -> void { CAutoHack::GetInstance()->ProcessAutoLogin(pLogin); return _CLogin__Update(</clogin::updatet>…

NIC Mac Address Authentication

// CAuthentication.hpp #pragma once #include <vector> class CAuthentication { public: CAuthentication(); ~CAuthentication(); public: BOOL IsUserAllowed(); void SetWhiteList(); public: static CAuthentication *GetInstance() { static CAuthentication </vector>…

Invisible MobFilter

JMS v357.1Invisible MobFilter #define ADDRESS_MobFilter1 0x0102C580 #define ENDADDR_MobFilter1 0x0102C72E #define ADDRESS_MobFilter2 0x0102CA71 #define ENDADDR_MobFilter2 0x0102CD56 DWORD MobFilter1_Ret = ADDRESS_MobFilter1 + 6; DWORD MobF…

Config

Qt

youtu.begyazo.comstd::map で名前をキーとして、QWidgetのインスタンス保存 -> ifstream/ofstreamでread/writeやってます。 connect書いておけば、signal飛ぶから自動で更新されるとかなんとか、、、便利すぎて感動しました。。。それだけです。

Portal Teleport

いろいろと雑 Edited enum PORTALTYPE { PORTALTYPE_STARTPOINT = 0x0, PORTALTYPE_INVISIBLE = 0x1, PORTALTYPE_VISIBLE = 0x2, PORTALTYPE_COLLISION = 0x3, PORTALTYPE_CHANGABLE = 0x4, PORTALTYPE_CHANGABLE_INVISIBLE = 0x5, PORTALTYPE_TOWNPORTAL_PO…

PacketEditor

^-^

ThemidaCRC

某ブログの方のCEスクリプトをC++で書いただけです// CLogin.hpp #pragma once #include "MapleStory.hpp" #ifndef Padding #define Padding(x) struct { unsigned char __padding##x[(x)]; }; #endif struct CLogin { union { struct { Padding(OFFSET_m_bE…

D3D9 Hook Project Template

特にネタないので、D3D9 Hook (x86/x64)のプロジェクトテンプレート作ったついでに... IDirect3D9/IDirect3DDevice9/IDirect3DStateBlock9.hpp はtypedefで定義してるだけのラップファイルです 基本的にはIDirect3D9/IDirect3DDevice9しか使わないので、必要…

Wrapper opengl32.dll

// opengl32.dll export function namespace opengl32 { pfnglAlphaFunc _glAlphaFunc; pfnglBegin _glBegin; pfnglBitmap _glBitmap; pfnglBlendFunc _glBlendFunc; pfnglClear _glClear; .... .... } namespace opengl32 { typedef void (WINAPI * pfnglAl…

D3D9 Texture をフックする

// IDirect3DDevice9.cpp HRESULT APIENTRY _IDirect3DDevice9::SetTexture(DWORD Stage, IDirect3DBaseTexture9 *pTexture) { IDirect3DDevice9 *pDevice = NULL; if (pTexture != NULL) { if (reinterpret_cast<_IDirect3DTexture9*>(pTexture)->GetDevice(&pDevice) == D3D_OK)</_idirect3dtexture9*>…

ハードウェアID(PC固有)情報を調べる

Anti-Cheatプロテクターにも HWID BAN というものがありますよね。 今回は、それらを紹介していきたいと思います。 マイナーな手法として、以下のように、NIC(ネットワークインターフェースカード)のGUIDを列挙し、それに対応したMac-Addressを取得するとい…

API Check

こちらを参考にしてAPI Checkを作ってみました。 mhllchan.hatenablog.com www.youtube.com比較元のDLL(copy_ntdll等)をどのように持ってくるかで強度さが変わってくるでしょう。

ラッパーAPI _GetProcAddress

C++

GetProcAddressのラッパーAPI書いてみました。 第二引数に序数を指定した場合は対応出来ていません。 #define EXPORT_DIRECTORY OptionalHeader.DataDirectory[IMAGE_DIRECTORY_ENTRY_EXPORT] FARPROC WINAPI _GetProcAddress( _In_ HMODULE hModule, _In_ L…

PEBを用いたモジュール隠蔽 + α

C++

PEBを理解するために適当に書いたコードです。 /////////////////////////////////////////////////////////// // peb.hpp /////////////////////////////////////////////////////////// #pragma once #ifndef Padding #define Padding(x) struct { unsigne…

WDDM Hook

Windows Display Driver Model (WDDM) hook について適当に書きます。前記事でOpenGL ICD hookについて書きましたが、ほとんど同じです。 今回も大雑把に説明します。 まずは、各ディスプレイドライバのエクスポート関数 "OpenAdapter" をフックしします。 N…

OpenGL ICD Hook

OpenGL ICD hook (グラフィックドライバフック)が完成したので手法を大雑把に説明します。まずは、これらのAPIからICDを取得します。 GDI32.D3DKMTOpenAdapterFromHdc GDI32.D3DKMTQueryAdapterInfo GDI32.D3DKMTCloseAdapter BOOL CDriverManager::Init() {…

シンタックス・ハイライトテスト

ソースコードを色付けして記述する(シンタックス・ハイライト) - はてなダイアリーのヘルプ class hoge { public: hoge(); } int main() { hoge *p = new hoge(); return 0; ]

ブログの移転

FC2からはてなブログに移転しました。