技术宅的结界

 找回密码
 立即注册→加入我们

QQ登录

只需一步,快速开始

搜索
热搜: 下载 VB C 实现 编写
查看: 1308|回复: 1
收起左侧

windbg脚本小试

[复制链接]

273

主题

451

帖子

4868

积分

用户组: 真·技术宅

UID
2
精华
61
威望
148 点
宅币
3685 个
贡献
131 次
宅之契约
0 份
在线时间
623 小时
注册时间
2014-1-25
发表于 2015-10-21 18:45:19 | 显示全部楼层 |阅读模式

欢迎访问技术宅的结界,请注册或者登录吧。

您需要 登录 才可以下载或查看,没有帐号?立即注册→加入我们

x
本帖最后由 元始天尊 于 2015-10-21 18:48 编辑

偶然看到dump中数据如下:
81922000 e2 a2 01 00 02 00 40 01 01 00 00 00 00 00 00 00 10 00 6a 00 12 00 04 00 01 00 00 00 11 00 04 00  ......@...........j.............
81922020 d2 07 00 00 13 00 04 00 0f 80 20 02 15 00 4a 00 43 00 3a 00 5c 00 57 00 49 00 4e 00 44 00 4f 00  .......... ...J.C.:.\.W.I.N.D.O.
81922040 57 00 53 00 5c 00 73 00 79 00 73 00 74 00 65 00 6d 00 33 00 32 00 5c 00 64 00 72 00 69 00 76 00  W.S.\.s.y.s.t.e.m.3.2.\.d.r.i.v.
81922060 65 00 72 00 73 00 5c 00 65 00 74 00 63 00 5c 00 68 00 6f 00 73 00 74 00 73 00 16 00 00 00 10 00  e.r.s.\.e.t.c.\.h.o.s.t.s.......
81922080 4c 00 12 00 04 00 01 00 00 00 11 00 04 00 55 0b 00 00 13 00 04 00 0f 80 20 02 15 00 2c 00 43 00  L.............U......... ...,.C.
819220a0 3a 00 5c 00 57 00 49 00 4e 00 44 00 4f 00 57 00 53 00 5c 00 74 00 61 00 73 00 6b 00 73 00 5c 00  :.\.W.I.N.D.O.W.S.\.t.a.s.k.s.\.
819220c0 2a 00 2e 00 6a 00 6f 00 62 00 16 00 00 00 10 00 56 00 12 00 04 00 01 00 00 00 11 00 04 00 56 0b  *...j.o.b.......V.............V.
819220e0 00 00 13 00 04 00 0f 80 20 02 15 00 36 00 43 00 3a 00 5c 00 57 00 49 00 4e 00 44 00 4f 00 57  d....................... ...D.C.


代码:

  1. int __stdcall sub_2FEC6(int Src, unsigned int MaxLen, __int16 ObjLen, void *Dst, PULONG DstLen)
  2. {
  3.   int v5; // edx@1
  4.   int v6; // esi@1
  5.   PULONG v7; // eax@3
  6.   USHORT v8; // cx@7
  7.   int v9; // edx@7
  8.   unsigned __int16 v10; // cx@8
  9.   ULONG v11; // ebx@10
  10.   const void *v12; // edx@11
  11.   int v14; // [sp+4h] [bp-4h]@1

  12.   v5 = Src;
  13.   v6 = 0;
  14.   v14 = 0;
  15.   if ( Src )
  16.   {
  17.     if ( Dst )
  18.     {
  19.       v7 = DstLen;
  20.       if ( DstLen )
  21.       {
  22.         if ( MaxLen >= 4 && *DstLen > 0 && MaxLen >= 4 )
  23.         {
  24.           while ( 1 )
  25.           {
  26.             v8 = *(_WORD *)v5;
  27.             v9 = v5 + 2;
  28.             if ( v8 == ObjLen )
  29.               break;
  30.             v10 = *(_WORD *)v9;
  31.             v5 = v9 + *(_WORD *)v9 + 2;
  32.             v6 += v10 + 4;
  33.             if ( (unsigned int)(unsigned __int16)v6 + 4 > MaxLen )
  34.               return v14;
  35.           }
  36.           v11 = *(_WORD *)v9;
  37.           if ( v11 <= *DstLen )
  38.           {
  39.             v12 = (const void *)(v9 + 2);
  40.             qmemcpy(Dst, v12, 4 * (v11 >> 2));
  41.             v14 = (int)((char *)v12 + v11);
  42.             v7 = DstLen;
  43.             qmemcpy((char *)Dst + 4 * (v11 >> 2), (char *)v12 + 4 * (v11 >> 2), v11 & 3);
  44.           }
  45.           *v7 = v11;
  46.         }
  47.       }
  48.     }
  49.   }
  50.   return v14;
  51. }
