UPX程序破解过程
程序员文章站
2022-06-22 19:45:00
入门级的破解,用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出来的那个文件,确定即可。
运行程序,发现已经可以运行了,脱壳成功!!!
我用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出来的那个文件,确定即可。
运行程序,发现已经可以运行了,脱壳成功!!!