Embird32 防破解技術的分析 (8千字)
Embird32 防破解技術的分析
應皮大客的要求,寫了一篇關於如何在破解Embird32中Anti-Debug的教程.因本人最近學習比較緊張,
所以這篇教程寫的就不那麼詳細了,抱歉!我只將它的關鍵部分列出,希望皮大客不要再“誇”我了。;-)
第一部分:在軟體啟動時的Anti-Debug,它依然使用比較通用的防破解技術,用CREATEFILEA查SICE和TRW。
各位在跟蹤時要根椐你的偵錯程式進行選擇性的修改,不能將所有的CREATEFILEA後面的JZ都改成JMP。這點一定要注意。
==============================================================================
016F:00D821B8 5C 5C 2E 5C 53 49 43 45-00 00 00 00 70 54 54 00 \\.\SICE....pTT.
==============================================================================
0167:004961CB 50
PUSH EAX
0167:004961CC E8530BF7FF CALL
KERNEL32!CreateFileA ;防SICE。
0167:004961D1 83F8FF CMP
EAX,-01
0167:004961D4 740C
JZ 004961E2
0167:004961D6 50
PUSH EAX
0167:004961D7 E8300BF7FF CALL
KERNEL32!CloseHandle
0167:004961DC C645FA01 MOV
BYTE PTR [EBP-06],01
0167:004961E0 EB6D
JMP 0049624F
0167:004961E2 8D45F0 LEA
EAX,[EBP-10]
0167:004961E5 BA30634900 MOV
EDX,00496330
0167:004961EA E8D1DBF6FF CALL
00403DC0
0167:004961EF 8D45F0 LEA
EAX,[EBP-10]
0167:004961F2 E84DC3FCFF CALL
00462544
0167:004961F7 6A00
PUSH 00
0167:004961F9 6880000000 PUSH
00000080 \
==============================================================================
016F:00D821A8 5C 5C 2E 5C 54 52 57 00-70 54 54 00 70 54 54 00 \\.\TRW.pTT.pTT.
==============================================================================
0167:004961F9 6880000000 PUSH
00000080
0167:004961FE 6A03
PUSH 03
0167:00496200 6A00
PUSH 00
0167:00496202 6A01
PUSH 01
0167:00496204 6800000080 PUSH
80000000
0167:00496209 8B45F0 MOV
EAX,[EBP-10]
0167:0049620C E85BDFF6FF CALL
0040416C
0167:00496211 50
PUSH EAX
0167:00496212 E80D0BF7FF CALL
KERNEL32!CreateFileA ;防TRW
0167:00496217 83F8FF CMP
EAX,-01
0167:0049621A 740C
JZ 00496228
0167:0049621C 50
PUSH EAX
0167:0049621D E8EA0AF7FF CALL
KERNEL32!CloseHandle
0167:00496222 C645FA01 MOV
BYTE PTR [EBP-06],01
0167:00496226 EB27
JMP 0049624F
0167:00496228 33C0
XOR EAX,EAX
0167:0049622A 55
PUSH EBP
0167:0049622B 6845624900 PUSH
00496245
0167:00496230 64FF30 PUSH
DWORD PTR FS:[EAX]
0167:00496233 648920 MOV
FS:[EAX],ESP
0167:00496236 CC
INT 3
0167:00496237 C645FA01 MOV
BYTE PTR [EBP-06],01
.
.
.
0167:00496289 68F8634900 PUSH
004963F8
0167:0049628E FF75F0 PUSH
DWORD PTR [EBP-10]
0167:00496291 8D45E4 LEA
EAX,[EBP-1C]
0167:00496294 BA04000000 MOV
EDX,00000004
0167:00496299 E8CADDF6FF CALL
00404068
0167:0049629E 8B45E4 MOV
EAX,[EBP-1C]
0167:004962A1 668B0DF4624900 MOV
CX,[004962F4]
0167:004962A8 B201
MOV DL,01
0167:004962AA E8693E0A00 CALL
0053A118 ;這裡將顯示第二個Error.
0167:004962AF C645FB01 MOV
BYTE PTR [EBP-05],01
0167:004962B3 E8D8440A00 CALL
0053A790
0167:004962B8 E85B370300 CALL
004C9A18
0167:004962BD 807DFB00 CMP
BYTE PTR [EBP-05],00
0167:004962C1 7408
JZ 004962CB
0167:004962C3 8B45FC MOV
EAX,[EBP-04]
第二部分:在進入軟體後還有防跟蹤技術,這次用的是_lcreat防SICE和TRW,其實和第一部分是一樣的
只是用的API不一樣。用這個API我也是第一次見到。
==============================================================================
016F:00D4B47C 5C 5C 2E 5C 73 69 63 65-00 00 00 00 26 00 00 00 \\.\sice....&...
==============================================================================
0167:0049CF20 50
PUSH EAX
0167:0049CF21 E866A0F6FF CALL
KERNEL32!_lcreat ;用_lcreat防SICE
0167:0049CF26 83F8FF CMP
EAX,-01
0167:0049CF29 740A
JZ 0049CF35
0167:0049CF2B 50
PUSH EAX
0167:0049CF2C E853A0F6FF CALL
KERNEL32!_lclose
0167:0049CF31 B301
MOV BL,01
0167:0049CF33 EB32
JMP 0049CF67
0167:0049CF35 8D45FC LEA
EAX,[EBP-04]
0167:0049CF38 BA60D14900 MOV
EDX,0049D160
0167:0049CF3D E87E6EF6FF CALL
00403DC0
0167:0049CF42 8D45FC LEA
EAX,[EBP-04]
0167:0049CF45 E8FA55FCFF CALL
00462544
0167:0049CF4A 6A01
PUSH 01
0167:0049CF4C 8B45FC MOV
EAX,[EBP-04]
=============================================================================
016F:00DE3B14 5C 5C 2E 5C 74 72 77 00-3E 01 00 00 60 2C 42 00 \\.\trw.>...`,B.
=============================================================================
0167:0049CF54 50
PUSH EAX
0167:0049CF55 E832A0F6FF CALL
KERNEL32!_lcreat ;用_lcreat防TRW
0167:0049CF5A 83F8FF CMP
EAX,-01
0167:0049CF5D EB08
JMP 0049CF67
0167:0049CF5F 50
PUSH EAX
0167:0049CF60 E81FA0F6FF CALL
KERNEL32!_lclose
0167:0049CF65 B301
MOV BL,01
0167:0049CF67 84DB
TEST BL,BL
0167:0049CF69 740C
JZ 0049CF77
0167:0049CF6B A164415400 MOV
EAX,[00544164]
0167:0049CF70 8B00
MOV EAX,[EAX]
0167:0049CF72 E80538FBFF CALL
0045077C
0167:0049CF77 80BE772E000000 CMP
BYTE PTR [ESI+00002E77],00
0167:0049CF7E E9EF000000 JMP
0049D072
0167:0049CF83 90
NOP
如果哪位想轉載本文,請保持文章的完整性!
gfh
2001.4.29
相關文章
- 手遊防破解防外掛技術方案(一)客戶端篇2020-07-23客戶端
- SMC技術在破解WINDOWS優化大師3.2A中的運用。 (8千字)2001-01-20Windows優化
- winimage完全破解 (8千字)2001-07-04
- Java 程式的破解方法 (8千字)2002-08-15Java
- 我的破解心得(8) (2千字)2001-03-13
- WMI 的攻擊,防禦與取證分析技術之防禦篇2020-08-19
- 智慧汽車安全風險及防護技術分析2020-08-13
- PwlTool的功能限制的破解---DDXia[CCG] (8千字)2001-03-10
- 智慧影片分析技術在安防領域的應用2019-05-27
- ARP病毒攻擊技術分析與防禦2006-11-14
- ThemeFreak V1.6破解 (8千字)2001-03-07
- 炒股理財1.65破解方法 (8千字)2001-04-13
- Trojan Remover 4.3.0破解手記 (8千字)2001-08-31REM
- 破解GIF Movie Gear 3.01 (8千字)2002-03-13
- 技術無罪的switch破解2019-03-18
- Centos8 加密 GRUB 防破解root密碼2020-12-09CentOS加密密碼
- Centos8加密GRUB防破解root密碼2020-08-31CentOS加密密碼
- 如何完美破解winhex9.73的功能限制! (8千字)2001-03-13
- 乾涸的(Asp maker version 2.2 破解手記) (8千字)2015-11-15
- Android逆向之旅---靜態分析技術來破解Apk2016-12-01AndroidAPK
- winxp總管破解筆記(一) (8千字)2002-10-07筆記
- 破解WS_FTP Pro 7.02 (8千字)2001-10-28FTP
- SeaMoon Pic Hunter 1.2破解手記 (8千字)2015-11-15
- 對VCDCUT 4.03的分析破解過程 (18千字)2001-08-08
- SentinelLM加密分析及破解方法 (3千字)2015-11-15加密
- 最新整理的微信域名防封技術,如何防遮蔽?2020-06-16
- 菜鳥破解錄之 GIF Construction Set Pro及演算法分析
(8千字)2000-09-01Struct演算法
- apt技術手段防禦2013-11-07APT
- Password Keeper v6.3破解過程 (8千字)2002-04-12
- 破解華琦庫管精靈1.2.4 (8千字)2000-09-11
- 使用KERNEL32.DLL破解???(譯文)
(8千字)2000-08-29
- 微信域名防封技術分享,微信中主流的微信域名防封技術都在這裡!2020-06-18
- 分析破解數字五筆3.0 (2千字)2002-04-17
- WMI 的攻擊,防禦與取證分析技術之攻擊篇2020-08-19
- Visual CHM 4.0的演算法“特別破解” (8千字)2015-11-15演算法
- Update NOW 2000 暴力破解方法! (8千字)2001-02-11
- MP3 to EXE v 2.6破解手記 (8千字)2001-09-08
- 用W32DASM破解JPEG Optimizer 4.0 (8千字)2000-02-21ASM