yangxh88 发表于 2008-7-22 18:32:48

这样的反编译有效吗?是不是A版U版都能反?

以下是罗卜的七哥说的:

其实到现在为止,我看到的版本都可以不是很费事的编译出来。

但各个版本之间有些小差异。

1、比较老的版本是ansi的,他的脚本从硬盘上读取来之后是一行一行的放在内存里,有个大的数组,存放每行的指针,这个只要找到加载的时候就能很简单的把他拉出来,dps里面的一些工具是这样的。

2、后来改成了unicode,原理一直,直接从内存里拉出来,拉出来就是原码。

3、后来在某个版本改了,改成了加密存放,但这时候不是一行一行的,而是一整块的。3.2.6的打断点到00406b73,这时候ebx就是那个整块,第一个整数是一共多少行。3.2.8到406c15处打断点,其他跟3.2.6一样。

dprep3.5在004071c1的地方打断点即可。

newprep在407073的地方打断点。

加密算法我也破解出来了:

下面是主要函数:

AuType *AuType::CreateAuType(puchar &pbuf)
{
unsigned char autype=*pbuf;
pbuf++;
switch(autype)
{
case 0x05:
return new AuTypeInt(pbuf);
case 0x30:
return new AuTypeKeyword(pbuf);
case 0x31:
return new AuTypeString(pbuf);
case 0x32:
return new AuTypePredefinedVar(pbuf);
case 0x33:
return new AuTypeVar(pbuf);
case 0x34:
return new AuTypeFuncName(pbuf);
case 0x35:
return new AuTypeStringParamUnknown(pbuf);
case 0x36:
return new AuTypeStringParam(pbuf);
case 0x37:
return new AuTypeStringParamOpt(pbuf);
case 0x40:
return new AuTypeCommaTok(pbuf);
case 0x41:
return new AuTypeEqualTok(pbuf);
case 0x42:
return new AuTypeGreaterTok(pbuf);
case 0x43:
return new AuTypeLesserTok(pbuf);
case 0x44:
return new AuTypeNotEqualTok(pbuf);
case 0x45:
return new AuTypeGreatOrEqualTok(pbuf);
case 0x46:
return new AuTypeLessOrEqualTok(pbuf);
case 0x4c:
return new AuTypeMultTok(pbuf);
case 0x47:
return new AuTypeParams(pbuf);
case 0x49:
return new AuTypeAddTok(pbuf);
case 0x4a:
return new AuTypeMinusTok(pbuf);
case 0x4b:
return new AuTypeDivTok(pbuf);
case 0x4d:
return new AuTypeAndTok(pbuf);
case 0x4e:
return new AuTypeSubScipt(pbuf);
case 0x56:

//这个是&=,是后来的版本加的吧,一开始不知道,想了半天,真晕。
return new AuTypeUnknown2(pbuf);
default:

//这个地方不会到,到的话说明au3有新的东东出来了。OK,一切搞定了。
printf("Unknown %d\r\n",autype);
}
return NULL;
}

这样的反编译是不是A版U版都能反?新版有什么防范措施.

[ 本帖最后由 yangxh88 于 2008-7-23 21:22 编辑 ]

pcbar 发表于 2008-7-22 18:56:22

我可以很负责的告诉你,这个"罗卜的七哥",很费事也反编不出任何一个版本的au3源码.

yangxh88 发表于 2008-7-22 19:26:36

谢谢..看帮助里说3.2.6及以上的版本非常难反.

llztt 发表于 2008-7-22 19:47:48

萝卜的七哥, 是不是自由天空的七猫??

yangxh88 发表于 2008-7-22 20:33:11

现在关心的是能不能反的问题.

make2855 发表于 2008-7-22 21:54:36

pcbar说的一定是对的,各位别担心

sanhen 发表于 2008-7-22 21:59:57

pcbar说法不大正确。旧版的还有专门工具反呢。新版的暂时,没看到有人反。

不过技术方面,从来没有绝对的。混淆代码还一样可以反编。不过现在新版的,你想这么简单的拿到源代码,是不大可能的事情了。

yangxh88 发表于 2008-7-22 22:07:01

谢谢三恨,那3.2.8这个版本安全吗?A版安全还是U版?

yangxh88 发表于 2008-7-23 08:12:30

麻烦三恨老大再回答一下吧.谢谢..

yangxh88 发表于 2008-7-24 13:39:17

再次关注:face (30): :face (29):

52computer 发表于 2009-3-8 21:14:33

:face (13):

xrbenbeba 发表于 2009-3-8 21:22:57

关注中:face (36):

59993330 发表于 2009-3-9 17:59:29

:face (29):关注中

hujh00hujh 发表于 2010-3-16 12:37:41

:face (20):过路.
页: [1]
查看完整版本: 这样的反编译有效吗?是不是A版U版都能反?