首页
社区
课程
招聘
[讨论]反逆向学习(3)
2008-9-6 00:10 39450

[讨论]反逆向学习(3)

2008-9-6 00:10
39450
我认为第三题难了,不知你感觉怎样,做做看看
在没做之前运行看看,下面的代码得到的结果几乎
和icesword列出的内核模块一样.其实//...后面的代码可以改成你任意想加密的代码
我之所以用这代码,只是让大家有兴趣点,icesword也不简单啊!至少不至于做的老是MessagegBoxA

#include <windows.h>
#include <stdio.h>

typedef struct _SYSTEM_MODULE_INFORMATION
{
  ULONG  haras0[2];  //00
  PVOID  ImageBase; //08
  ULONG  ImageSize; //12
  ULONG  Flags;     //16
  USHORT haras1;    //20
  USHORT haras2;    //22
  USHORT haras3;    //24
  USHORT OffsetToFileName; //26
    CHAR   FullPathName[256]; //28 
}SYSTEM_MODULE_INFORMATION,*PSYSTEM_MODULE_INFORMATION; //284

typedef unsigned long (_stdcall* ZWQUERYSYSTEMINFORMATION)(int SystemInformationClass,
          PVOID SystemInformation,ULONG SystemInformationLength,PULONG ReturnLength);

