冰楓論壇

 找回密碼
 立即註冊
ads_sugarbook
搜索
查看: 8972|回覆: 4
打印 上一主題 下一主題

[原創數據] 过NGS 效验代码

[複製鏈接]

20

主題

1

好友

145

積分

技術師

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

UID
100173
帖子
53
主題
20
精華
0
積分
145
楓幣
10466
威望
141
存款
0
贊助金額
0
推廣
0
GP
88
閱讀權限
100
性別
保密
在線時間
75 小時
註冊時間
2015-4-23
最後登入
2022-5-4
跳轉到指定樓層
1
發表於 2015-5-18 22:11:35 |顯示全部樓層 |倒序瀏覽
Ps:代码写的丑,求不吐槽
=====================================以下是代码
#include "stdafx.h"
#include "BlackCipherPass.h"
#include "PSAPI.h"




DWORD CreateProcessWAddr = (DWORD)GetProcAddress(GetModuleHandleA("kernel32.dll"), "CreateProcessW");
HMODULE MyModuleBase;

DWORD g_pi;
DWORD CreateProcessWRET;
DWORD ZwReadID = Get_ZwID("ZwReadVirtualMemory");
DWORD ReadProcessMemoryAddr = (DWORD)GetProcAddress(GetModuleHandleA("ntdll.dll"), "ZwReadVirtualMemory");
DWORD ReadProcessMemoryRET = (DWORD)GetProcAddress(GetModuleHandleA("ntdll.dll"), "ZwReadVirtualMemory") + 5;


DWORD AdumpAddr;
DWORD ALen;
CHAR* BCCRCNAME;


CRITICAL_SECTION g_cs;
BOOL g_bool;



//初始化BChook 参数1填入自DLL 句柄 通过Dllmain 可以获得   参数2 是BC效验的目标进程 参数3 是导出的目标进程Dump
void ReadProcessMemoryHook();
void InitBcHook(HMODULE hModule, CHAR* Name, DWORD dumpAddr, DWORD Len)
{
        InitializeCriticalSection(&g_cs);
        MyModuleBase = hModule;
        Hook_JmpADDR(CreateProcessWAddr, (DWORD)HOOKCreateProcessW);

        if (dumpAddr == 0 && Len == 0)
        {
                return;
        }
        Hook_JmpADDR(ReadProcessMemoryAddr, (DWORD)ReadProcessMemoryHook);
        AdumpAddr = dumpAddr;
        ALen = Len;
        BCCRCNAME = Name;
}


void 处理CreateProcessW(wchar_t *路径, DWORD _RET, DWORD PI)
{
        if (路径 && wcsstr(路径, L"BlackCipher.aes"))
        {
                DebugMsg("My 启动BlackCipher.aes");
                g_pi = PI;
                CreateProcessWRET = RM_4(_RET);
                RM_4(_RET) = (DWORD)&HOOKCreateProcessWBack;
        }

}
__declspec(naked) void HOOKCreateProcessWBack()
{


        _asm{
                pushad;
                mov eax, g_pi;
                push[eax + 0xc];
                push[eax + 0x8];
                push[eax + 0x4];
                push[eax];
                call 注入DLL;
                add esp, 0x10;
                popad;
                jmp CreateProcessWRET;
        }

}
__declspec(naked) void HOOKCreateProcessW()
{
        _asm{
                mov edi, edi;
                push ebp;
                mov ebp, esp;
                pushad;
                push[ebp + 0x2c];
                lea eax, [ebp + 0x4];
                push eax;
                push[ebp + 0xC];
                Call 处理CreateProcessW;
                add esp, 0xc;
                popad;
                mov eax, CreateProcessWAddr;
                add eax, 5;
                jmp eax;
        }

}



void 注入DLL(HANDLE hProcess, HANDLE hThread, DWORD dwProcessId, DWORD dwThreadId)
{
        DebugMsg("My 开始注入到BlackCipher.aes");
        LPVOID LoadLibraryWAddr = GetProcAddress(GetModuleHandleA("kernel32"), "LoadLibraryW");
        DWORD dwAddr = AllocMem(hProcess, 4096);
        WCHAR wcName[4096] = { 0 };
        HANDLE  hObject;
        GetModuleFileNameW(MyModuleBase, wcName, 4096);
        WriteProcessMemory(hProcess, (LPVOID)dwAddr, (LPCVOID)&wcName, 4096, 0);
        hObject = CreateRemoteThread(hProcess, 0, 0, (LPTHREAD_START_ROUTINE)LoadLibraryWAddr, (LPVOID)dwAddr, 0, 0);
        WaitForSingleObject(hObject, 0xFFFFFFFF);
        DebugMsg("My 结束注入");

}





void ReadProcessMemory处理(HANDLE hProcess, DWORD Addrthsi);
__declspec(naked) void ReadProcessMemoryHook()
{
        __asm{
                mov eax, ZwReadID;
                pushad;
                lea eax, [esp+0x28];
                push eax;
                push[ebp + 0x8];
                Call ReadProcessMemory处理;
                add esp, 0x8;
                popad;
                jmp ReadProcessMemoryRET

        }

}
CHAR* BCGetRunFileName(HANDLE hProcess)
{
        EnterCriticalSection(&g_cs);
        static         CHAR Name[255] = { 0 };
        g_bool = TRUE;
        GetModuleBaseNameA(hProcess, 0, Name, 255);
        g_bool = FALSE;
        LeaveCriticalSection(&g_cs);
        return Name;

}

