-
您的位置:首页 → 精文荟萃 → 破解文章 → 应用olldbg脱telock加壳之菜鸟篇
应用olldbg脱telock加壳之菜鸟篇
时间:2004/10/15 0:58:00来源:本站整理作者:蓝点我要评论(0)
-
软件目标:http://count.skycn.com/softdown.php?id=9987&;url=http://hndown.skycn.com/down/cookbookxchy.exe(名称自己去看吧)
软件大小:1380 KB
应用平台: Win95/98/NT/2000/XP
破解工具:ollydbg 1.09汉化版、peid8cn、Hex Workshop 4.0、peditor、Lordpe工作平台WINXP(98死得惨)
破解方法:学习如何脱壳
声明:此文仅用于学习之用,转载请注明出处。本人对读者阅读本文之后的行为不负任何责任。
脱壳过程:
一、查壳找入口点,用peid8cn打开主程序,结果是telock0.98,入口点:5a172c(关键入口点用PEID8CN右下下拉菜单中的OEP查找搞定)
二、用OLLYDBG载入主程序,第一对话框点确定,第二对话框点否,来到这儿
0064FBD6 >^E9 25E4FFFF JMP cookbook.0064E000
0064FBDB 0000 ADD BYTE PTR DS:[EAX],AL
0064FBDD 003E ADD BYTE PTR DS:[ESI],BH
0064FBDF 4F DEC EDI
0064FBE0 BB B71EFC24 MOV EBX,24FC1EB7
0064FBE5 0000 ADD BYTE PTR DS:[EAX],AL
0064FBE7 0000 ADD BYTE PTR DS:[EAX],AL
0064FBE9 0000 ADD BYTE PTR DS:[EAX],AL
0064FBEB 0000 ADD BYTE PTR DS:[EAX],AL
0064FBED 003E ADD BYTE PTR DS:[ESI],BH
0064FBEF FC CLD
0064FBF0 24 00 AND AL,0
0064FBF2 2E:FC CLD ; Superfluous prefix
0064FBF4 24 00 AND AL,0
0064FBF6 26:FC CLD ; Superfluous prefix
0064FBF8 24 00 AND AL,0
0064FBFA 0000 ADD BYTE PTR DS:[EAX],AL
0064FBFC 0000 ADD BYTE PTR DS:[EAX],AL
0064FBFE 0000 ADD BYTE PTR DS:[EAX],AL
0064FC00 0000 ADD BYTE PTR DS:[EAX],AL
0064FC02 4B DEC EBX
0064FC03 FC CLD
0064FC04 24 00 AND AL,0
0064FC06 36:FC CLD ; Superfluous prefix
0064FC08 24 00 AND AL,0
0064FC0A 0000 ADD BYTE PTR DS:[EAX],AL
0064FC0C 0000 ADD BYTE PTR DS:[EAX],AL
F9运行,SHIFT+F9进行到这时停下
0064EBA6 CD 68 INT 68 //记住此处一定不要过了,否则不好玩
0064EBA8 66:05 7B0C ADD AX,0C7B
0064EBAC 66:48 DEC AX
0064EBAE 74 55 JE SHORT cookbook.0064EC05
0064EBB0 8D85 450B0000 LEA EAX,DWORD PTR SS:[EBP+B45]
0064EBB6 894424 04 MOV DWORD PTR SS:[ESP+4],EAX
0064EBBA 64:67:8926 0000 MOV DWORD PTR FS:[0],ESP
0064EBC0 EB 1F JMP SHORT cookbook.0064EBE1
0064EBC2 CD20 8B642408 VxDCall 824648B
0064EBC8 8B6C24 08 MOV EBP,DWORD PTR SS:[ESP+8]
0064EBCC 8D85 7A0B0000 LEA EAX,DWORD PTR SS:[EBP+B7A]
0064EBD2 50 PUSH EAX
0064EBD3 EB 01 JMP SHORT cookbook.0064EBD6
0064EBD5 E8 81AD591C CALL 1CBE995B
0064EBDA 0000 ADD BYTE PTR DS:[EAX],AL
0064EBDC 88B465 CCC3EB01 MOV BYTE PTR SS:[EBP+1EBC3CC],DH
0064EBE3 EB 33 JMP SHORT cookbook.0064EC18
0064EBE5 DB ??? ; Unknown command
0064EBE6 8BC3 MOV EAX,EBX
0064EBE8 66:BE 4746 MOV SI,4647
0064EBEC 66:BF 4D4A MOV DI,4A4D
0064EBF0 CC INT3
0064EBF1 90 NOP
0064EBF2 66:81FE 4746 CMP SI,4647
0064EBF7 75 0C JNZ SHORT cookbook.0064EC05
0064EBF9 64:67:8F06 0000 POP DWORD PTR FS:[0]
0064EBFF 83C4 04 ADD ESP,4
按CTRL+F查找TEST ESI,ESI到这儿(我们要找的可不是这儿)
0064F17D 85F6 TEST ESI,ESI
0064F17F 0F84 8B000000 JE cookbook.0064F210
0064F185 8B95 62D34000 MOV EDX,DWORD PTR SS:[EBP+40D362]
0064F18B 03F2 ADD ESI,EDX
0064F18D 2B95 66D34000 SUB EDX,DWORD PTR SS:[EBP+40D366]
0064F193 74 7B JE SHORT cookbook.0064F210
0064F195 8BDA MOV EBX,EDX
0064F197 C1EB 10 SHR EBX,10
0064F19A 8B06 MOV EAX,DWORD PTR DS:[ESI]
0064F19C 85C0 TEST EAX,EAX
0064F19E 74 70 JE SHORT cookbook.0064F210
0064F1A0 8B4E 04 MOV ECX,DWORD PTR DS:[ESI+4]
0064F1A3 83E9 08 SUB ECX,8
0064F1A6 D1E9 SHR ECX,1
0064F1A8 8BBD 62D34000 MOV EDI,DWORD PTR SS:[EBP+40D362]
0064F1AE 03F8 ADD EDI,EAX
0064F1B0 83C6 08 ADD ESI,8
0064F1B3 0FB706 MOVZX EAX,WORD PTR DS:[ESI]
0064F1B6 C1C8 0C ROR EAX,0C
0064F1B9 FEC8 DEC AL
0064F1BB 78 4C JS SHORT cookbook.0064F209
0064F1BD 74 0E JE SHORT cookbook.0064F1CD
0064F1BF FEC8 DEC AL
0064F1C1 74 13 JE SHORT cookbook.0064F1D6
0064F1C3 FEC8 DEC AL
0064F1C5 74 3C JE SHORT cookbook.0064F203
0064F1C7 FEC8 DEC AL
再来一次CRTL+L到此
0064F21C 85F6 TEST ESI,ESI //关键部位到了F2设断切记,目的是DUM出完好的输入表
0064F21E 0F84 06040000 JE cookbook.0064F62A
0064F224 03F2 ADD ESI,EDX
0064F226 83A5 52D44000 00 AND DWORD PTR SS:[EBP+40D452],0
0064F22D 8B46 0C MOV EAX,DWORD PTR DS:[ESI+C]
0064F230 8366 0C 00 AND DWORD PTR DS:[ESI+C],0 //telock加壳死穴,亦可查找此关键点
0064F234 85C0 TEST EAX,EAX
0064F236 0F84 EE030000 JE cookbook.0064F62A
0064F23C 03C2 ADD EAX,EDX
0064F23E 8BD8 MOV EBX,EAX
0064F240 50 PUSH EAX
0064F241 FF95 D0D24000 CALL DWORD PTR SS:[EBP+40D2D0]
0064F247 85C0 TEST EAX,EAX
0064F249 0F85 BA000000 JNZ cookbook.0064F309
0064F24F 53 PUSH EBX
0064F250 FF95 E4BA4000 CALL DWORD PTR SS:[EBP+40BAE4]
0064F256 85C0 TEST EAX,EAX
0064F258 0F85 AB000000 JNZ cookbook.0064F309
0064F25E 8B95 62D34000 MOV EDX,DWORD PTR SS:[EBP+40D362]
0064F264 0195 2AD34000 ADD DWORD PTR SS:[EBP+40D32A],EDX
0064F26A 0195 36D34000 ADD DWORD PTR SS:[EBP+40D336],EDX
0064F270 6A 30 PUSH 30
0064F272 53 PUSH EBX
0064F273 FFB5 36D34000 PUSH DWORD PTR SS:[EBP+40D336]
0064F279 EB 53 JMP SHORT cookbook.0064F2CE
0064F27B 8B95 62D34000 MOV EDX,DWORD PTR SS:[EBP+40D362]
0064F281 0195 2AD34000 ADD DWORD PTR SS:[EBP+40D32A],EDX
按SHIFT+F9运行到此处,查看ESI的值为001AA000
然后在OLLYDBG左下角下命令D 005AA000(001AA000+400000)然后向下查找后面全部为00的地方来到5AD0F0
用系统自带计算器计算5AD0F0-5AA000=30F0,为什么到这呢,而不是其它地方,向下太多会出错,向上也会出错,不能太多,也不能太少哦
起动LordPe先主程序进程。点右键选部份脱壳,填上005AA000-------000030F0脱出输入表30F0.DMP备用,退出LORDPE,切换到OLLYDBG,F2取消断点,按SHIFT+F9继续到这
0064F6F1 8DC0 LEA EAX,EAX ; Illegal use of register
0064F6F3 EB 01 JMP SHORT cookbook.0064F6F6
0064F6F5 EB 68 JMP SHORT cookbook.0064F75F
0064F6F7 33C0 XOR EAX,EAX
0064F6F9 -EB FE JMP SHORT cookbook.0064F6F9
0064F6FB FFE4 JMP ESP
0064F6FD CD20 8B642408 VxDCall 824648B
0064F703 33C0 XOR EAX,EAX
0064F705 FF6424 08 JMP DWORD PTR SS:[ESP+8]
0064F709 -E9 58508304 JMP 04E84766
0064F70E 24 37 AND AL,37
0064F710 FFE0 JMP EAX
0064F712 CD20 648F0058 VxDCall 58008F64
0064F718 EB 02 JMP SHORT cookbook.0064F71C
0064F71A -E9 01585DEB JMP EBC24F20
0064F71F 01B8 E8780000 ADD DWORD PTR DS:[EAX+78E8],EDI
0064F725 008F 5C55DB03 ADD BYTE PTR DS:[EDI+3DB555C],CL
0064F72B 9E SAHF
0064F72C 79 22 JNS SHORT cookbook.0064F750
0064F72E 9A 26E92B6E 913F CALL FAR 3F91:6E2BE926 ; Far call
0064F735 26:A0 1342047E MOV AL,BYTE PTR ES:[7E044213]
0064F73B 40 INC EAX
0064F73C 0B03 OR EAX,DWORD PTR DS:[EBX]
0064F73E 2208 AND CL,BYTE PTR DS:[EAX]
0064F740 BC 923FBB1B MOV ESP,1BBB3F92
0064F745 D223 SHL BYTE PTR DS:[EBX],CL
0064F747 5C POP ESP
在左下角命令框下BP 5A172C(入口点哦)按SHIFT+F9运行到入口处,再次起动LORDPE选主程序点右键选完全脱壳脱出文件UNPACKED.EXE,退出OLLYDBG,
三、置入输入表
起动HEX WORKSHOP程序分别打开刚脱出的两个文件,在30F0文件按CRTL+A COPY,然后选打开的UNPACKED文件按CRTL+G填001AA000,在HEX WORKSHOP编辑菜单下选中选择块填入1AD0F0,然后粘贴保存退出
四、修正入口点和输入表位置
起动揫PEDITOR,载入文件UNPACKED.EXE将入口改为001A172C,输入表位置改为001AA000,点重建输入表
五、试运行文件,一切正常,OK收活路,其它你想搞什么你自己玩去,886
|
相关阅读
Windows错误代码大全 Windows错误代码查询激活windows有什么用Mac QQ和Windows QQ聊天记录怎么合并 Mac QQ和Windows QQ聊天记录Windows 10自动更新怎么关闭 如何关闭Windows 10自动更新windows 10 rs4快速预览版17017下载错误问题Win10秋季创意者更新16291更新了什么 win10 16291更新内容windows10秋季创意者更新时间 windows10秋季创意者更新内容kb3150513补丁更新了什么 Windows 10补丁kb3150513是什么
-
热门文章
去除winrar注册框方法
最新文章
比特币病毒怎么破解 比去除winrar注册框方法
华为无线路由器HG522-C破解教程(附超级密码JEB格式文件京东电子书下载和阅读限制破解教UltraISO注册码全集(最新)通过Access破解MSSQL获得数据
人气排行
华为无线路由器HG522-C破解教程(附超级密码JEB格式文件京东电子书下载和阅读限制破解教UltraISO注册码全集(最新)qq相册密码破解方法去除winrar注册框方法(适应任何版本)怎么用手机破解收费游戏华为无线猫HG522破解如何给软件脱壳基础教程
查看所有0条评论>>