void main()
{

    //...在这里添加代码,让IDA打开后在main函数中看不到多少反汇编代码
  //你也可以在main函数中别的地方添加,不一定要在开头这里,只要不超出main就可以了

  HMODULE Mod_Ntdll=GetModuleHandle("ntdll.dll");

  ZWQUERYSYSTEMINFORMATION ZwQuerySystemInformation=
         (ZWQUERYSYSTEMINFORMATION )GetProcAddress(Mod_Ntdll,"ZwQuerySystemInformation");

  unsigned long Length;  
  ZwQuerySystemInformation(11,0,0,&Length);

    void* buffer =malloc(Length);

  ZwQuerySystemInformation(11,buffer,Length,0);

  PSYSTEM_MODULE_INFORMATION Module_Info =(PSYSTEM_MODULE_INFORMATION)((PULONG)buffer + 1);

  for(unsigned long i = 0;i<*((PULONG)buffer);i++)
  {
      printf("0x%x %s\n",Module_Info[i].ImageBase,Module_Info[i].FullPathName);
  }

你可以用任何方法,加花,opcode,脚本...只要不让出现太多汇编代码就可以
你可以看看加密加壳软件(例PECompact)加密了的EXE用IDA打开后看到的样子,代码视为数据
下面我上传我的图像(vc6.0 release IDA5.2),

差不多像这样,因为我感觉很多加壳软件加密了后IDA打开后看到
的代码视为数据,所以这题也应像这样.

有兴趣的跟帖写上代码

[培训]二进制漏洞攻防(第3期);满10人开班;模糊测试与工具使用二次开发;网络协议漏洞挖掘;Linux内核漏洞挖掘与利用;AOSP漏洞挖掘与利用;代码审计。

上传的附件:
收藏
点赞7
打赏
分享
最新回复 (84)
雪    币: 6073
活跃值: (2236)
能力值: (RANK:1060 )
在线值:
发帖
回帖
粉丝
forgot 26 2008-9-6 00:14
2
0
毫无用处,楼主别在这种题上浪费青春了
雪    币: 7300
活跃值: (3758)
能力值: (RANK:1130 )
在线值:
发帖
回帖
粉丝
海风月影 22 2008-9-6 00:17
3
0
苦海无涯
回头是岸
雪    币: 342
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
haras 2008-9-6 00:21
4
0
modify...
雪    币: 242
活跃值: (418)
能力值: ( LV11,RANK:188 )
在线值:
发帖
回帖
粉丝
XPoy 3 2008-9-6 01:23
5
0
非也。。

练习破解需要crackme
联系算法跟踪需要kengenme
联系逆向需要reverseme

LZ只是想练练兵而已,只不过方式比较大大咧咧,浪费是过了。

只是3篇了,全是反静态跟踪的例子..........
雪    币: 182
活跃值: (50)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
pathletboy 2 2008-9-6 01:26
6
0
不如直接VM了,研究这个确实有点浪费青春。
雪    币: 846
活跃值: (221)
能力值: (RANK:570 )
在线值:
发帖
回帖
粉丝
笨笨雄 14 2008-9-6 01:27
7
0
听从2楼,3楼教诲,不玩了
雪    币: 342
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
haras 2008-9-6 01:54
8
0
modify
雪    币: 709
活跃值: (2240)
能力值: ( LV12,RANK:1010 )
在线值:
发帖
回帖
粉丝
sudami 25 2008-9-6 08:34
9
0
用CV加下就行了.至于其他的....

雪    币: 398
活跃值: (343)
能力值: (RANK:650 )
在线值:
发帖
回帖
粉丝
shoooo 16 2008-9-6 09:47
10
0
楼上那些指指点点的都是大牛,都是过来人,都是有经验的人

我也喜欢指指点点
我家楼下有卖包子, 5毛钱一个,味道好, 便宜, 卫生
所以我选择每天早上直接买,没必要自己去做包子
自己做的成本不一定低, 也不一定好吃啊
雪    币: 8861
活跃值: (2369)
能力值: ( LV12,RANK:760 )
在线值:
发帖
回帖
粉丝
cvcvxk 10 2008-9-6 13:55
11
0
扭曲一下更爽~
雪    币: 8861
活跃值: (2369)
能力值: ( LV12,RANK:760 )
在线值:
发帖
回帖
粉丝
cvcvxk 10 2008-9-6 14:14
12
0
自己写编译器,我的编译器可以每条汇编插入3个花,IDA看到就是XX~~
雪    币: 709
活跃值: (2240)
能力值: ( LV12,RANK:1010 )
在线值:
发帖
回帖
粉丝
sudami 25 2008-9-6 15:06
13
0
要那么多花干么哦,驱动中花多了,影响效率啊....
雪    币: 342
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
haras 2008-9-6 16:31
14
0
modify
雪    币: 207
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
shxxxx 1 2008-9-6 16:59
15
0
LZ去这个链接下载附件(源码),然后编译一下,然后再用IDA5.2看看结果
http://bbs.pediy.com/showthread.php?t=66386

现在我有资格指点了吧?
这种技术只能忽悠忽悠人,没有什么实质的用处,熟练的人完全直接无视

高级技术随便就放出来,也就不是高级技术了
雪    币: 398
活跃值: (343)
能力值: (RANK:650 )
在线值:
发帖
回帖
粉丝
shoooo 16 2008-9-6 18:23
16
0
我来客观的评价一下吧
forgot写的代码对大多数人是没有用处的,这是因为forgot太超前,我们不理解
我的D盘有一个目录就叫forgot, 里面收藏了他很多很多东西,大部分我还没有实力看懂。
所以暂时只能收藏。 偶尔寂寞的时候,我会打开这个目录膜拜一下。

楼主贴第一题的时候, 我就觉得没啥用处, 对熟练的人完全无效果, 对新手的话,就算学了,也没有实际用途,现在到了第三题,我的感觉仍然是这样。
对软件开发者, 根本没有必要去学习怎么加花 怎么anti, 他们只要学习怎么更合理的使用vmp, 或cv或tmd就可以了。

最后,也是最重要的一点
现在的pediy, 一个贴子有没有很高的价值, 取决于这个贴子里是否有ccfer的回贴
同意的来顶啊
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
lOOp 2008-9-6 18:30
17
0
我是专门来顶楼上的。
雪    币: 7300
活跃值: (3758)
能力值: (RANK:1130 )
在线值:
发帖
回帖
粉丝
海风月影 22 2008-9-6 18:56
18
0
反逆向学习(3)的价值没有反逆向学习(2)大
http://bbs.pediy.com/showthread.php?t=71790&page=2
看18楼
雪    币: 846
活跃值: (221)
能力值: (RANK:570 )
在线值:
发帖
回帖
粉丝
笨笨雄 14 2008-9-6 19:07
19
0
我的D盘有一个目录就叫forgot


我来顶这句话的
雪    币: 212
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
AChinese 2008-9-6 19:10
20
0
对软件开发者, 根本没有必要去学习怎么加花 怎么anti, 他们只要学习怎么更合理的使用vmp, 或cv或tmd就可以了。

同意
雪    币: 8861
活跃值: (2369)
能力值: ( LV12,RANK:760 )
在线值:
发帖
回帖
粉丝
cvcvxk 10 2008-9-6 19:13
21
0
好看~~
强大的万花筒~~
雪    币: 8861
活跃值: (2369)
能力值: ( LV12,RANK:760 )
在线值:
发帖
回帖
粉丝
cvcvxk 10 2008-9-6 19:13
22
0
非常非常同意~
雪    币: 342
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
haras 2008-9-6 19:13
23
0
modify
雪    币: 8861
活跃值: (2369)
能力值: ( LV12,RANK:760 )
在线值:
发帖
回帖
粉丝
cvcvxk 10 2008-9-6 19:18
24
0
不编译成PE行不?我编译成另一种执行格式(我自己写我的格式的loader)
IDA自然看不出来了~~
雪    币: 846
活跃值: (221)
能力值: (RANK:570 )
在线值:
发帖
回帖
粉丝
笨笨雄 14 2008-9-6 19:32
25
0
在博弈模型里,恶性报复是最具破坏性的,只会将结果引向最坏的方向

演变成吵架贴对LZ来说是最坏的结果.即使你证明forgot没技术,shoooo没技术,cvcvxk没技术,那对你来说又有什么意义呢?

全是损人不利己的结果.

别人说什么,你不管,对你又有什么影响?

澄清一下:我听2,3楼的话是因为我根本不懂如何完成这一题

最后我猜CCFER也会在这个贴出现
游客
登录 | 注册 方可回帖
返回