void ReadProcessMemory处理(HANDLE hProcess, DWORD Addrthsi)
{
        if (g_bool)
        {
                return;
        }
        if (!stricmp(BCGetRunFileName(hProcess), BCCRCNAME))
        {
                int py;
                py = *(int*)(Addrthsi) - 0x400000;
                if (py > ALen || py < 0)
                {
                        return;
                }
                DebugMsg("My 确认NG正在访问主进程内存,  地址0x%08X", RM_4(Addrthsi));
                RM_4(Addrthsi) = (AdumpAddr+ py);

        }



}
收藏收藏2 推0 噓0


把本文推薦給朋友或其他網站上,每次被點擊增加您在本站積分: 1骰子
複製連結並發給好友,以賺取推廣點數
簡單兩步驟,註冊、分享網址,即可獲得獎勵! 一起推廣文章換商品、賺$$

20

主題

1

好友

145

積分

技術師

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

UID
100173
帖子
53
主題
20
精華
0
積分
145
楓幣
10466
威望
141
存款
0
贊助金額
0
推廣
0
GP
88
閱讀權限
100
性別
保密
在線時間
75 小時
註冊時間
2015-4-23
最後登入
2022-5-4
2
發表於 2015-5-18 22:13:45 |顯示全部樓層
说一句,这个是我和PASS HS一起用的, 所以有什么看不懂的地方,可以跟帖
回覆

使用道具 舉報

20

主題

1

好友

145

積分

技術師

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

UID
100173
帖子
53
主題
20
精華
0
積分
145
楓幣
10466
威望
141
存款
0
贊助金額
0
推廣
0
GP
88
閱讀權限
100
性別
保密
在線時間
75 小時
註冊時間
2015-4-23
最後登入
2022-5-4
3
發表於 2015-5-20 01:26:03 |顯示全部樓層
QQDOG0908 發表於 2015-5-20 00:53 [url=forum.php?mod=redirect&goto=findpost&pid=1022188&ptid=127901][/url]
我想問現在楓之谷引進了BlackCipher2 這套防掛軟體
還是有破解機會麻

= =好像没用这个把?

點評

QQDOG0908  小弟不才 我剛剛有去爬文了 確定NG這部份 就是BC2的部份 因位CSO也是用這套 大大 請短銷 小弟有事要妳幫忙  發表於 2015-5-20 01:47
回覆

使用道具 舉報

20

主題

1

好友

145

積分

技術師

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

UID
100173
帖子
53
主題
20
精華
0
積分
145
楓幣
10466
威望
141
存款
0
贊助金額
0
推廣
0
GP
88
閱讀權限
100
性別
保密
在線時間
75 小時
註冊時間
2015-4-23
最後登入
2022-5-4
4
發表於 2015-5-20 13:17:15 |顯示全部樓層
QQDOG0908 發表於 2015-5-20 02:12 [url=forum.php?mod=redirect&goto=findpost&pid=1022298&ptid=127901][/url]
大大  請到消息那邊 我有事情要妳幫忙

NGS的在枫古 用的不是2
回覆

使用道具 舉報

20

主題

1

好友

145

積分

技術師

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

UID
100173
帖子
53
主題
20
精華
0
積分
145
楓幣
10466
威望
141
存款
0
贊助金額
0
推廣
0
GP
88
閱讀權限
100
性別
保密
在線時間
75 小時
註冊時間
2015-4-23
最後登入
2022-5-4
5
發表於 2015-5-21 03:21:57 |顯示全部樓層
QQDOG0908 發表於 2015-5-20 23:19 [url=forum.php?mod=redirect&goto=findpost&pid=1023837&ptid=127901][/url]
正確  是這樣沒錯  但是大大 妳是否可以看一下消息  我有事情需要跟妳做連繫 ...

看了,找不到那个qq

點評

偷比  https://www.facebook.com/groups/MapleStoryHack.TW/permalink/1657122427849502/  發表於 2015-5-23 16:42
[發帖際遇]: syoath 相信「年年繳黨費,勝過安太歲。」,因此繳交黨費 1 楓幣 幸運榜 / 衰神榜
回覆

使用道具 舉報

您需要登入後才可以回文 登入 | 立即註冊

廣告刊登意見回饋關於我們管群招募本站規範DMCA隱私權政策

Copyright © 2011-2024 冰楓論壇, All rights reserved

免責聲明:本網站是以即時上載留言的方式運作,本站對所有留言的真實性、完整性及立場等,不負任何法律責任。

而一切留言之言論只代表留言者個人意見,並非本網站之立場,用戶不應信賴內容,並應自行判斷內容之真實性。

小黑屋|手機版|冰楓論壇

GMT+8, 2024-5-8 20:28

回頂部