欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

UPX程序破解过程

程序员文章站 2022-03-29 15:54:56
入门级的破解,用ollydbg 我用UPX将NOTEPAD.EXE加壳,选择OllyDbg 1.09d来脱壳。首先加载被加壳的程序, 程序直接定位到01014110 $60 PUSHAD处,选择CTRL F 输入查找内容"... 08-10-08...
入门级的破解,用ollydbg
我用upx将notepad.exe加壳,选择ollydbg 1.09d来脱壳。首先加载被加壳的程序,
程序直接定位到01014110 $60 pushad处,选择ctrl f 输入查找内容"popad",
od定位到 0101425e > 61 popad 处,光标点到1425e, f4运行到该行,f8单步
到0101425f .-e9 7c28ffff jmp notepad.01006ae0,此处即为oep
f7单步跟入,定位到程序真正入口:01006ae0 6a 70 push 70,呵呵,
此时选择od 的 ollydump / dump debug process. 去掉复选框"rebuild import"
,(我需要imprec对其输入表重建)。选择dump,生成新的文件,此时不能直接运行,
(会提示:应用程序正常初始化(0xc0000005)失败。请单击"确定",终止应用
程序)。因为没有rebuild import table。 运行import reconstructor 1.6
final, 同时运行加壳程序, 在imprec中找到加壳程序所在进程,可以看到
iat infos: oep 00014110是被做过手脚了:)
输入真正的oep 0006ae0(注意是rva,需要减掉image base 01000000), 选择
iat autosearch , imprec 提示 fond address ,点击确定后选择"get imports"
看到imported functions found下面的输入表函数都是valid, 点击fix dump
选择刚刚dump出来的那个文件,确定即可。
运行程序,发现已经可以运行了,脱壳成功!!!