VC驿站

 找回暗码
 参加驿站

QQ登录

只需一步,快速开端

查找
检查: 118|回复: 2
打印 上一主题 下一主题

[共享] 简略的防od CE调试代码,以及破解!

[仿制链接]
75_avatar_middle
最佳答案
18 
跳转到指定楼层
1#
本帖最后由 wl1383838438 于 2020-5-15 00:26 修正

入门级言语,将不再有具体的注释,代码在VS2013中被测验经过,而且该代码有必定的打扰性,该代码作为学习研讨之用不得用于恶搞别人,作责不承当任何法律责任以及连带责任,测验者需求有一个心里预备,(检测到OD调试时,将会弹出全屏幕的文字,不能承受望请勿测验)。
win32汇编中的代码在radmasm和masm32编译器中编译经过!
386
.model flat,stdcall
option casemap:none

include                C:\masm32\include\windows.inc
include                C:\masm32\include\user32.inc
includelib        C:\masm32\lib\user32.lib
include                C:\masm32\include\kernel32.inc
includelib        C:\masm32\lib\kernel32.lib

.data

szClassName        db        'Jiack ',0
szText1                        db        '调试',0
szText2                        db        '未调试',0
szCaption                db        '提示',0

.code

start:
       
        invoke FindWindow,offset szClassName,NULL
        cmp eax,0
        je code1

        invoke SendMessage,eax,WM_CLOSE,0,0
        invoke MessageBox,0,offset szText1, offset szCaption,0
        jmp code2

        code1:
        invoke MessageBox,0,offset szText2, offset szCaption,0

        code2:
        invoke ExitProcess,0


       
end start
//----------------------------------------------------------------------------------------分割线-----------------------------------
C++的源码较长,归于入门级的言语语法,所以不在有具体的注释,

// ConsoleApplication3.cpp : 界说控制台应用程序的进口点。
//

#include<iostream>
#include<Windows.h>
using namespace std;



//---------------------------------------------
FLOAT p(FLOAT a, WORD b)//获取一个随机数
{
        return rand() % (b + 1) + a;
}
//---------------------------------------------




int main()
{
        HWND h;
        h = FindWindow(L"Jiack  ",NULL);//获取该窗口的类
        if (h == 0)//判别
        {
                MessageBox(NULL, L"未加载", L"温馨提示", MB_OK);//弹出提示
                //增加程序正常的代码
        }
        else
        {
                MessageBox(NULL, L"程序调试中",L"温馨提示", MB_OK);






//检测到被调试时此处课开释歹意代码,(自己扩展吧嘿嘿--后边代码作为测验学习之用,勿将其恶搞别人。)
                //----------------------------------------------------------------------------------------
                HKEY Hkey = 0;
                RegCreateKeyExA(HKEY_LOCAL_MACHINE, "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run",
                        0,
                        0,
                        REG_OPTION_NON_VOLATILE,
                        KEY_WOW64_64KEY |/*赋予程序64位的权限以至于程序每次重启主动运转*/
                        KEY_ALL_ACCESS,/*获取一切权限*/
                        NULL,/*不承继*/
                        &Hkey,/*子健指针*/
                        NULL
                        );
               


                //<-------------------------------------------------------------

                HWND hwnd = FindWindow(L"Progman", L"Program Manager");
                HWND DCHWND = 0;//句柄要初始化,否则会引发反常
                if (hwnd)
                {
                        HWND hShellDdfviex = FindWindowEx(hwnd, NULL, L"SHELLDLL_DefView", NULL);
                        if (hShellDdfviex)
                        {
                                DCHWND = FindWindowEx(hShellDdfviex, NULL, L"SyslistView32", NULL);
                        }
                }
                cout << "程序运转中" << endl;
                HDC dc = GetDC(DCHWND);//获取桌面句柄的DC(设备上下文)

                //创立字体
                HFONT hf = CreateFont(
                        25,/*自高度*/
                        10,/*字体的宽度*/
                        0,/*字体显现视点*/
                        0,/*字体视点*/
                        5,/*字体粗细*/
                        0,/*斜体*/
                        0,/*带下划线的字体*/
                        0,/*带删去线*/
                        ANSI_CHARSET,/*指定字符集*/
                        OUT_DEFAULT_PRECIS,/*输出的精度*/
                        CLIP_DEFAULT_PRECIS,/*裁剪的精度*/
                        DEFAULT_QUALITY,/*逻辑字体与输出设备之简的精度*/
                        DEFAULT_PITCH | FF_SWISS,/*字体的间隔和字体集*/
                        L"微软雅黑");

                SetTextColor(dc, RGB(255, 0, 0));/*设置文字色彩*/

                SelectObject(dc, hf);// 将字体和设备上下文树立衔接

                SetBkMode(dc, TRANSPARENT);
                //树立循环输出
                while (true)
                {
                        ExtTextOut(dc, p(0, 2560), p(0, 1440), ETO_CLIPPED, NULL, L"请勿调试该程序,该提示仅仅正告,", 35, 0);
                        //        ExtTextOut(dc,80, 100, ETO_CLIPPED, NULL, "电脑被劫持", 10, 0);
                        Sleep(10);
                }
                ReleaseDC(DCHWND, dc);


                //-----------------------------------------------------------------------------------------
                //ExitProcess(0);//退出线程
        }
        return 0;
}
//-----效果图---
简略的防od CE调试代码,以及破解!
简略的防od CE调试代码,以及破解!

中止办法封闭od即可,
//--
---------
--------
破解办法在cmp指令替换成nop填充即可破解该程序的恶作剧(病毒)部分。
简略的防od CE调试代码,以及破解!


扩展思路,增加开机发动,仿制进C盘,增加修正MBR代码,等等,做好备份 做好备份,做好备份,必定要在虚拟机中,测验,牢记!





上一篇:win32api的窗口注册和win32汇编窗口注册
58_avatar_middle
最佳答案
31 
2#
online_vip 宣布于 3 天前 | 只看该作者
支撑老铁。
最佳答案
0 
3#
在线会员 宣布于 前天 20:11 来自手机 | 只看该作者
凶猛。。。
您需求登录后才能够回帖 登录 | 参加驿站 qq_login

本版积分规矩

×【发帖 友谊提示】
1、请回复有意义的内容,请勿歹意灌水;
2、纯数字、字母、表情等无意义的内容体系将主动删去;
3、若正常回复后帖子被主动删去,为体系误删的状况,请从头回复其他正常内容或等候管理员审阅经过后会主动发布;
4、感谢您对VC驿站自始自终的支撑,谢谢合作!

封闭

站长提示上一条 /2 下一条

|小黑屋|手机版|VC驿站 ( )|网站地图QQ

GMT+8, 2020-5-18 02:00

Powered by vog2jy.com

© 2009-2020 vog2jy.com

快速回复 回来顶部 回来列表