吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1003|回复: 14
收起左侧

[求助] UPX壳ESP定律法后 jmp到的位置这是OEP吗?运行报R6002

[复制链接]
imlyx 发表于 2024-5-26 06:51
链接: https://pan.baidu.com/s/1GQesNPF4EZWT5wqP5_TlSA?pwd=kjwe 提取码: kjwe
Snipaste_2024-05-26_06-46-10.png
后面这JMP跳到的位置是00588004,我看别人说一般都是跳004开头才是OEP
Snipaste_2024-05-26_06-49-13.png
跳到了这个位置,我看教程都说jmp跳的位置就是OEP,我用脱壳机脱的位置也是在这,但是不管是手动脱壳还是脱壳机脱壳运行后都报错,报下面2种错误,怎么解决
Snipaste_2024-05-26_06-50-19.png
R6002错误搜论坛说改RDATA段不可读,但是这软件没RDATA段
Snipaste_2024-05-26_06-50-24.png
下面这个错误不知道咋导致的
image.png

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

爱飞的猫 发表于 2024-5-31 02:08
本帖最后由 爱飞的猫 于 2024-11-23 22:04 编辑

AHK (Auto Hotkey) 的程序要用想办法提取源码,而不是在调试器折腾。

PE32
    操作系统: Windows(2000)[I386, 32 位, GUI]
    链接程序: Microsoft Linker(10.00.40219)
    编译器: Microsoft Visual C/C++(16.00.40219)[LTCG/C++]
    语言: C/C++
    工具: Visual Studio(2010)
    打包工具: UPX[modified]
    格式: Compiled AutoHotKey(1.0.4)

因为你的附件无法正确运行,我网上找了个 1.0.4 版本的。

然后随手找了几个反编译 ahk 的自动化工具,看起来都不能用的样子,只好手动看一下。

带壳运行,断 FindResourceW 或下方可以看到的其它 API,搜索字符串引用,找 >AUTOHOTKEY SCRIPT<

004188E3 | 56                 | push esi                              |
004188E4 | 6A 0A              | push A                                |
004188E6 | 68 FC964A00        | push _1.0.4.4A96FC                    | 4A96FC:L">AUTOHOTKEY SCRIPT<"
004188EB | 6A 00              | push 0                                |
004188ED | C74424 14 00000000 | mov dword ptr ss:[esp+14],0           |
004188F5 | C74424 18 00000000 | mov dword ptr ss:[esp+18],0           |
004188FD | C64424 1C 00       | mov byte ptr ss:[esp+1C],0            |
00418902 | FF15 10214A00      | call dword ptr ds:[<&FindResourceW>]  |
00418908 | 8BF0               | mov esi,eax                           |
0041890A | 85F6               | test esi,esi                          |
0041890C | 74 7C              | je _1.0.4.41898A                      |
0041890E | 56                 | push esi                              |
0041890F | 6A 00              | push 0                                |
00418911 | FF15 14214A00      | call dword ptr ds:[<&SizeofResource>] |
00418917 | 894424 0C          | mov dword ptr ss:[esp+C],eax          |
0041891B | 85C0               | test eax,eax                          |
0041891D | 74 6B              | je _1.0.4.41898A                      |
0041891F | 56                 | push esi                              |
00418920 | 6A 00              | push 0                                |
00418922 | FF15 18214A00      | call dword ptr ds:[<&LoadResource>]   |
00418928 | 85C0               | test eax,eax                          |
0041892A | 74 5E              | je _1.0.4.41898A                      |
0041892C | 50                 | push eax                              |
0041892D | FF15 1C214A00      | call dword ptr ds:[<&LockResource>]   | 返回值 EAX 就是脚本地址
00418933 | 894424 08          | mov dword ptr ss:[esp+8],eax          | ESP+8 是地址,ESP+C 是大小

找到下面的 LockResource 调用,在这里断下。

  • EAX(以及之后赋值的 ESP+8)储存的是数据地址
  • ESP+C 储存的是数据大小

1

1

将这块内存提取出来(写脚本也好,用 HxD 等工具也好),保存到文件就是明文的代码了:

2

2


把 1L 的可执行文件放到主程序目录下执行后可以正常执行的样子,操作方法是一样的。

不过这个 1.2.6 试用版没有 > AUTOHOTKEY SCRIPT < 这个标识符了,对 LockResource 下断点就能马上到了。

3

3

虽然代码的开头部分有点毛病,但后面的内容看起来未受影响;如果编辑器无法正常打开,将打开时的编码切换到 UTF-8 即可。

剩下的就是跟着代码研究它的算法就行了。脚本将多余的空格剔除掉了,找个格式化代码的插件处理下就好。

4

4

机器码 = 00000000000000000000000000000000
序列号 (1.2.6 试用版) = YzQ1-NDk5-ZWFl-MDk5-NmZh-YTk5-ZDUz-Yjk5-YzkwZDExNjAwOTIyYTU0NTMzOWU3NzEx
序列号 (1.0.4 未知版) = ZDc3-ZTk5-Nzlk-Nzk5-MTJh-YTk5-NzBm-Nzk5-YjA1NTExZDBiMjIyODZkMzMzNDY0NTEx

免费评分

参与人数 4吾爱币 +4 热心值 +3 收起 理由
冥界3大法王 + 1 不用这么麻烦任务管理DUMP整理下源码就全出来了!
wjbg2022 + 1 + 1 用心讨论,共获提升!
imlyx + 1 + 1 大佬厉害
cyn123 + 1 + 1 用心讨论,共获提升!

查看全部评分

HackYike 发表于 2024-5-26 07:54
这又是push又是pop的,显然不是oep啊,我这门外汉都看得出来……而且,没有rdata可能只是名称改了……没实践过,以我浅薄的见识,愿意的话可以把每个节的名称都改成rdata
 楼主| imlyx 发表于 2024-5-26 08:07
HackYike 发表于 2024-5-26 07:54
这又是push又是pop的,显然不是oep啊,我这门外汉都看得出来……而且,没有rdata可能只是名称改了……没实 ...

Snipaste_2024-05-26_08-06-13.png
那这到了OEP吗,ESP后面JMP后单步找,最像的就这里了
但是在这里脱壳后打开还是报我主楼那个line1的弹窗
lies2014 发表于 2024-5-26 10:36
运行你的原版都是这个弹窗,跟脱壳有什么关系?
yangand 发表于 2024-5-26 10:42
VC写的程序脱壳后,经常会碰到这个6002的错误。有专门的修复工具。自己找一下
image.png
 楼主| imlyx 发表于 2024-5-26 13:28
yangand 发表于 2024-5-26 10:42
VC写的程序脱壳后,经常会碰到这个6002的错误。有专门的修复工具。自己找一下

这百度和谷歌都搜不到,哥能发下吗
cyn123 发表于 2024-5-26 17:17
2024-05-26 17_15_46-搜索.png

过了这里才是OEP
yangand 发表于 2024-5-27 08:53
本帖最后由 yangand 于 2024-5-27 08:54 编辑
cyn123 发表于 2024-5-26 17:17
过了这里才是OEP

软件能不能运行,和OEP是不是原来的OEP没关系
 楼主| imlyx 发表于 2024-6-1 14:15
爱飞的猫 发表于 2024-5-31 02:08
[md]AHK (Auto Hotkey) 的程序要用想办法提取源码,而不是在调试器折腾。

```text

大佬,为什么我把EAX地址在数据窗口的16进制值复制到HxD里面再保存打开,中文还是全部乱码呀
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 13:10

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表