对加密壳acprotectOEP处理

核心提示:菜驹acprotect OEP壳玩加密处理:添加文件和下载附件PDF1。加密过程:acproctect V1.41版本的分析过程偷2 OEP。入口点代码:加载后,企业名称= 00…
食品加工也acprotect柯尔特加密壳OEP

下载:添加文件和PDF



1。加密过程:

acproctect V1.41版



分析切入点代码偷OEP



2。分析过程:

加载后,企业名称= 00412000

00412000、60 pushad

00412001 E8 01000000呼叫vcmfc图书馆1.00412007

00412006 - 7e 83省xvcmfc图书馆1.00411f8b

004120080424添加Al、0x24

0041200a 06推ES

0041200b C3基因

0041200c 7701 JA xvcmfc图书馆1.0041200f

0041200e 43公司EBX

0041200f FC CLD

004120107501 xvcmfc JNZ图书馆1.00412013

入口点在shell段中(地址:00412000,大小:19000)



根据壳体的特点,在00412001小时ESP

来这里:

0041254a 56推ESI

0041254b 8f05 a1294100流行DWORD PTR DS:{ 0x4129a1 }

0041255160 pushad

004125527803 JS xvcmfc图书馆1.00412557

004125547901该xvcmfc图书馆1.00412557

00412556日本xvcmfc 7B 40图书馆1.00412598



你可以看到pushad,删除硬件断点后,在pushad HR ESP下

来这里:

0042775351推ECX

00427754 8f05 89284100流行DWORD PTR DS:{ 0x412889 };{ 889 } = ECX

60 pushad 0042775a

61 0042775b POPAD

0042775c 51推ECX

0042775d 8f05 cd294100流行DWORD PTR DS:{ 0x4129cd };{ } = ECX 9cd

00427763 ff35 cd294100推DWORD PTR DS:{ 0x4129cd }

004277698915 e1284100 MOV DWORD PTR DS:{ 0x4128e1 },EDX

0042776f ff35 e1284100推DWORD PTR DS:{ 0x4128e1 }

0042777556推ESI

00427776 11294100乐章ESI,VCMFC图书馆1.00412911

0042777b 8bd6 mov EDX,ESI

0042777d 5e弹出

0042777e 52推EDX

0042777f 59 pop ecx;ECX EDX = 412911 =

00427780 8f05 3d284100流行DWORD PTR DS:{ 0x41283d }

00427786 8b15 3d284100 mov EDX,DWORD PTR DS:{ 0x41283d }

0042778c 8929乐章DWORD PTR DS:{ ECX },{ 412911 } = EBP EBP;

0042778e 8f05 a12a4100流行DWORD PTR DS:{ 0x412aa1 }

0042779456推ESI

00427795是a12a4100 MOV ESI,1.00412aa1 vcmfc图书馆

0042779a 8b0e mov ecx,DWORD PTR DS:{ - }

0042779c 5e弹出

0042779d ff35 11294100推DWORD PTR DS:{ 0x412911 };这个地方是偷来的代码pushebp第一件

004277a3 8925 192b4100 MOV DWORD PTR DS:{ 0x412b19 },ESP

90 004277a9 NOP

90 004277aa NOP

60 pushad 004277ab

004277ac E8 01000000电话1.004277b2 vcmfc图书馆

004277b1 ^ 7783 JA xvcmfc图书馆1.00427736

注意三的pushad NOP NOP指令,这意味着,这意味着这是偷来的代码开始。当然,这里的NOP是随机填充,也许没有,也许有,也许有,也许很多…关键是pushad指令。



在NOP所有指令复制到二进制存储。

0042775351推ECX

00427754 8f05 89284100流行DWORD PTR DS:{ 0x412889 };{ 889 } = ECX

60 pushad 0042775a

61 0042775b POPAD

0042775c 51推ECX

0042775d 8f05 cd294100流行DWORD PTR DS:{ 0x4129cd };{ } = ECX 9cd

00427763 ff35 cd294100推DWORD PTR DS:{ 0x4129cd }

004277698915 e1284100 MOV DWORD PTR DS:{ 0x4128e1 },EDX

0042776f ff35 e1284100推DWORD PTR DS:{ 0x4128e1 }

