精华内容
下载资源
问答
  • 显示/隐藏标签 批量删除书签 显示/隐藏标签 批量删除书签 1、alt+F11,打开VBA窗口 2、双击打开ThisDocument 3、输入代码并运行 Sub DeleteBookmarks() Dim Bk As Bookmark For Each Bk In ...

    目录

     

    显示/隐藏标签

    批量删除书签


    显示/隐藏标签


    批量删除书签

    1、alt+F11,打开VBA窗口

    2、双击打开ThisDocument

    3、输入代码并运行

    Sub DeleteBookmarks()
    Dim Bk As Bookmark
    
    For Each Bk In ActiveDocument.Bookmarks
    Bk.Delete
    Next
    
    End Sub

    大功告成!!

    展开全文
  • 隐藏系统窗口

    2013-06-05 10:16:32
    1.隐藏全部系统窗口,但是不隐藏Word窗口:新建一个规则,选择“类名”和“排除”,文本框输入Word的类名OpusApp,确定即可,如果不知道类名,可以选中“类名”框和选中“捕获前台窗口”,再单击Word窗口使其...
  • Word文档显示或消除修改痕迹

    千次阅读 2020-05-04 09:40:44
    之前由于没了解到word文档具有显示修改痕迹的功能,给别人发文档的时候,自己这里显示的只有批注的内容,而收收方却显示修改的痕迹、批注、设置格式的全部内容,这样就会看着很乱,很尴尬。下图为证: 第一张图是...

    之前由于没了解到word文档具有显示修改痕迹的功能,在给别人发文档的时候,自己这里显示的只有批注的内容,而接收方却显示修改的痕迹、批注、设置格式的全部内容,这样就会看着很乱,很尴尬。下图为证:

    第一张图是自己这里看到的,显示只有自己的一条批注:

    第二张图是发送给别人后,word显示的修改的过程和内容,还有设置的格式等等:

    后来经过上网查资料,才知道是word显示修改痕迹的功能处于全部选中状态了,当然这是word一安装上它自己默认选择的,我之前并没有操作过,所以它才会把我修改的过程,设置的格式也显示出来。那么下面我们就根据需要把那些看着很乱而又不是重要的东西给它关闭掉:

    首先,选择word的“审阅”标签下的“显示标记”,根据需要选中“批注”、“墨迹”、“插入和删除”、“设置格式”等,这样就会只显示自己所需要的内容了。

    接着,点击“修订”选项的下拉菜单,在弹出的“修订选项”窗口中,点击“高级选择”,对“标记”、“移动”、“表单元格突出显示”、“格式”、“批注框”等选项按需要进行设置。

    最后就是点击确认按钮,设置完成了。

    如果要彻底消除修订痕迹,需要先单击“修订”,然后在“显示标记”选项下一一勾除“墨迹”、“插入和删除”、“设置格式”这些标记;需要注意的是一定要先单击解除“修订”状态后再执行其它操作,否则即使保存退出,再打开时也会再显示修改痕迹。

    这样操作后,再把文档发送给别人,别人就会只看到批注,而不会看到其他的没有用处的内容了。

    展开全文
  • 不但可以修改窗口显示的图标和文字,还可以修改其它程序的托盘图标和提示文字。例如可以把聊天窗口伪装成WordWindows的任务工具栏上显示的是Word,而实际的窗口却是聊天窗口。  4.内部整合终极窗口属性修改器...
  • VB在Word中实现聊天功能,接收到的聊天内容过多,请关闭当前QQ聊天窗口,等待重新开启!错误:数据量过大,本程序使用时必须同时打开聊天窗口,同时QQ聊天窗口中设置发送时按,而不是!  文件和帮助两菜单可用...
  • 可以隐藏其他程序的托盘图标 可以修改窗口显示图标和文字,起到伪装作用,例如可以把聊天窗口伪装成WordWindows的任务工具栏上显示的是Word,而实际的窗口却是聊天窗口
  • 题外话:窗口隐藏:效果就是spy++ 彗星小助手发现不了窗口,但是窗口确实存在.(副作用:不透明窗口,鼠标不穿透窗口白屏无反应,进程退出蓝屏(如果恢复了就不会)) 一大波黑产路上了??? 怎么隐藏呢? 跟断链一致,前一...

    题外话:窗口隐藏:效果就是spy++ 彗星小助手发现不了窗口,但是窗口确实存在.(副作用:不透明窗口,鼠标不穿透窗口白屏或无反应,进程退出蓝屏(如果恢复了就不会))

    一大波黑产在路上了???

    怎么隐藏呢?

    跟断链一致,前一个的下一个等于当前的下一个,后一个的前一个等于当前的前一个.已经说的很明白了!

    另外在17763及以上,在你内核修改是木有效果的哦.具体可以自己研究一下应用层的tagWnd结构,然后,如果你稍微有点基础,就知道怎么搞了:) 

    拒绝黑产,拒绝伸手党.

    简介:tagWnd在win7是公开的 在windbg中输入dt tagWnd是可以看到完整结构体的.

    So,这个就不讨论win7了.虽然win10 win32k大改了,但是还是参考的.

    先看下win7的tagWnd结构体:

    typedef struct _tagWND                                     // 170 elements, 0x128 bytes (sizeof) 
              {                                                                                                
    /*0x000*/     struct _THRDESKHEAD head;                              // 5 elements, 0x28 bytes (sizeof)    
                  union                                                  // 2 elements, 0x4 bytes (sizeof)     
                  {                                                                                            
    /*0x028*/         ULONG32      state;                                                                      
                      struct                                             // 32 elements, 0x4 bytes (sizeof)    
                      {                                                                                        
    /*0x028*/             INT32        bHasMeun : 1;                     // 0 BitPosition                      
    /*0x028*/             INT32        bHasVerticalScrollbar : 1;        // 1 BitPosition                      
    /*0x028*/             INT32        bHasHorizontalScrollbar : 1;      // 2 BitPosition                      
    /*0x028*/             INT32        bHasCaption : 1;                  // 3 BitPosition                      
    /*0x028*/             INT32        bSendSizeMoveMsgs : 1;            // 4 BitPosition                      
    /*0x028*/             INT32        bMsgBox : 1;                      // 5 BitPosition                      
    /*0x028*/             INT32        bActiveFrame : 1;                 // 6 BitPosition                      
    /*0x028*/             INT32        bHasSPB : 1;                      // 7 BitPosition                      
    /*0x028*/             INT32        bNoNCPaint : 1;                   // 8 BitPosition                      
    /*0x028*/             INT32        bSendEraseBackground : 1;         // 9 BitPosition                      
    /*0x028*/             INT32        bEraseBackground : 1;             // 10 BitPosition                     
    /*0x028*/             INT32        bSendNCPaint : 1;                 // 11 BitPosition                     
    /*0x028*/             INT32        bInternalPaint : 1;               // 12 BitPosition                     
    /*0x028*/             INT32        bUpdateDirty : 1;                 // 13 BitPosition                     
    /*0x028*/             INT32        bHiddenPopup : 1;                 // 14 BitPosition                     
    /*0x028*/             INT32        bForceMenuDraw : 1;               // 15 BitPosition                     
    /*0x028*/             INT32        bDialogWindow : 1;                // 16 BitPosition                     
    /*0x028*/             INT32        bHasCreatestructName : 1;         // 17 BitPosition                     
    /*0x028*/             INT32        bServerSideWindowProc : 1;        // 18 BitPosition                     
    /*0x028*/             INT32        bAnsiWindowProc : 1;              // 19 BitPosition                     
    /*0x028*/             INT32        bBeingActivated : 1;              // 20 BitPosition                     
    /*0x028*/             INT32        bHasPalette : 1;                  // 21 BitPosition                     
    /*0x028*/             INT32        bPaintNotProcessed : 1;           // 22 BitPosition                     
    /*0x028*/             INT32        bSyncPaintPending : 1;            // 23 BitPosition                     
    /*0x028*/             INT32        bRecievedQuerySuspendMsg : 1;     // 24 BitPosition                     
    /*0x028*/             INT32        bRecievedSuspendMsg : 1;          // 25 BitPosition                     
    /*0x028*/             INT32        bToggleTopmost : 1;               // 26 BitPosition                     
    /*0x028*/             INT32        bRedrawIfHung : 1;                // 27 BitPosition                     
    /*0x028*/             INT32        bRedrawFrameIfHung : 1;           // 28 BitPosition                     
    /*0x028*/             INT32        bAnsiCreator : 1;                 // 29 BitPosition                     
    /*0x028*/             INT32        bMaximizesToMonitor : 1;          // 30 BitPosition                     
    /*0x028*/             INT32        bDestroyed : 1;                   // 31 BitPosition                     
                      };                                                                                       
                  };                                                                                           
                  union                                                  // 2 elements, 0x4 bytes (sizeof)     
                  {                                                                                            
    /*0x02C*/         ULONG32      state2;                                                                     
                      struct                                             // 30 elements, 0x4 bytes (sizeof)    
                      {                                                                                        
    /*0x02C*/             INT32        bWMPaintSent : 1;                 // 0 BitPosition                      
    /*0x02C*/             INT32        bEndPaintInvalidate : 1;          // 1 BitPosition                      
    /*0x02C*/             INT32        bStartPaint : 1;                  // 2 BitPosition                      
    /*0x02C*/             INT32        bOldUI : 1;                       // 3 BitPosition                      
    /*0x02C*/             INT32        bHasClientEdge : 1;               // 4 BitPosition                      
    /*0x02C*/             INT32        bBottomMost : 1;                  // 5 BitPosition                      
    /*0x02C*/             INT32        bFullScreen : 1;                  // 6 BitPosition                      
    /*0x02C*/             INT32        bInDestroy : 1;                   // 7 BitPosition                      
    /*0x02C*/             INT32        bWin31Compat : 1;                 // 8 BitPosition                      
    /*0x02C*/             INT32        bWin40Compat : 1;                 // 9 BitPosition                      
    /*0x02C*/             INT32        bWin50Compat : 1;                 // 10 BitPosition                     
    /*0x02C*/             INT32        bMaximizeMonitorRegion : 1;       // 11 BitPosition                     
    /*0x02C*/             INT32        bCloseButtonDown : 1;             // 12 BitPosition                     
    /*0x02C*/             INT32        bMaximizeButtonDown : 1;          // 13 BitPosition                     
    /*0x02C*/             INT32        bMinimizeButtonDown : 1;          // 14 BitPosition                     
    /*0x02C*/             INT32        bHelpButtonDown : 1;              // 15 BitPosition                     
    /*0x02C*/             INT32        bScrollBarLineUpBtnDown : 1;      // 16 BitPosition                     
    /*0x02C*/             INT32        bScrollBarPageUpBtnDown : 1;      // 17 BitPosition                     
    /*0x02C*/             INT32        bScrollBarPageDownBtnDown : 1;    // 18 BitPosition                     
    /*0x02C*/             INT32        bScrollBarLineDownBtnDown : 1;    // 19 BitPosition                     
    /*0x02C*/             INT32        bAnyScrollButtonDown : 1;         // 20 BitPosition                     
    /*0x02C*/             INT32        bScrollBarVerticalTracking : 1;   // 21 BitPosition                     
    /*0x02C*/             INT32        bForceNCPaint : 1;                // 22 BitPosition                     
    /*0x02C*/             INT32        bForceFullNCPaintClipRgn : 1;     // 23 BitPosition                     
    /*0x02C*/             INT32        FullScreenMode : 3;               // 24 BitPosition                     
    /*0x02C*/             INT32        bCaptionTextTruncated : 1;        // 27 BitPosition                     
    /*0x02C*/             INT32        bNoMinmaxAnimatedRects : 1;       // 28 BitPosition                     
    /*0x02C*/             INT32        bSmallIconFromWMQueryDrag : 1;    // 29 BitPosition                     
    /*0x02C*/             INT32        bShellHookRegistered : 1;         // 30 BitPosition                     
    /*0x02C*/             INT32        bWMCreateMsgProcessed : 1;        // 31 BitPosition                     
                      };                                                                                       
                  };                                                                                           
                  union                                                  // 2 elements, 0x4 bytes (sizeof)     
                  {                                                                                            
    /*0x030*/         ULONG32      ExStyle;                                                                    
                      struct                                             // 32 elements, 0x4 bytes (sizeof)    
                      {                                                                                        
    /*0x030*/             INT32        bWS_EX_DLGMODALFRAME : 1;         // 0 BitPosition                      
    /*0x030*/             INT32        bUnused1 : 1;                     // 1 BitPosition                      
    /*0x030*/             INT32        bWS_EX_NOPARENTNOTIFY : 1;        // 2 BitPosition                      
    /*0x030*/             INT32        bWS_EX_TOPMOST : 1;               // 3 BitPosition                      
    /*0x030*/             INT32        bWS_EX_ACCEPTFILE : 1;            // 4 BitPosition                      
    /*0x030*/             INT32        bWS_EX_TRANSPARENT : 1;           // 5 BitPosition                      
    /*0x030*/             INT32        bWS_EX_MDICHILD : 1;              // 6 BitPosition                      
    /*0x030*/             INT32        bWS_EX_TOOLWINDOW : 1;            // 7 BitPosition                      
    /*0x030*/             INT32        bWS_EX_WINDOWEDGE : 1;            // 8 BitPosition                      
    /*0x030*/             INT32        bWS_EX_CLIENTEDGE : 1;            // 9 BitPosition                      
    /*0x030*/             INT32        bWS_EX_CONTEXTHELP : 1;           // 10 BitPosition                     
    /*0x030*/             INT32        bMakeVisibleWhenUnghosted : 1;    // 11 BitPosition                     
    /*0x030*/             INT32        bWS_EX_RIGHT : 1;                 // 12 BitPosition                     
    /*0x030*/             INT32        bWS_EX_RTLREADING : 1;            // 13 BitPosition                     
    /*0x030*/             INT32        bWS_EX_LEFTSCROLLBAR : 1;         // 14 BitPosition                     
    /*0x030*/             INT32        bUnused2 : 1;                     // 15 BitPosition                     
    /*0x030*/             INT32        bWS_EX_CONTROLPARENT : 1;         // 16 BitPosition                     
    /*0x030*/             INT32        bWS_EX_STATICEDGE : 1;            // 17 BitPosition                     
    /*0x030*/             INT32        bWS_EX_APPWINDOW : 1;             // 18 BitPosition                     
    /*0x030*/             INT32        bWS_EX_LAYERED : 1;               // 19 BitPosition                     
    /*0x030*/             INT32        bWS_EX_NOINHERITLAYOUT : 1;       // 20 BitPosition                     
    /*0x030*/             INT32        bUnused3 : 1;                     // 21 BitPosition                     
    /*0x030*/             INT32        bWS_EX_LAYOUTRTL : 1;             // 22 BitPosition                     
    /*0x030*/             INT32        bWS_EX_NOPADDEDBORDER : 1;        // 23 BitPosition                     
    /*0x030*/             INT32        bUnused4 : 1;                     // 24 BitPosition                     
    /*0x030*/             INT32        bWS_EX_COMPOSITED : 1;            // 25 BitPosition                     
    /*0x030*/             INT32        bUIStateActive : 1;               // 26 BitPosition                     
    /*0x030*/             INT32        bWS_EX_NOACTIVATE : 1;            // 27 BitPosition                     
    /*0x030*/             INT32        bWS_EX_COMPOSITEDCompositing : 1; // 28 BitPosition                     
    /*0x030*/             INT32        bRedirected : 1;                  // 29 BitPosition                     
    /*0x030*/             INT32        bUIStateKbdAccelHidden : 1;       // 30 BitPosition                     
    /*0x030*/             INT32        bUIStateFocusRectHidden : 1;      // 31 BitPosition                     
                      };                                                                                       
                  };                                                                                           
                  union                                                  // 2 elements, 0x4 bytes (sizeof)     
                  {                                                                                            
    /*0x034*/         ULONG32      style;                                                                      
                      struct                                             // 31 elements, 0x4 bytes (sizeof)    
                      {                                                                                        
    /*0x034*/             INT32        bReserved1 : 16;                  // 0 BitPosition                      
    /*0x034*/             INT32        bWS_MAXIMIZEBOX : 1;              // 16 BitPosition                     
    /*0x034*/             INT32        bReserved2 : 16;                  // 0 BitPosition                      
    /*0x034*/             INT32        bWS_TABSTOP : 1;                  // 16 BitPosition                     
    /*0x034*/             INT32        bReserved3 : 16;                  // 0 BitPosition                      
    /*0x034*/             INT32        bUnused5 : 1;                     // 16 BitPosition                     
    /*0x034*/             INT32        bWS_MINIMIZEBOX : 1;              // 17 BitPosition                     
    /*0x034*/             INT32        bReserved4 : 16;                  // 0 BitPosition                      
    /*0x034*/             INT32        bUnused6 : 1;                     // 16 BitPosition                     
    /*0x034*/             INT32        bWS_GROUP : 1;                    // 17 BitPosition                     
    /*0x034*/             INT32        bReserved5 : 16;                  // 0 BitPosition                      
    /*0x034*/             INT32        bUnused7 : 2;                     // 16 BitPosition                     
    /*0x034*/             INT32        bWS_THICKFRAME : 1;               // 18 BitPosition                     
    /*0x034*/             INT32        bReserved6 : 16;                  // 0 BitPosition                      
    /*0x034*/             INT32        bUnused8 : 2;                     // 16 BitPosition                     
    /*0x034*/             INT32        bWS_SIZEBOX : 1;                  // 18 BitPosition                     
    /*0x034*/             INT32        bReserved7 : 16;                  // 0 BitPosition                      
    /*0x034*/             INT32        bUnused9 : 3;                     // 16 BitPosition                     
    /*0x034*/             INT32        bWS_SYSMENU : 1;                  // 19 BitPosition                     
    /*0x034*/             INT32        bWS_HSCROLL : 1;                  // 20 BitPosition                     
    /*0x034*/             INT32        bWS_VSCROLL : 1;                  // 21 BitPosition                     
    /*0x034*/             INT32        bWS_DLGFRAME : 1;                 // 22 BitPosition                     
    /*0x034*/             INT32        bWS_BORDER : 1;                   // 23 BitPosition                     
    /*0x034*/             INT32        bMaximized : 1;                   // 24 BitPosition                     
    /*0x034*/             INT32        bWS_CLIPCHILDREN : 1;             // 25 BitPosition                     
    /*0x034*/             INT32        bWS_CLIPSIBLINGS : 1;             // 26 BitPosition                     
    /*0x034*/             INT32        bDisabled : 1;                    // 27 BitPosition                     
    /*0x034*/             INT32        bVisible : 1;                     // 28 BitPosition                     
    /*0x034*/             INT32        bMinimized : 1;                   // 29 BitPosition                     
    /*0x034*/             INT32        bWS_CHILD : 1;                    // 30 BitPosition                     
    /*0x034*/             INT32        bWS_POPUP : 1;                    // 31 BitPosition                     
                      };                                                                                       
                  };                                                                                           
    /*0x038*/     VOID*        hModule;                                                                        
    /*0x040*/     UINT16       hMod16;                                                                         
    /*0x042*/     UINT16       fnid;                                                                           
    /*0x044*/     UINT8        _PADDING0_[0x4];                                                                
    /*0x048*/     struct _tagWND* spwndNext;                                                                   
    /*0x050*/     struct _tagWND* spwndPrev;                                                                   
    /*0x058*/     struct _tagWND* spwndParent;                                                                 
    /*0x060*/     struct _tagWND* spwndChild;                                                                  
    /*0x068*/     struct _tagWND* spwndOwner;                                                                  
    /*0x070*/     struct _tagRECT rcWindow;                              // 4 elements, 0x10 bytes (sizeof)    
    /*0x080*/     struct _tagRECT rcClient;                              // 4 elements, 0x10 bytes (sizeof)    
    /*0x090*/     FUNCT_0075_0FB0_lpfnWndProc_aStoCidPfn* lpfnWndProc;                                         
    /*0x098*/     struct _tagCLS* pcls;                                                                        
    /*0x0A0*/     struct _HRGN__* hrgnUpdate;                                                                  
    /*0x0A8*/     struct _tagPROPLIST* ppropList;                                                              
    /*0x0B0*/     struct _tagSBINFO* pSBInfo;                                                                  
    /*0x0B8*/     struct _tagMENU* spmenuSys;                                                                  
    /*0x0C0*/     struct _tagMENU* spmenu;                                                                     
    /*0x0C8*/     struct _HRGN__* hrgnClip;                                                                    
    /*0x0D0*/     struct _HRGN__* hrgnNewFrame;                                                                
    /*0x0D8*/     struct _LARGE_UNICODE_STRING strName;                  // 4 elements, 0x10 bytes (sizeof)    
    /*0x0E8*/     INT32        cbwndExtra;                                                                     
    /*0x0EC*/     UINT8        _PADDING1_[0x4];                                                                
    /*0x0F0*/     struct _tagWND* spwndLastActive;                                                             
    /*0x0F8*/     struct _HIMC__* hImc;                                                                        
    /*0x100*/     UINT64       dwUserData;                                                                     
    /*0x108*/     struct _ACTIVATION_CONTEXT* pActCtx;                                                         
    /*0x110*/     struct _D3DMATRIX* pTransform;                                                               
    /*0x118*/     struct _tagWND* spwndClipboardListenerNext;                                                  
                  union                                                  // 2 elements, 0x4 bytes (sizeof)     
                  {                                                                                            
    /*0x120*/         ULONG32      ExStyle2;                                                                   
                      struct                                             // 12 elements, 0x4 bytes (sizeof)    
                      {                                                                                        
    /*0x120*/             INT32        bClipboardListener : 1;           // 0 BitPosition                      
    /*0x120*/             INT32        bLayeredInvalidate : 1;           // 1 BitPosition                      
    /*0x120*/             INT32        bRedirectedForPrint : 1;          // 2 BitPosition                      
    /*0x120*/             INT32        bLinked : 1;                      // 3 BitPosition                      
    /*0x120*/             INT32        bLayeredForDWM : 1;               // 4 BitPosition                      
    /*0x120*/             INT32        bLayeredLimbo : 1;                // 5 BitPosition                      
    /*0x120*/             INT32        bHIGHDPI_UNAWARE_Unused : 1;      // 6 BitPosition                      
    /*0x120*/             INT32        bVerticallyMaximizedLeft : 1;     // 7 BitPosition                      
    /*0x120*/             INT32        bVerticallyMaximizedRight : 1;    // 8 BitPosition                      
    /*0x120*/             INT32        bHasOverlay : 1;                  // 9 BitPosition                      
    /*0x120*/             INT32        bConsoleWindow : 1;               // 10 BitPosition                     
    /*0x120*/             INT32        bChildNoActivate : 1;             // 11 BitPosition                     
                      };                                                                                       
                  };                                                                                           
              }tagWND, *PtagWND;  
    

    可以看到,大部分的信息都可以直接看到的.

     

    好的,那定一个目标,最后实现的结果是什么样的?

    1.支持win10 14393-win10 17763 x64 只弄下x64,    x86原理一致

    2.输出窗口的句柄,tagWnd,窗口标题,窗口类名信息,下一个窗口,上一个窗口,父窗口,RECT,以及样式

     

    Ojbk!开整!

     

    How to Gao ?

    回想一下,5*16*16+2*16+2=1282+32=1314,522是16进制的1314,黑客情人节啊!

    额...不好意思,突然脑抽想到了这个.

    正经的

    第一步:我们需要得到所有的tagWnd.嗯 year.

    怎么得到tagWnd呢?稍微了解一点子系统的小哥哥小姐姐就知道win32k!ValidateHwndEx返回tagWnd. So,We need to see see it!

    怎么得到所有的tagWnd呢?啊哈哈哈哈哈哈哈.see later.

    第二步:得到偏移,取值

    得到了tagWnd,就是找偏移,取值了,这些偏移怎么搞到?

    想一下:5*16*16+2*16+2=1282+32=1314,522是16进制的1314,黑客情人节啊!

    .....额...看win32k相关api的实现啊.

    就两步呗,那ojbk啊.

    How Get tagWnd on win10 ?

         First,We need IDA!打开我从某解下载的泄露版ida 7.0!O shit,i love ida.

    先从简单的搞起,看下7601 win32k!ValidateHwnd:

     

    为什么说[rdi+0x10]可以看出rdi就是tagWnd呢?

    看下公开的结构体就知道了,都对的上,标题,RECT,句柄,啥的都是ojbk的.

    Ojbk!

    So,总结一下:

    Win7的tagWnd计算公式:

    [hwnd->cx*[gSharedInfo+0x10]] + [gSharedInfo+0x8]]

     

    到这里,我们可以猜想,如何枚举所有窗口的tagWnd呢?

    1.公式的唯一变数就是hwnd的低16位,那么0~0xffff就是所有的啦

    2.tagWnd中记录了上一个窗口和下一个窗口,并且打开彗星小助手或者spy++,会发现总窗口(最大的那个窗口hwnd是固定的,就是0x10010),通过把0x10010转换为tagWnd,然后通过下一个窗口遍历即可.

    Ojbk!

    搞win10!

     

    先搞一个14393的!

    ida打开win32kbase!ValidateHwndEx

    大概看下 公式也没变,只是部分偏移改变了

    So,

    14393:[hwnd->cx*[gSharedInfo+0x10]] + [gSharedInfo+0x8]]

     

    鉴于篇幅,还有写此文章时的电脑并非调试机,就简单说下

    Win10:

    14393的计算公式同win7

    >= 15063 的计算公式都改变了

     

    上面说过了>=15063的公式是改变的

    下面就选择16299的win32kbase.sys来看

    同样的,也是看win32kbase!ValidateHwndEx

    然后特殊一点的是15063:

    只是基数不同

    So,总结一下:

    7601:[hwnd->cx*[gSharedInfo+0x10]] + [gSharedInfo+0x8]]

    14393:同7601

    15063:[[gpKernelHandleTable] + 0x10 * ((hwnd->cx * [gSharedInfo+0x10]) >> 5)]

    16299:[[gpKernelHandleTable] + 0x18 * ((hwnd->cx * [gSharedInfo+0x10]) >> 5)]

    17134:[[gpKernelHandleTable] + 0x18 * ((hwnd->cx * [gSharedInfo+0x10]) >> 5)]

    17763:[[gpKernelHandleTable] + 0x18 * ((hwnd->cx * [gSharedInfo+0x10]) >> 5)]

    Win10中的gpKernelHandleTable和gSharedInfo是导出的.So

    How Get Window Info in tagWnd ?

    到这里,我们已经可以得到所有tagWnd了(1903还没看),那么下面就是去tagWnd获取信息了.

    我们需要以下信息:

    1.窗口hwnd(好废话)

    2.窗口标题

    3.窗口类名

    4.窗口RECT

    5.窗口的样式

    6.窗口的进程信息

    提一下:应用层与驱动层都有tagWnd结构,在7601-16299 结构体是相同的

    但>16299是不同的,也就是说在>16299的win10中有两个tagWnd,一个是用户层的,一个是内核的,虽然名字一样(看符号),但是内容不一样,用户层获取用户层的tagWnd最简单的就是调用一下NtUserCallOneParam(hwnd, xxx),这个xxx不同的build都不同,最后都是调用到内核的MapDesktopObject.

    鉴于不可抗拒的原因,这里只列出内核的tagWnd

    1. Hwnd

    这个是最简单的,tagWnd的前8个字节就是hwnd.

    1. 窗口标题

    联想一下:5*16*16+2*16+2=1282+32........

    好的,继续,窗口标题,看下win32kfull!NtUserFindWindowEx

    鉴于篇幅,这里只看下14393的,其他一样.

    NtUserFindWindowEx->_FindWindow

    其中0xe0就是偏移(wchar*) 其实d8就是一个UNICODE_STRING

    Ojbk,其他的这里总结下:

    strName:

    7601:0xe0

    14393:0xe0

    15063:0xf0

    16299:0xf0

    17134:0xa8

    17763:0xa8

    1. 窗口类名索引

    窗口类名并没有直接保存在tagWNd,而是通过索引去查Atom表

    这里就只说下索引

    看win32kfull!NtUserGetClassName(15063)

    或者

    窗口标题那张图的上一句

    在调试过程中并没有走到v12!=0x19里面

    其中Index就是索引

    总结一下:

    14393:WORD[[tagWnd+0x98] + 0xA]

    15063:WORD[[tagWnd+0xA8] + 0xA]

    16299:WORD[[tagWnd+0xA8] + 0xA]

    17763:*(_WORD *)(*(_QWORD *)(*(_QWORD *)(tagWnd + 0x70) + 8i64) + 2i64)

    1. 窗口RECT

    有两个RECT,一个是RcWindow,一个是Rcclient

    是一个tagRect结构

    RcClient的上8个字节就是RcWindow

    看下win32kfull!xxxGetUpdateRect(15063)

    0x90指向一个tagRect结构,而0x90-8则指向RcWindow

    RcClient:

    14393:[tagWnd+0x80] hrgnUpdate=0xA0

    15063:[tagWnd+0x90] hrgnUpdate=0xB0

    16299:[tagWnd+0x90] hrgnUpdate=0xB0

     

    17763:[[tagWnd+0x28]+0x68] hrgnUpdate=[[tagWnd+0x28]+0x88]

     

    RcWindow:

    偏移-8

    17763:[[tagWnd+0x28]+0x60] hrgnUpdate=[[tagWnd+0x28]+0x88]

    1. 窗口样式

    内核中共有3个样式

    1. Style
    2. ExStyle
    3. ExStyle2

    怎么找?

    Win32kfull!xxxSetWindowStyle(15063)

    ExStyle2往下找UnsetLayeredWindow的上一句

    这里的样式并不是用户层spy++或者彗星小助手显示的样式格式,需要转换,这里就不进行转换了.

    14393:

    Style:0x34 DWORD

    ExStyle:0x30 DWORD

    ExStyle2:0x120 DWORD

    15063:

    Style:0x44 DWORD

    ExStyle:0x40 DWORD

    ExStyle2:0x130 DWORD

    16299:

    Style:0x44 DWORD

    ExStyle:0x40 DWORD

    ExStyle2:0x130 DWORD

    17763:

    Style:DWORD[[tagWnd+0x28] + 0x1c]

    ExStyle:DWORD[[tagWnd+0x28] + 0x18]

    ExStyle2:DWORD[[tagWnd+0x28] + 0xe8]

    1. 窗口进程信息

    这个也很简单,在tagWnd+0x10是线程对象,你懂我意思吧.

    1. 窗口关系

    窗口关系在tagWnd总是按顺序排列的

     

    tagWND* spwndNext

     

    tagWnd* spwndPrev

     

    tagWnd* spwndParent

     

    tagWnd* spwndChild

     

    tagWnd* spwndOwner

     

    看win32kfull!BuildHwndList(16299)

    0x58为spwndNext

    再往下拉一点即可看到Child

    总结下:只列出spwndNext的偏移,其它的偏移都是按指定顺序排列(dd tagWnd xxxxxx 查看句柄验证)

     

    7601:0x48

     

    14393:0x58

     

    15063:0x58

     

    16299:0x58

     

    17134:0x40

     

    17763:0x40

    展开全文
  • Word隐藏回车符技巧

    千次阅读 2013-07-30 22:13:15
    每一次在Word中敲击回车时,都会留下一个回车符,回车次数多了回车符也就跟着变多了,这的确是太影响视觉效果了,我们要如何操作才能将这些回车符去掉呢?特意为大家献上Word2003和Word2007中隐藏回车符的方法,从此...

    每一次在Word中敲击回车时,都会留下一个回车符,回车次数多了回车符也就跟着变多了,这的确是太影响视觉效果了,我们要如何操作才能将这些回车符去掉呢?特意为大家献上Word2003Word2007中隐藏回车符的方法,从此告别回车符!

      小提示:Word回车符只会出现在我们的Word文档中,是不会被打印出来的,所以这点大家可以放心。

      Word2003隐藏回车符技巧


      点开Word菜单栏的工具里面的选项,在视图格式标记里面找到段落标记,将段落标记前面的钩去掉,然后确定,以后回车符就不会再出现了。



      Word2007去掉回车符方法

      步骤一、打开Word2007后单击“Office按钮,在弹出的下拉菜单中,点击“Word选项

      步骤二、在弹出的“Word选项窗口中,选择左边的显示按钮,然后在始终在屏幕上显示这些格式标记下面将段落标记前面的钩去掉就可以了。



      好了,到这里Word2003和Word2007中去掉回车符的方法就已经讲完了,事实上去掉回车符的方法非常简单,相信经常用Word朋友都应该知道吧!希望一些刚入门的朋友们能早日学成!

    展开全文
  • "># -*- coding: utf-8 -*- SCITE 消除乱码设置: 文件->编码->带BOM的UTF-8 # 奇怪的乱码! """ 目的: 1. 封装Excel 的 OCX太少! 好用的更是少之又少!(注意!!! iWebOffice2006.ocx涉及到版权! 这里iWebOffice2006....
  • 求助(VC++) 隐藏Console窗口无效

    千次阅读 2014-10-07 20:19:54
    怎么实现控制台窗口隐藏
  • Word2010如何隐藏去掉回车符

    千次阅读 2013-09-11 11:51:39
    每一次在Word中敲击回车时,都会留下一个回车符,回车次数多了回车符也就跟着变多了,这的确是太影响视觉效果了,我们要...步骤二、弹出的“Word选项”窗口中,选择左边的“显示”按钮,然后“始终屏幕上显示这些
  • 问题描述:为什么同样一份word,别人的电脑里图片就能显示,放在我的电脑里就不能显示,只有显示一个框。同样都是载来的。大部分都不能显示的,甚至PPT中都有部分不能显示 ,就是同学给我的一份WORD,其中有5张图片...
  • 解决WORD疑难之:设置节起始页码后出现诡异隐藏页/跳页、节首页页面边框丢失 适用软件及版本:MS OFFICE2003 proWORD,其它版本应可适用。 适用人群:编排大型复杂文档的用户 症状:文档的某些节首页页数...
  • Python xlrd 模块编辑 Excle 表格——基础篇2 冻结窗口设置加密保护、打印设置等 前言:1、设置冻结窗口2、sheet表 前言: 上一篇博客对Python 的第三方模块 xlrd 对Excel表格的一些基础操作如:新建工作簿、增加...
  • 隐藏cmd窗口执行dos命令

    千次阅读 2010-04-23 22:05:00
    有些时候我们会程序使用dos命令执行一些操作,运行批处理文件之类的,但发现使用cmd的时候,会显示一个黑色的控制台窗口,很不友好。最近研究发现可以使用CreateProcess来隐藏cmd窗口,该函数的参数相关设置...
  • wps/word office怎么显示左侧目录树

    万次阅读 2017-05-20 14:32:34
    wps显示左侧的文章目录 word office显示左侧目录树 mac版的office显示左侧目录树
  •  大家想必都知道,在Word文档中,如果你没有特别的设置过,每一段的最后,都有一个回车换行符,看起来是否影响文档的整体美观。Word2010、Word2007、Word2003如何隐藏回车换行符。 一、Word2010如何隐藏回车换行...
  • Word中去掉各种标记符号

    千次阅读 2015-03-23 11:54:17
    1.去掉word文档的回车转行箭头 ①「视图」菜单把「显示段落标记」前面的勾(√)去掉。... 用户还可以在Word2003文档窗口中单击「常用」工具栏的「显示/隐藏编辑标记」按钮来实现。 也可以通过「编辑→替换
  • Word 2016给公式自动编号

    万次阅读 2017-06-19 16:57:03
    [转载] ...http://jingyan.baidu.com/article/e4d08ffd9536270fd3f60d6f.html为了更好的说明操作步骤,在word2016 的”开始” -> “段落”的右上角,显示隐藏标记。如图0所示 图0 一、插入公式编
  • word文件中设置不连续页码要点 1.需要插入不同页码格式的节之间插入分节 符,单击“插入”菜单的“分隔符”命令,选择“分节符类型”下的某一个类型,其中“下一页”:插入一 个分节符,新节从下一页开始;“连续...
  • mathtype章节号显示隐藏

    万次阅读 2014-03-08 18:59:53
    word2003菜单上选择 “格式” --> “样式和格式” ,找到红色的MTEquationSection,鼠标 悬停右端会出现下拉菜单箭头,点击它,“修改”,弹出窗口最下面有“格式”下拉 菜单,点击它,“字体”,弹出窗口第一个...
  • Windows浏览器左侧的导航面板默认项目比较多,使用起来很不方便,通常我希望打开窗口时,左侧的导航面板只显示“库”和“计算机”,这里介绍一下隐藏(或者是关闭)导航面板的各类项目的方法:首先,下列所有操作...
  • 技术要点 使用WINAPI SetWinEventHook 拦截系统事件,判断即将展示的窗体的类名和PPT正在发布窗口一致,则调用ShowWindow函数进行隐藏
  • Mac操作系统下怎么显示隐藏文件

    万次阅读 2019-03-30 13:00:14
    方法一: 第一步:打开「终端」应用程序。 第二步:输入如下命令: ...现在你将会 Finder 窗口中看到那些隐藏的文件和文件夹了。 如果你想再次隐藏原本的隐藏文件和文件夹的话,将上述命令替换成 def...
  • word中只能输入英文,不能切换中文

    万次阅读 热门讨论 2013-12-02 18:56:18
    朋友,你是否也遇到过...在word选项窗口中选择【高级】,右面弹出的功能窗口中将【输入法控制处于激活状态】前面的对勾去掉。关掉打开的word,重新打开,验证。   如果还是不行,电脑上不显示输入法图标,很有可能
  • Vue - element-ui 预览 word 、exce、ppt以及pdf文件

    万次阅读 多人点赞 2019-08-17 16:21:01
    最近写了个有 预览word 、Exce、ppt以及pdf文件 的后台 管理 网上也找了 很多 就感觉很复杂 ,当然最后还是实现了 , 本博主一项喜欢简单 越简单越好 越好理解 废话不多说 先上效果图 (我就喜欢那种有图的代码 能...
  • Word2010的格式标记

    千次阅读 2013-06-18 00:09:28
    您可以查看在Word 您键入段落时自动插入的格式标记,从而了解文档进行的操作。这些标记始终都文档,但显示这些标记之前它们是不可见的。 例如,每次当您按空格键时(例如两个单词之间),都会显示一...
  • QT 实现功能菜单的隐藏显示

    千次阅读 2019-11-04 17:41:58
    大家都知道微软的Word,上面的功能菜单很丰富,并且还可以在隐藏显示,为文档区提供更大的显示控件,非常的方便。再此利用QT自带的控件实现了一个类似的功能,先看示例: 实现功能菜单的隐藏显示主要用到...
  • 最近接触一个项目,vc窗口调用某个存在的EXE可执行文件DOS(或者后台)执行,但是不想让用户看到这个执行文件,也就是不显示或者不创建窗口。从网上搜了很多总结了三种方法,希望对大家有用: 网上常见的两种...
  • 去除WORD 中文字底边的波浪线

    千次阅读 2010-11-30 09:53:00
    在WORD窗口中,最下面的状态栏上,中间位置,有一本翻开的书本的图标,右键点击它,将“隐藏拼写错误”前的勾去掉即可,红色波浪线就不显示了。去掉“隐藏语法错误”前的勾,就能不显示绿色的波浪线!

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 31,446
精华内容 12,578
关键字:

在word窗口中设置显示或隐藏