本电子书由友益在线文档资料管理系统开发,感谢您的使用
包含几千编关于数据库,系统,网络,控件使用,编程经验,编程技巧等方便的经典编程资料,是不可多得得的关于delphi的参考手册之一
如果在 X:\Program Files\Borland\Delphi7\Lib 发现有 SysConst.bak (12KB) 和
SysConst.dcu (18KB),那么恭喜你,中招了。
http://topic.csdn.net/u/20090817/20/102ba10b-82ae-472d-a0be-6d54ce6a331b.html
http://bbs.2ccc.com/topic.asp?topicid=330829
http://bbs.2ccc.com/topic.asp?topicid=330760
http://www.delphibbs.com/delphibbs/dispq.asp?lid=3972581
好有趣的感染方式,够可爱了~
今天群的人发了一条链接,关于许多人SysConst.dcu被感染.
被感染后的SysConst.dcu体积是18KB左右,正常的SysConst.dcu是12KB左右.
偷偷瞄了一下偶的SysConst.dcu,竟然被感染了,而且潜伏的时间应该超过4个月~
只是前两天卡巴更新病毒库,卡巴报病毒名为:Virus.Win32.Induc.a,大家才发觉有所不妥.
制作此软件的目的主要是为了能更方便的停车,为您节约时间的同时给您的QQ汽车带来更高的赢利.有了此软件您可以不用平凡的登陆QQ空间来操作停车位.可以自动停车,自动贴条,自动买车,自动换车,一键停车.
此软件为纯绿色软件,无须安装,不包含任何插件甚至后门.您可以放心的使用本软件.
常见脱壳知识:
1.PUSHAD (压栈) 代表程序的入口点
2.POPAD (出栈) 代表程序的出口点,与PUSHAD相对应,一般找到这个,说明OEP可能就在附近
3.OEP:程序的入口点,软件加壳就是隐藏了OEP(或者用了假的OEP),
只要我们找到程序真正的OEP,就可以立刻脱壳。
脱壳的几种方法:
方法一:单步跟踪
方法二:ESP定律脱壳
方法三:内存跟踪
方法四:跟踪出口法
方法五:最后一次异常法
方法六:懒人脱壳法
今天要脱的是PEncrypt 4.0加的壳,是一个记事本程序,这个记事本程序比较奇怪,令我的修复出现了一点点小的波折。
加壳的记事本程序下载地址: [点击浏览该文件:PEncrypt V4.0.rar]
首先PEID查壳,显示:PEncrypt 4.0 Gamma / 4.0 Phi -> junkcode [Overlay],有附加数据。然后用ollydbg载入,设置“调试选项”,在“异常”中,把所所有的勾都去掉,不要忽略异常。然后按shift+F9忽略异常运行,应该是按3次,这个记事本就运行了。
Ddelphi:
55 PUSH EBP
8BEC MOV EBP,ESP
83C4 F0 ADD ESP,-10
B8 A86F4B00 MOV EAX,PE.004B6FA8
VC++
55 PUSH EBP
8BEC MOV EBP,ESP
83EC 44 SUB ESP,44
56 PUSH ESI
VB:
00401166 - FF25 6C104000 JMP DWORD PTR DS:[<&MSVBVM60.#100>] ; MSVBVM60.ThunRTMain
0040116C > 68 147C4000 PUSH PACKME.00407C14
00401171 E8 F0FFFFFF CALL <JMP.&MSVBVM60.#100>
00401176 0000 ADD BYTE PTR DS:[EAX],AL
00401178 0000 ADD BYTE PTR DS:[EAX],AL
0040117A 0000 ADD BYTE PTR DS:[EAX],AL
0040117C 3000 XOR BYTE PTR DS:[EAX],AL
BC++
0040163C > $ /EB 10 JMP SHORT BCLOCK.0040164E
0040163E |66 DB 66 ; CHAR 'f'
0040163F |62 DB 62 ; CHAR 'b'
00401640 |3A DB 3A ; CHAR ':'
00401641 |43 DB 43 ; CHAR 'C'
00401642 |2B DB 2B ; CHAR '+'
00401643 |2B DB 2B ; CHAR '+'
00401644 |48 DB 48 ; CHAR 'H'
00401645 |4F DB 4F ; CHAR 'O'
00401646 |4F DB 4F ; CHAR 'O'
00401647 |4B DB 4B ; CHAR 'K'
00401648 |90 NOP
00401649 |E9 DB E9
0040164A . |98E04E00 DD OFFSET BCLOCK.___CPPdebugHook
0040164E > \A1 8BE04E00 MOV EAX,DWORD PTR DS:[4EE08B]
00401653 . C1E0 02 SHL EAX,2
00401656 . A3 8FE04E00 MOV DWORD PTR DS:[4EE08F],EAX
0040165B . 52 PUSH EDX
0040165C . 6A 00 PUSH 0 ; /pModule = NULL
0040165E . E8 DFBC0E00 CALL <JMP.&KERNEL32.GetModuleHandleA> ; \GetModuleHandleA
00401663 . 8BD0 MOV EDX,EAX
Dasm:
00401000 >/$ 6A 00 PUSH 0 ; /pModule = NULL
00401002 |. E8 C50A0000 CALL <JMP.&KERNEL32.GetModuleHandleA> ; \GetModuleHandleA
00401007 |. A3 0C354000 MOV DWORD PTR DS:[40350C],EAX
0040100C |. E8 B50A0000 CALL <JMP.&KERNEL32.GetCommandLineA> ; [GetCommandLineA
00401011 |. A3 10354000 MOV DWORD PTR DS:[403510],EAX
00401016 |. 6A 0A PUSH 0A ; /Arg4 = 0000000A
00401018 |. FF35 10354000 PUSH DWORD PTR DS:[403510] ; |Arg3 = 00000000
0040101E |. 6A 00 PUSH 0 ; |Arg2 = 00000000
00401020 |. FF35 0C354000 PUSH DWORD PTR DS:[40350C] ; |Arg1 = 00000000