0042777556推ESI

00427776 11294100乐章ESI,VCMFC图书馆1.00412911

0042777b 8bd6 mov EDX,ESI

0042777d 5e弹出

0042777e 52推EDX

0042777f 59 pop ecx;ECX EDX = 412911 =

00427780 8f05 3d284100流行DWORD PTR DS:{ 0x41283d }

00427786 8b15 3d284100 mov EDX,DWORD PTR DS:{ 0x41283d }

0042778c 8929乐章DWORD PTR DS:{ ECX },{ 412911 } = EBP EBP;

0042778e 8f05 a12a4100流行DWORD PTR DS:{ 0x412aa1 }

0042779456推ESI

00427795是a12a4100 MOV ESI,1.00412aa1 vcmfc图书馆

0042779a 8b0e mov ecx,DWORD PTR DS:{ - }

0042779c 5e弹出

0042779d ff35 11294100推DWORD PTR DS:{ 0x412911 };这个地方是偷来的代码pushebp第一件

004277a3 8925 192b4100 MOV DWORD PTR DS:{ 0x412b19 },ESP



此代码的二进制数据是:

51 8F 0589284100606151 8F 05 CD 294100 CD 2941008915 E1 FF FF 35 284100 35 410056 11294100栋8B E128 D6 5e 5259 8F 05 3D 284100栋8B 15 3D 2841008929 8F 05 A1 2A 410056 A1 2A 4100 8b 0e 5e FF 35112941008925 192B 4100







重复以上步骤,直到N次,如何确定N,我在这里经过弹出试用版的NAG。

在n次之间保存二进制数据。

00429106 / EB 01 JMP xvcmfc图书馆1.00429109

00429108 | E8 ff254b91叫918db70c

42公司0042910d EDX



00429106是在跳,F7进入

00429109 4b914200 FF25 JMP DWORD PTR DS:{ 0x42914b };vcmfc图书馆1.00405391

60 pushad 0042910f

00429110 E8 00000000呼叫vcmfc图书馆1.00429115

00429115座5E弹出

00429116 83ee 06子ESI,0x6

其中:

DS:{ 0042914b } = 00405391(vcmfc图书馆1.00405391)

这是一个很长的横截面,什么是横截面当前指令是00429109,它将跳转到00405391。



正如你可以看到从模块的原理图,它是跳跃的。困扰段的文本段执行..这是传说中的横截面。



所以,当你进入一段代码,这是传说中的伪OEP,和伪OEP是这样的。







然后把它扔掉

修复与进口记录下IAT,没有解决问题的转储文件



进口记录将添加该文件的mackt部分,其中包含输入表的大小是1000,和输入表不能占用太多空间。我们会把被盗的代码放在这一部分。

开放dump_修复。exe与OD,在0042b000部分找到一个空位置。

我在找0042bba0,把二进制的顶部,并添加一个JMP 00405391(跳到伪OEP)。

0042bebf EAX 58流行

8908 0042bec0 MOV EAX DWORD PTR DS:{ },ECX

0042bec2 A1 a4604000 mov eax,DWORD PTR DS:{ 0x4060a4 }

0042bec7 - E9 c594fdff JMP dumped_。



使用负载PE修改入口点0042bba0,OK,完成。







保存所有二进制数据:

0042775351推ECX

00427754 8f05 89284100流行的DWORD ptrds:{ 0x412889 };{ 889 } = ECX

60 pushad 0042775a

61 0042775b POPAD

0042775c 51推ECX

0042775d 8f05 cd294100流行DWORD ptrds:{ 0x4129cd };{ } = ECX 9cd

00427763 ff35 cd294100推DWORD ptrds:{ 0x4129cd }

004277698915 e1284100 MOV DWORD ptrds:{ 0x4128e1 },EDX

0042776f ff35 e1284100推DWORD ptrds:{ 0x4128e1 }

0042777556推ESI

00427776 11294100乐章ESI,VCMFC图书馆1.00412911

0042777b 8bd6 mov EDX,ESI

0042777d 5e弹出

0042777e 52推EDX

0042777f 59 pop ecx;ECX EDX = 412911 =

00427780 8f05 3d284100流行DWORD ptrds:{ 0x41283d }