复制代码


数据较多,于是打算写脚本,得到:
r@eax=0x81922000;
r@$t1=@eax+0x10;

.while @$t1 < @eax + (poi(@eax) & 0xFFFF) {du @$t1+0x20;r@$t1=@$t1 + 4 + (poi(@$t1+2) & 0xFFFF);}

结果:
81922030  "C:\WINDOWS\system32\drivers\etc\"
81922070  "hosts."
8192209e  "C:\WINDOWS\tasks\*.job."
819220ee  "C:\WINDOWS\system32\tasks\*."
81922148  "C:\Documents and Settings\*\「开始」"
81922188  "菜单\*."
819221b4  "C:\Documents and Settings\*\Star"
819221f4  "t Menu\*."
81922228  "C:\Users\*\AppData\Roaming\Micro"
81922268  "soft\Windows\Start Menu\*."
819222be  "%PROGRAMDATA%\Microsoft\Windows\"
819222fe  "Start Menu\*."
8192233a  "C:\Documents and Settings\*\「开始」"
8192237a  "菜单\程序\启动\*."
819223b2  "C:\Documents and Settings\*\Star"
819223f2  "t Menu\Programs\Startup\*."
81922448  "C:\Users\*\AppData\Roaming\Micro"
81922488  "soft\Windows\Start Menu\Programs"
819224c8  "\Startup\*."
81922500  "%PROGRAMDATA%\Microsoft\Windows\"
81922540  "Start Menu\Programs\Startup\*."
8192259e  "C:\Program Files\WinRAR\RarExt.d"
819225de  "ll."
81922606  "C:\WINDOWS\system32\Macromed\Fla"
81922646  "sh\*.ocx."
8192267a  "C:\WINDOWS\SysWOW64\Macromed\Fla"
819226ba  "sh\*.ocx."
819226ee  "C:\WINDOWS\system32\GroupPolicy\"
8192272e  "User\Scripts\logon\*."
8192277a  "C:\WINDOWS\system32\GroupPolicy\"
819227ba  "User\Scripts\logoff\*."
81922808  "C:\WINDOWS\system32\GroupPolicy\"
81922848  "Machine\Scripts\Startup\*."
8192289e  "C:\WINDOWS\system32\GroupPolicy\"
819228de  "Machine\Scripts\Shutdown\*."
81922936  "c:\boot.ini."
81922970  "c:\ntdetect.com."
819229b2  "c:\ntldr."
819229e6  "c:\ntbootdd.sys."
81922a28  "c:\pagefile.sys."
81922a6a  "c:\hiberfil.sys."
81922aac  "c:\bootmgr."
81922ae4  "C:\Program Files\Outlook Express"
81922b24  "\*.dll."
81922b54  "C:\Program Files\Outlook Express"
81922b94  "\*.exe."
81922bc4  "C:\Program Files (x86)\Windows N"
81922c04  "T\*\*.dll."
81922c3a  "C:\Program Files (x86)\Windows N"
81922c7a  "T\*\*.exe."
81922cb0  "C:\Program Files (x86)\Windows N"
81922cf0  "T\*.dll."
81922d22  "C:\Program Files (x86)\Windows N"
81922d62  "T\*.exe."
81922d94  "C:\Program Files\Windows NT\*\*."
81922dd4  "exe."
81922dfe  "C:\Program Files\Windows NT\*\*."
。。。

怎么拼成完成字符串呢?
先列编辑去掉地址,然后notepad++用\1替换"\r\n"([^C])  搞定
回复

使用道具 举报

0

主题

41

帖子

45

积分

用户组: 初·技术宅

UID
3351
精华
0
威望
2 点
宅币
0 个
贡献
0 次
宅之契约
0 份
在线时间
0 小时
注册时间
2018-1-14
发表于 2018-1-14 15:33:52 | 显示全部楼层
可以可以!!
回复

使用道具 举报

本版积分规则

QQ|申请友链||Archiver|手机版|小黑屋|技术宅的结界 ( 滇ICP备16008837号 )|网站地图  

GMT+8, 2020-7-5 21:52 , Processed in 0.092543 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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