95 hd

include

CHAR DllFullPath[MAX_PATH] = { 0 };

BOOL DllMAIN() {

GetCurrentDirectoryA(MAX_PATH, DllFullPath);
strcat_s(DllFullPath, "\\Settings.ini");
std::ifstream input;//파일 객체 생성
input.open(DllFullPath);//파일 열기
if (input.fail())
{
    WritePrivateProfileString("95HD", "ClientName", "Maplestory", DllFullPath);
    WritePrivateProfileString("95HD", "Width", "1024", DllFullPath);
    WritePrivateProfileString("95HD", "Height", "768", DllFullPath);
    WritePrivateProfileString("95HD", "MaxDMG_Show", "100000000", DllFullPath);
    WritePrivateProfileString("95HD", "MaxDMG_1", "1107468383", DllFullPath);
    WritePrivateProfileString("95HD", "MaxDMG_2", "536870912", DllFullPath);
    WritePrivateProfileString("95HD", "WindowMode", "0", DllFullPath);
}
else
{
    input.close();
}
char* cBuf = NULL;

cBuf = (char*)malloc(sizeof(char) * 256);
memset(cBuf, 0x00, sizeof(cBuf));
int i;
GetPrivateProfileString("95HD", "Width", "1024", cBuf, 256, DllFullPath);
int width = atoi(cBuf);
GetPrivateProfileString("95HD", "Height", "768", cBuf, 256, DllFullPath);
int height = atoi(cBuf);
while (*(DWORD*)0x0053D786 != 0x258) Sleep(1); //CField::InitFearEffect

int addr1[] = { 0x0097EC46, //CWvsApp::CreateWndManager - dword_B39EA8
                        0x0092922F, //CUtilDlgEx::CreateUtilDlgEx
                        0x00770CE9, //CSlideNotice::OnCreate
                        0x0096A6EA, //CWnd::OnMoveWnd
                        0x004EFAE9, //IWzCanvas::Getheight
                        0x004EFA30, //CDialog::CreateDlg
                        0x0059F7B0, //CInputSystem::SetCursorPos
                        0x0059FB21, //CInputSystem::UpdateMouse
                        0x005FF7A5, //CLogo::InitWZLogo
                        0x0060C659, //CMapLoadable::TransientLayer_Weather
                        0x006D7DB7, //CWvsContext::SaveAntiMacroScreenShot -> _E497
                        0x0091A4EE, //CUtilDlg::PreCreateWnd
                        0x00920016,
                        0x0046597A,
                        0x0097F768,
                        0x0097EA9F,
                        0x005FFA15, //CCtrlOriginButton::CreateCtrl
                        0x005FF33F, //CCtrlButton::LoadToolTipFromData
                        0x005EABA4, //CWnd::CreateWnd
                        0x005E62E6, //CDialog::CreateDlg
                        0x0053DDEB, //CField::DrawFearEffect
                        0x0053D786, //CField::InitFearEffect
                        0x005E6823, //Draw@CUILoginStart@@UAEXPBUtagRECT
                        0x005EF47A, //CConfirmRaceDlg::OnCreate //캐릭선택창 확인버튼
                        0x00777237, //CUIInitialQuiz::CUIInitialQuiz
                        0x00778B94, //CUISpeedQuiz::CUISpeedQuiz
                        0x0077BB92, //CUIAdminAntiMacro::OnCreate (거탐)
                        0x0077C117, //CUINoticePremium::CUINoticePremium (프리미엄PC방)
                        0x00515E9C, //operator
                        0x00767C4B, //CUIAdminShopWishList::SetLayer
                        0x00829529, //CLayoutMan::CopyToEmptyLayer (CUIMonsterCarnival *this)
                        0x0091D5B7, //CEntrustedShopDlg::CVisitListDlg::CVisitListDlg
                        0x0086F7B9, //CUIToolTip::SetToolTip_Equip2g
                        0x005CC4EB //CUtilDlgEx::OnCreate_PET (아이템고확)
};
for (i = 0; i < sizeof(addr1) / 4; i++)  *(DWORD*)addr1[i] = height;

int addr2[] = { 0x0085E408,0x0085EB65,0x008587C2,0x0085F2AB,0x008587C2 };
for (i = 0; i < sizeof(addr2) / 4; i++)  *(DWORD*)addr2[i] = height - 19;

int addr3[] = { 0x00863A00,0x00863C94,0x0085A7DD };
for (i = 0; i < sizeof(addr3) / 4; i++)  *(DWORD*)addr3[i] = height - 20;

int addr4[] = { 0x00857CAA,0x0085DB2E,0x00857F4E,0x00855C86 };
for (i = 0; i < sizeof(addr4) / 4; i++)  *(DWORD*)addr4[i] = height - 22;

int addr5[] = { 0x0085F71E,
                            0x0085FEFD,
                            0x0085FE42, //HP괄호
                            0x00860168, //MP괄호
                            0x0085FB20
};
for (i = 0; i < sizeof(addr5) / 4; i++)  *(DWORD*)addr5[i] = height - 52;

int addr6[] = { 0x00858D21,0x00858DEA,0x00858EB2 };
for (i = 0; i < sizeof(addr6) / 4; i++)  *(DWORD*)addr6[i] = height - 57;

int addr7[] = { 0x0085745F, 0x008644D5 }; // 퀵슬롯 오른쪽 키보드(- 67이지만 외관상 - 73으로 수정)
for (i = 0; i < sizeof(addr7) / 4; i++)  *(DWORD*)addr7[i] = height - 73; //- 67

int addr8[] = { 0x008648F7,0x0075A3C7 };
for (i = 0; i < sizeof(addr8) / 4; i++)  *(DWORD*)addr8[i] = height - 80;

int addr9[] = { 0x00864853,0x00859D51,0x008647C1 };
for (i = 0; i < sizeof(addr9) / 4; i++)  *(DWORD*)addr9[i] = height - 81;

int addr10[] = { 0x00864962,0x00859CDB,0x00864CF1,0x00858F39,0x00858FC0,0x00859047,0x008590CE,0x00864655,0x00859361,0x00859251,0x00859155 }; //버튼들
for (i = 0; i < sizeof(addr10) / 4; i++)  *(DWORD*)addr10[i] = height - 85;

int addr11[] = { 0x0085A71F,0x0085BCE3,0x0085A66D };
for (i = 0; i < sizeof(addr11) / 4; i++)  *(DWORD*)addr11[i] = height - 90;

int addr12[] = { 0x0085A5FB,0x0085BC6E };
for (i = 0; i < sizeof(addr12) / 4; i++)  *(DWORD*)addr12[i] = height - 91;

int addr13[] = { 0x00526B66,0x00527CDF,0x005276AE,0x00527ED4 };
for (i = 0; i < sizeof(addr13) / 4; i++)  *(DWORD*)addr13[i] = height - 92;

int addr14[] = { 0x00859BF6,0x00859C68,0x0086366D };
for (i = 0; i < sizeof(addr14) / 4; i++)  *(DWORD*)addr14[i] = height - 93;

int addr15[] = { 0x00526739, 0x0052693E, 0x00526B76, 0x00526E59, 0x0052705E, 0x0052726C, 0x00527471, 0x005278B7, 0x00527AAA, 0x0052832C };
for (i = 0; i < sizeof(addr15) / 4; i++)  *(DWORD*)addr15[i] = height - 108;

int addr16[] = { 0x0060C668,0x0096D762,0x0059F05D,0x005D57B8 }; //0x005D57B8
for (i = 0; i < sizeof(addr16) / 4; i++)  *(DWORD*)addr16[i] = 0xFFFFFFFF - height / 2;


int addr17[] = { 0x0097EC4B,0x00770BEE,0x00929222,0x00857CAF,0x00857F53,
                             0x00855C8B,0x00770CEE,0x00771450,0x00771007,0x0085DB33,
                             0x0096A572,0x004EFAFA,0x0046598C,0x00590E69,0x004EFA49,
                             0x004C8E68,0x0059F797,0x0059FB08,0x005FF7AA,0x0060C660,
                             0x006D7DB2,0x007712F9,0x0092002C,0x0097F76E, 0x0097EAA4,
                             0x005FFA1A, //CCtrlOriginButton::CreateCtrl
                             0x005FF344, //CCtrlButton::LoadToolTipFromData
                             0x005EABA9, //CWnd::CreateWnd
                             0x005E62EB, //CDialog::CreateDlg
                             0x0053DDF0, //CField::DrawFearEffect
                             0x0053D78C, //CField::InitFearEffect
                             0x005E687C, //Draw@CUILoginStart@@UAEXPBUtagRECT
                             0x005EF48E, //CConfirmRaceDlg::OnCreate (캐릭선택창 확인버튼)
                             0x00777248,
                             0x00778BA5, //CUISpeedQuiz::CUISpeedQuiz
                             0x0077BBA6, //CUIAdminAntiMacro::OnCreate (거탐)
                             0x0077C128, //CUINoticePremium::CUINoticePremium (프리미엄PC방)
                             0x00767C59, //CUIAdminShopWishList::SetLayer
                             0x00829537, //CLayoutMan::CopyToEmptyLayer (CUIMonsterCarnival *this)
                             0x0086F79D, //CUIToolTip::SetToolTip_Equip2
                             0x005CC4F5, //CUtilDlgEx::OnCreate_PET (아이템고확)
                             0x008E8E26, //아란콤보-스매쉬스킬커맨드::Width
                             0x008E8FAC //아란콤보-콤보드레인스킬커맨드::Width
};
for (i = 0; i < sizeof(addr17) / 4; i++)  *(DWORD*)addr17[i] = width;

int addr18[] = { 0x0086454A,0x00857466,0x008636D8 };
for (i = 0; i < sizeof(addr18) / 4; i++)  *(DWORD*)addr18[i] = width - 153;

int addr19[] = { 0x0060D328,  0x00B34060, 0x00B31EB8, 0x0053AC69 };
for (i = 0; i < sizeof(addr19) / 4; i++)  *(DWORD*)addr19[i] = width / 2;

int addr20[] = { 0x005978C0,0x005E80EA };
for (i = 0; i < sizeof(addr20) / 4; i++) *(DWORD*)addr20[i] = width / 2 - 125;

int addr21[] = { 0x0053BC7F,0x009AA025 };
for (i = 0; i < sizeof(addr21) / 4; i++) *(DWORD*)addr21[i] = width / 2 - 129;

int addr22[] = { 0x0091A4F9 };
for (i = 0; i < sizeof(addr22) / 4; i++) *(DWORD*)addr22[i] = width / 2 - 134;

int addr23[] = { 0x0096D768,0x0059F069,0x0060C670,0x005D57BE }; //0x005D57BE
for (i = 0; i < sizeof(addr23) / 4; i++) *(DWORD*)addr23[i] = 0xFFFFFFFF - width / 2;

int addr24[] = { 0x0074D48E,0x0074D597 };
for (i = 0; i < sizeof(addr24) / 4; i++) *(DWORD*)addr24[i] = ((height - 600) / 2) + 297; //버프창 높이

int addr25[] = { 0x0074D4AD, 0x0074D5B6 };
for (i = 0; i < sizeof(addr25) / 4; i++)  *(DWORD*)addr25[i] = ((width - 800) / 2) + 397; //버프창 폭

int addr26[] = { 0x0074D698, 0x0074D871 };
for (i = 0; i < sizeof(addr26) / 4; i++)  *(DWORD*)addr26[i] = 0xFFFFFFFF - (width - 3); //버프창 폭

int addr27[] = { 0x006C0E2D,0x0099622B, 0x009967A5 };
for (i = 0; i < sizeof(addr27) / 4; i++)  *(DWORD*)addr27[i] = (width - 3); //파티서치

*(DWORD*)(0x0087B3C2) = height - 1;
*(DWORD*)(0x00526C4A) = height - 102;
*(DWORD*)(0x005280CA) = height - 102;
*(DWORD*)(0x0085A6C1) = height - 114;
*(DWORD*)(0x00823991) = height - 157;
*(DWORD*)(0x00823AEE) = height - 166;
*(DWORD*)(0x00463874) = height - 188;
*(DWORD*)(0x0085D151) = height - 26;
*(DWORD*)(0x007C9CEB) = height - 200; //MENU 컨텍스트
*(DWORD*)(0x007CA52D) = height - 304; //SHORT CUT 컨텍스트
*(DWORD*)(0x00823D5B) = height - 96;
*(DWORD*)(0x008584D8) = height - 33;
*(DWORD*)(0x0085DCA9) = height - 38;
*(DWORD*)(0x0085D148) = height - 41;
*(DWORD*)(0x0085DB8C) = height - 46;
*(DWORD*)(0x0085F68D) = height - 51;
*(DWORD*)(0x0085DC0A) = height - 53;
*(DWORD*)(0x0085D08B) = height - 40;
*(DWORD*)(0x0085D098) = height - 24;
*(DWORD*)(0x0085F83B) = height - 54;
*(DWORD*)(0x0085F5F0) = height - 56;
*(DWORD*)(0x0085A747) = height - 87;
*(DWORD*)(0x0060D38F) = height / 2;
*(DWORD*)(0x00B34064) = height / 2;
*(DWORD*)(0x0053AC64) = height / 2 - 40; //필드메시지
*(DWORD*)(0x005E6D78) = height - 54;
*(DWORD*)(0x005E80E2) = height / 2 - 91;
*(DWORD*)(0x005E80D9) = height / 2 - 150;
*(DWORD*)(0x005E80EA) = height / 2 - 25;
*(DWORD*)(0x005E80D9) = height / 2 - 5;
*(DWORD*)(0x00863731) = 0xFFFFFFFF - (height - 173); //108
*(DWORD*)(0x0096A684) = 0xFFFFFFFF - height;

*(DWORD*)(0x0087B3AF) = width - 1;

*(DWORD*)(0x005DB2E9) = width - 65; //연령가
*(DWORD*)(0x005E6913) = width - 93; //채널이름
*(DWORD*)(0x005E6B05) = width - 86; //CH.
*(DWORD*)(0x005E6CC9) = width - 23; //채널숫자
*(DWORD*)(0x005E6E77) = width - 93; //본인확인
*(DWORD*)(0x005FB8BC) = (width / 2) - 98; //추천월드

*(DWORD*)(0x00920033) = width - 100;
*(DWORD*)(0x005D55EF) = width - 70;
*(DWORD*)(0x00823A4F) = width - 296;

*(DWORD*)(0x008E89F8) = width - 50; //아란콤보텍스트(COMBO)::width - 50
*(DWORD*)(0x008E8747) = width - 50; //아란콤보숫자::width - 50

*(DWORD*)(0x0091A501) = width / 2 - 133;
*(DWORD*)(0x0081FD6E) = width / 2 - 143;

*(DWORD*)(0x00581CE3) = width / 2 - 114; //가가타이머
*(DWORD*)(0x0056AED1) = width / 2 - 96; //피라미드타이머

*(DWORD*)(0x005E80F6) = width / 2 - 145;
*(DWORD*)(0x0091D5D0) = (width / 2) - 218; //채널변경
*(DWORD*)(0x00863728) = 0xFFFFFFFF - (width - 153);
*(DWORD*)(0x0096A4FB) = 0xFFFFFFFF - width;
*(DWORD*)(0x0065F090) = 0xFFFFFFFF - (width / 4);

*(DWORD*)(0x006D7D41) = width * height;
*(DWORD*)(0x006D7D28) = width * height * 3;
*(DWORD*)(0x006D7CA4) = width * height * 4;

GetPrivateProfileString("95HD", "MaxDMG_1", "1107468383", cBuf, 256, DllFullPath);
*(DWORD*)(0x00A6ED5C) = atoi(cBuf); //맥뎀 double to hex로 변환 후 뒤에 4바이트 잘라내고 입력 *예시* 100억 -> 0x4202a05f20000000 여기서 0x4202a05f만 넣으면 됨
GetPrivateProfileString("95HD", "MaxDMG_2", "536870912", cBuf, 256, DllFullPath);
*(DWORD*)(0x00A6ED58) = atoi(cBuf); //맥뎀 double to hex로 변환 후 앞에 4바이트 잘라내고 입력 *예시* 100억 -> 0x4202a05f20000000 여기서 0x20000000만 넣으면 됨
GetPrivateProfileString("95HD", "MaxDMG_Show", "100000000", cBuf, 256, DllFullPath);
*(DWORD*)(0x00849B1A) = atoi(cBuf); //공격력 최대 표시수치 (맥뎀으로 변경)
GetPrivateProfileString("95HD", "WindowMode", "0", cBuf, 256, DllFullPath);
*(DWORD*)(0x0097F6FB) = atoi(cBuf); //창모드여부 0이면 창모드 16이면 전체화면
return TRUE;

}

__declspec(dllexport) BOOL APIENTRY DllMain(HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved)
{
if (ul_reason_for_call == DLL_PROCESS_ATTACH)
{
CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)DllMAIN, NULL, 0, NULL);
//AllocateAndWriteShellcode();
}
return TRUE;
}

위로 스크롤