00427786 8b15 3d284100 mov EDX,DWORD ptrds:{ 0x41283d }

8929乐章0042778c DWORD ptrds:{ ECX },{ 412911 } = EBP EBP;

0042778e 8f05 a12a4100流行DWORD ptrds:{ 0x412aa1 }

0042779456推ESI

00427795是a12a4100 MOV ESI,1.00412aa1 vcmfc图书馆

0042779a 8b0e mov ecx,esi DWORD ptrds:{ }

0042779c 5e弹出

0042779d ff35 11294100推DWORD ptrds:{ 0x412911 };这个地方是被偷走的第一个代码,pushebp

004277a3 8925 192b4100 MOV DWORD ptrds:{ 0x412b19 },ESP



51 8F 0589284100606151 8F 05 CD 294100 CD 2941008915 E1 284100 FF FF 35 35 E1 28

410056是11294100栋8B D6 5e 5259 8f05 3D 284100 8B 15 3D 2841008929 8f 05 A1 2A 41

0056是A1 2A 4100 8b 0e 5e FF 3511294100892519 2B 4100



FF 3519 2B 4100 8F 05 C1 29410056 BEC1 294100栋8B 2e 5e 9d 57高炉29410089号1F 5F 35

9d 294100893531284100 FF FF FF FF FF 353128410068 5e 893599 2a 4100栋8B 1d 99 2a

4100 8F 05 0d 2A 4100 8B 35 0d 2A 410057



89 1C 24 8F 0505294100 8F 0519284100 FF FF 35052941008905 D5 2a 3519284100栋5B

4100 FF 35 D5 2A 410089 3C 2489 0c 24c7 0424 A0 61400057 8F 05 E1 2A 4100 FF 35 E1

410089 1C 24 C7 0424 C0 544000



64 A1 00000000 8905 A5 294100 FF 35a5 29410089 1C 2489 0d 85 2A 4100 FF 3585 2A 41

0057高炉91294100栋8B CF 5F 56 8b F1 8bde 5e 8b 0C 24 05 41008903 24 05 8f B5 B5

埃德284100法郎3591294100



6489250000000083 EC 6853 8F 05 d529 4100 FF 35 D5 294100 8F 0599284100 FF 3599

28410057890424 8F 0565294100 ff35 6529410089342452 8F 05 F1 284100 FF 35 F1

28410089三维C9 2A 4100 FF 35 C9 2A 4100



56 8F 0531 2a 4100606168 E5 2A 41 005f 51栋8B CF 8b D1 59 8F 05 B9 284100 8B 284100 8B 2841

0089个3A 8f 05 D1 28410053 BB D1 284100栋8B 13号5B FF 35 E5 2A 41008965 E8 33分贝89

891585294100 FF 358529410089342453 89142450 B8 0200000060



8b D0 5852座5E 8f 0501 2a 4100 8B 15 012a 41005689142450 B8 25294100栋8B D0 588932

8f 05广告294100广告294100栋8B 8B 15 3424 8F 05 B9 2A 4100 3525294100 FF FF 15986040

00 8F 050129410050 B8 5d 2A 4100893858



FF 35 5d 2A 410051 C7 0424012941 008f 0585284100栋8B 3D 85284100 8b 0f 8b 3C 24 8f

056129410083 0d B4 F1 4000 FF 83 0db8 F1 4000 FF FF FF 15 9C 6040008905 C1 284100

35 C1 28410057高炉35284100栋8B C7 5f89 30



8b 0424 8F 0541284100 FF 353528410050 8F 05 6D 2A 4100 FF 35 6D 2A 410089 3D 3928

4100 FF 353928410051 B9 7C 7140 008b F9 595758 5F 50座5E 8f 05 2D 2A 4100 8b 05 2D

4100栋8B 0e 8f 0511 2B 4100 FF 3511 2b41 00



55 8F 0525 2B 41006061座5E 8908 FF 15a0 60400052 8F 0555 2a 4100 FF 3555 2a 4100 C7

052929410078714000 FF 3529294100 8F 0535 2a 4100栋8B 1535 2a 4100栋8B 0a 8f 05 C9

28410050 B8 C9 284100 8B 105889 08a1 A4 604000