ACProtect脱壳问题
非常老的壳了,最简单的脱壳也不会,这个贴子:https://www.52pojie.cn/thread-1257487-1-1.html
为了方便我直接把贴子中的附件,上传到网盘: https://cowtransfer.com/s/21d99863f50345
里面的ACP_Feedback是无壳delphi的,做参考用的,ACP_Feedback1.32是加了ACProtect的,用来试练的。
第一个自然是到OEP了,试了几次也不知道用什么方法能跳到OEP,哈哈。
第二个,看贴子中使用的魔术跳,跳过IAT加密,但是不会找。
它的IAT应该就这些吧,
004050A00040A010ACP_Feed.0040A010
004050A40040A01DACP_Feed.0040A01D
004050A80040A02AACP_Feed.0040A02A
004050AC0040A037ACP_Feed.0040A037
004050B00040A044ACP_Feed.0040A044
004050B40040A051ACP_Feed.0040A051
004050B80040A05EACP_Feed.0040A05E
004050BC0040A06BACP_Feed.0040A06B
004050C00040A078ACP_Feed.0040A078
004050C40040A085ACP_Feed.0040A085
004050C80040A092ACP_Feed.0040A092
004050CC0040A09FACP_Feed.0040A09F
004050D00040A0ACACP_Feed.0040A0AC
004050D40040A0B9ACP_Feed.0040A0B9
004050D80040A0C6ACP_Feed.0040A0C6
004050DC00000000
004050E00040A0D3ACP_Feed.0040A0D3
004050E40040A0E0ACP_Feed.0040A0E0
004050E800000000
004050EC77DA7AABADVAPI32.RegQueryValueExA
004050F077DA7842ADVAPI32.RegOpenKeyExA
004050F477DA6C17ADVAPI32.RegCloseKey
004050F800000000
004050FC0040A0EDACP_Feed.0040A0ED
004051000040A0FAACP_Feed.0040A0FA
004051040040A107ACP_Feed.0040A107
004051080040A114ACP_Feed.0040A114
0040510C00000000
004051100040A121ACP_Feed.0040A121
004051140040A12EACP_Feed.0040A12E
004051180040A13BACP_Feed.0040A13B
0040511C0040A148ACP_Feed.0040A148
0040512000000000
004051240040A155ACP_Feed.0040A155
004051280040A162ACP_Feed.0040A162
0040512C0040A16FACP_Feed.0040A16F
004051300040A17CACP_Feed.0040A17C
004051340040A189ACP_Feed.0040A189
004051380040A196ACP_Feed.0040A196
0040513C0040A1A3ACP_Feed.0040A1A3
004051400040A1B0ACP_Feed.0040A1B0
0040514400000000
004051487D611150shell32.ShellExecuteA
0040514C00000000
从0x004050A0到0x0040514C吧,那对第一个0x004050A0下DWORD类型的硬件写入断点,断在如下图位置。
这里应该没错吧。但是在上面找,并没有找到跳过IAT重定向写入的跳转。
如离它最近的上面的ret,我会想着在ret下面找跳过IAT加密时的代码,
0041E794 C3 retn
0041E795 E9 04000000 jmp ACP_Feed.0041E79E 从这里看,看得一头雾水。
0041E79A 66:B9 32CF mov cx,0xCF32
但是ret下面这并不是个函数啊,和我们一般的无壳程序不一样啊,无壳的一般retn下面都是一个完整的汇编段,如
push ebp
mov esp, ebp
........
ret
为什么壳里代码都是这样的,花指令还是乱序啥的吗?
具体应该怎么找?是不是方法不对呢? 最有效锁定的IAT加密时位置的方法是什么。
方便的话,麻烦给做个视频下,一个是如何到OEP,一个是如何跳过IAT加密。 本帖最后由 七宗罪丶 于 2022-12-26 19:42 编辑
0041E973 90 nop
0041E974 90 nop
0041E9D201 改 00
https://imglf5.lf127.net/img/8dfd2f493b056a7f/V2xWZWRoOU5iQnUrdnpkZFZYd3ZlUExObGluYi9oOE9xOFZRQkIrZ1ZSdz0.gif 有没有萌新入门的脱壳教学,有点看不懂啊,我萌新 oOvVvAvVvOo 发表于 2022-12-25 22:39
有没有萌新入门的脱壳教学,有点看不懂啊,我萌新
不好意思我眼瞎,看到了简单脱壳了 学习了,厉害 有没有萌新入门的脱壳教学,有点看不懂啊,我萌新 七宗罪丶 发表于 2022-12-25 21:20
0041E973 90 nop
0041E974 90 nop
大佬威武,为什么此处0041E9D2 0100 add dword ptr ds:,eax
改成了00就影响上面的跳转了呢?我测试如果不改的话,上面的jz就不跳,改了就跳,
为什么要改这里,而且是jz下面的代码修改反而影响了上面的jz跳转呢?麻烦讲一下原理。
本帖最后由 七宗罪丶 于 2022-12-26 19:45 编辑
41E9C0这里cmp的值 就是 41E9D2这里的
你跟踪到cmp这里的时候 可以右键查看
上面的图片不显示 我重新传一个
https://imglf5.lf127.net/img/8dfd2f493b056a7f/V2xWZWRoOU5iQnUrdnpkZFZYd3ZlUExObGluYi9oOE9xOFZRQkIrZ1ZSdz0.gif 七宗罪丶 发表于 2022-12-26 19:31
41E9C0这里cmp的值 就是 41E9D2这里的
你跟踪到cmp这里的时候 可以右键查看
大佬用的这个gif录制工具叫什么?看着挺好玩。 朱朱你堕落了 发表于 2022-12-27 14:54
大佬用的这个gif录制工具叫什么?看着挺好玩。
不知道叫啥 挺老的小工具了
页:
[1]