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

めいくりぷとのブログ

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

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 ICDManager::GetIcdFileNa…

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

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

ブログの移転

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