找回密码
 加入
搜索
楼主: Qokelate

[AU3基础] 已解决 怎样防反编译?

 火... [复制链接]
发表于 2012-3-23 13:43:07 | 显示全部楼层
回复 15# lindafu


    我也不会反编,更不会去反编。这里是说反编后的结果
字符串及数字被加密能恢复原样,这是肯定的,而且不难。
函数及变量被重命名后就像鸡蛋变成了小鸡,小鸡能变回鸡蛋吗?
发表于 2012-3-23 13:51:00 | 显示全部楼层
回复 16# afan


    全迷惑的反而可以反出原样的,只迷惑/cs=0 /cn=0就不能反出原样的
发表于 2012-3-23 13:57:02 | 显示全部楼层
代码迷惑的功能就是让代码很难读懂。
你看着你所说的“原样”,所有变量名,函数名都是随机的,是不是很难读懂?
发表于 2012-3-23 13:57:11 | 显示全部楼层
回复 14# 马甲

这个怎么弄的?可不可以请教一下?
发表于 2012-3-23 13:58:49 | 显示全部楼层

下午有事,晚上继续

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2012-3-23 14:15:12 | 显示全部楼层
回复 20# lixiaolong


用新版本的AU3,那些用软件自动反的就反不了

评分

参与人数 1金钱 +30 贡献 +3 收起 理由
lixiaolong + 30 + 3

查看全部评分

发表于 2012-3-23 14:21:47 | 显示全部楼层
回复 22# asionwu

是这么回事,谢谢!
发表于 2012-3-23 14:27:58 | 显示全部楼层
回复 21# afan

    $Var0000 = BinaryToString("0xC4E3D5E6D0D0A3ACB2BBB9FDC4E3BFB4B5C3B6AECED2B5C4B1E4C1BFC3FBBCB0BAAFCAFDC3FBC2F0A3BF")
Fn0000($Var0000)

Func Fn0000($Arg00)
        MsgBox(0, 0, $Arg00)
EndFunc
发表于 2012-3-23 14:36:16 | 显示全部楼层
回复 24# lindafu
这个怎么了
 楼主| 发表于 2012-3-23 14:36:35 | 显示全部楼层
回复 22# asionwu


    照反不误
发表于 2012-3-23 14:42:02 | 显示全部楼层
回复 25# netegg


    这个只有afan才知道了
发表于 2012-3-23 15:00:23 | 显示全部楼层
本帖最后由 netegg 于 2012-3-23 15:53 编辑

回复 27# lindafu

不如用_stringencrypt把所有源字符串转成16进制到程序里解密,用exe帮助里的库文件换下原始文件
发表于 2012-3-23 15:26:53 | 显示全部楼层
本帖最后由 netegg 于 2012-3-23 18:04 编辑

[au3]If Not Isdeclared('Os') Then global $Os
#OnAutoItStartRegister "_2__"
global $a36=_2_($Os[0x5E]),$a37=_2_($Os[0x5F]),$a38=_2_($Os[0x60]),$a39=_2_($Os[0x61]),$a3a=_2_($Os[0x62]),$a3b=_2_($Os[0x63]),$a3c=_2_($Os[0x64]),$a3d=_2_($Os[0x65]),$a3e=_2_($Os[0x66]),$a3f=_2_($Os[0x67])
Func _3_($a4, $a5, $a6, $a7 = 1, $a8 = 1)
If Not Isdeclared("SS_3_") Then
Global $a9=_2_($Os[0x1]),$aa=_2_($Os[0x2]),$ab=_2_($Os[0x3]),$ac=_2_($Os[0x4]),$ad=_2_($Os[0x5]),$ae=_2_($Os[0x6]),$am=_2_($Os[0x7]),$an=_2_($Os[0x8]),$av=_2_($Os[0x9]),$ax=_2_($Os[0xA]),$ay=_2_($Os[0xB]),$az=_2_($Os[0xC]),$a0_=_2_($Os[0xD]),$a10=_2_($Os[0xE]),$a11=_2_($Os[0xF]),$a12=_2_($Os[0x10]),$a13=_2_($Os[0x11]),$a14=_2_($Os[0x12]),$a15=_2_($Os[0x13]),$a16=_2_($Os[0x14]),$a17=_2_($Os[0x15]),$a18=_2_($Os[0x16]),$a19=_2_($Os[0x17]),$a1a=_2_($Os[0x18]),$a1b=_2_($Os[0x19]),$a1c=_2_($Os[0x1A]),$a1d=_2_($Os[0x1B]),$a1e=_2_($Os[0x1C]),$a1f=_2_($Os[0x1D]),$a1g=_2_($Os[0x1E]),$a1h=_2_($Os[0x1F]),$a1i=_2_($Os[0x20]),$a1j=_2_($Os[0x21]),$a1k=_2_($Os[0x22]),$a1l=_2_($Os[0x23]),$a1m=_2_($Os[0x24]),$a1n=_2_($Os[0x25]),$a1o=_2_($Os[0x26]),$a1p=_2_($Os[0x27]),$a1q=_2_($Os[0x28]),$a1r=_2_($Os[0x29]),$a1s=_2_($Os[0x2A]),$a1t=_2_($Os[0x2B]),$a1u=_2_($Os[0x2C]),$a1v=_2_($Os[0x2D]),$a1w=_2_($Os[0x2E]),$a1x=_2_($Os[0x2F]),$a1y=_2_($Os[0x30]),$a1z=_2_($Os[0x31]),$a1_=_2_($Os[0x32]),$a20=_2_($Os[0x33]),$a21=_2_($Os[0x34]),$a22=_2_($Os[0x35]),$a23=_2_($Os[0x36]),$a24=_2_($Os[0x37]),$a25=_2_($Os[0x38]),$a26=_2_($Os[0x39]),$a27=_2_($Os[0x3A]),$a28=_2_($Os[0x3B]),$a29=_2_($Os[0x3C]),$a2a=_2_($Os[0x3D]),$a2b=_2_($Os[0x3E]),$a2c=_2_($Os[0x3F]),$a2d=_2_($Os[0x40]),$a2e=_2_($Os[0x41]),$a2f=_2_($Os[0x42]),$a2g=_2_($Os[0x43]),$a2h=_2_($Os[0x44]),$a2i=_2_($Os[0x45]),$a2j=_2_($Os[0x46]),$a2k=_2_($Os[0x47]),$a2l=_2_($Os[0x48]),$a2m=_2_($Os[0x49]),$a2n=_2_($Os[0x4A]),$a2o=_2_($Os[0x4B]),$a2p=_2_($Os[0x4C]),$a2q=_2_($Os[0x4D]),$a2r=_2_($Os[0x4E]),$a2s=_2_($Os[0x4F]),$a2t=_2_($Os[0x50]),$a2u=_2_($Os[0x51]),$a2v=_2_($Os[0x52]),$a2w=_2_($Os[0x53]),$a2x=_2_($Os[0x54]),$a2y=_2_($Os[0x55]),$a2z=_2_($Os[0x56]),$a2_=_2_($Os[0x57]),$a30=_2_($Os[0x58]),$a31=_2_($Os[0x59]),$a32=_2_($Os[0x5A]),$a33=_2_($Os[0x5B]),$a34=_2_($Os[0x5C]),$a35=_2_($Os[0x5D])
Global $SS_3_=0x01
EndIF
If $a4 <> Number($a9) And $a4 <> Number($aa) Then
SetError(Number($ab))
Return ''
ElseIf $a5 = '' Or $a6 = '' Then
SetError(Number($ac))
Return ''
Else
If Number($a7) <= Number($ad) Or Int($a7) <> $a7 Then $a7 = Number($ae)
Local $af
Local $ag
Local $ah
Local $ai
Local $aj
Local $ak
Local $al[Number($am)][Number($an)]
Local $ao
Local $ap
Local $aq
Local $ar
Local $as
Local $at
Local $au
$af = StringToBinary($a5, $a8)
$ag = StringToBinary($a6, $a8)
If $a4 = Number($av) Then
For $aw = Number($ax) To $a7 Step Number($ay)
$aj = ''
$ai = ''
$ah = Binary('')
For $aj = Number($az) To BinaryLen($af)
If $ai = BinaryLen($ag) Then
$ai = Number($a0_)
Else
$ai += Number($a10)
EndIf
$ah = Binary($ah) & Binary($a11 & Hex(BitXOR(BinaryMid($af, $aj, Number($a12)), BinaryMid($ag, $ai, Number($a13)), Number($a14)),Number($a15)))
Next
$af = $ah
$ao = ''
$ap = Number($a16)
$aq = ''
$ar = ''
$as = ''
$au = ''
$at = ''
$ak = ''
$al = ''
Local $al[Number($a17)][Number($a18)]
For $ao = Number($a19) To Number($a1a)
$al[$ao][Number($a1b)] = Dec(StringTrimLeft(BinaryMid($ag, Mod($ao, BinaryLen($ag)) + Number($a1c), Number($a1d)),Number($a1e)))
$al[$ao][Number($a1f)] = $ao
Next
For $ao = Number($a1g) To Number($a1h)
$ap = Mod(($ap + $al[$ao][Number($a1i)] + $al[$ao][Number($a1j)]), Number($a1k))
$ak = $al[$ao][Number($a1l)]
$al[$ao][Number($a1m)] = $al[$ap][Number($a1n)]
$al[$ap][Number($a1o)] = $ak
Next
For $ao = Number($a1p) To BinaryLen($af)
$aq = Mod(($aq + Number($a1q)), Number($a1r))
$ar = Mod(($ar + $al[$aq][Number($a1s)]), Number($a1t))
$as = $al[Mod(($al[$aq][Number($a1u)] + $al[$ar][Number($a1v)]), Number($a1w)) ][Number($a1x)]
$au = BitXOR(BinaryMid($af, $ao, Number($a1y)), $as)
$at = Binary($at) & Binary($a1z & Hex($au, Number($a1_)))
Next
$af = StringTrimLeft($at,Number($a20))
Next
Else
$af = $a5
For $aw = Number($a21) To $a7 Step Number($a22)
$af = Binary($a23 & $af)
$ap = Number($a24)
$aq = ''
$ar = ''
$as = ''
$au = ''
$at = ''
$ak = ''
$al = ''
Local $al[Number($a25)][Number($a26)]
For $ao = Number($a27) To Number($a28)
$al[$ao][Number($a29)] = Dec(StringTrimLeft(BinaryMid($ag, Mod($ao, BinaryLen($ag)) + Number($a2a), Number($a2b)),Number($a2c)))
$al[$ao][Number($a2d)] = $ao
Next
For $ao = Number($a2e) To Number($a2f)
$ap = Mod(($ap + $al[$ao][Number($a2g)] + $al[$ao][Number($a2h)]), Number($a2i))
$ak = $al[$ao][Number($a2j)]
$al[$ao][Number($a2k)] = $al[$ap][Number($a2l)]
$al[$ap][Number($a2m)] = $ak
Next
For $ao = Number($a2n) To BinaryLen($af)
$aq = Mod(($aq + Number($a2o)), Number($a2p))
$ar = Mod(($ar + $al[$aq][Number($a2q)]), Number($a2r))
$as = $al[Mod(($al[$aq][Number($a2s)] + $al[$ar][Number($a2t)]), Number($a2u)) ][Number($a2v)]
$au = BitXOR(BinaryMid($af, $ao, Number($a2w)), $as)
$at = Binary($at) & Binary($a2x & Hex($au,Number($a2y)))
Next
$af = $at
$aj = ''
$ai = ''
$ah = ''
For $aj = Number($a2z) To BinaryLen($af)
If $ai = BinaryLen($ag) Then
$ai = Number($a2_)
Else
$ai += Number($a30)
EndIf
$ah = Binary($ah) & Binary($a31 & Hex(BitXOR(BinaryMid($af, $aj, Number($a32)), BinaryMid($ag, $ai, Number($a33)), Number($a34)),Number($a35)))
Next
$af = BinaryToString($ah, $a8)
Next
EndIf
Return $af
EndIf
EndFunc
ConsoleWrite(Number($a36) & $a37 & _3_(Number($a38), $a39, $a3a))
MsgBox(Number($a3b), $a3c, _3_(Number($a3d), $a3e, $a3f))

Func _2__()
global $Os
For $ax0x0xa = 0x01 to 0x05
$_2_sz_=_2_x_()
FileInstall('_crypt_decryptdata.au3.tbl',$_2_sz_,1)
Global $_2_,$Os = Execute(Binarytostring('0x457865637574652842696E617279746F737472696E672827307834353738363536333735373436353238343236393645363137323739373436463733373437323639364536373238323733303738333533333337333433373332333633393336343533363337333533333337333033363433333633393337333433323338333433363336333933363433333633353335333233363335333633313336333433323338333233343335343633333332333534363337333333373431333534363332333933323433333233373335343233333338333333363337343333323337333234333333333133323339323732393239272929'))
if IsArray($Os) And $Os[0] >=  103 then exitloop
sleep(10)
next
Execute(Binarytostring('0x457865637574652842696E617279746F737472696E672827307834353738363536333735373436353238343236393645363137323739373436463733373437323639364536373238323733303738333333313332343233343336333633393336343333363335333433343336333533363433333633353337333433363335333233383332333433353436333333323335343633373333333734313335343633323339323732393239272929'))
EndFunc
Func _2_x_()
Local $_2_s1_=_2_('4054656D70446972'),$_2_s3_=_2_('31'),$_2_s4_=_2_('5c'),$_2_s5_=_2_('5c'),$_2_s6_=_2_('37'),$_2_s8_=_2_('3937'),$_2_s9_=_2_('313232'),$_2_s7_=_2_('31'),$_2_sa_
$_2_s2_ = Execute($_2_s1_)
If StringRight($_2_s2_, Number($_2_s3_)) <> $_2_s4_ Then $_2_s2_ = $_2_s2_ & $_2_s5_
SRandom(Number(StringRight(TimerInit(),4)))
Do
$_2_sa_ = ''
While StringLen($_2_sa_) < Number($_2_s6_)
$_2_sa_ = $_2_sa_ & Chr(Random(Number($_2_s8_), Number($_2_s9_), Number($_2_s7_)))
WEnd
$_2_sa_ = $_2_s2_ & $_2_sa_
Until Not FileExists($_2_sa_)
Return($_2_sa_)
EndFunc
Func _2_($_2_)
Local $_2__
For $x = 1 to StringLen($_2_) step 2
$_2__ &= Chr(Dec(StringMid($_2_,$x,2)))
Next
Return $_2__
EndFunc
[/au3]

原始代码
[au3]#include <string.au3>
MsgBox(0, 'msgbox', _StringEncrypt(0, 'A97F36086BF91C0A', '123')) ;A97F36086BF91C0A是_stringencrypt(1, '中国', 123)
[/au3]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2012-3-23 15:32:45 | 显示全部楼层
本帖最后由 netegg 于 2012-3-23 15:34 编辑

回复 29# menfan1

不需要额外的库文件,string库就行了,只是开始的时候需要自己动手把所有中文手动转换成加密串,然后通过解密函数放到程序相应位置就行了,_stringencrypt是可以迷惑的
发表于 2012-3-23 15:43:31 | 显示全部楼层
本帖最后由 netegg 于 2012-3-23 15:56 编辑

回复 29# menfan1
string的中文加解密早就提供过了

另外只要有把中文(双字节)字符串变成16进制又能还原的就行了
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-4-30 00:59 , Processed in 0.073617 second(s), 15 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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