吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 5922|回复: 1
收起左侧

[原创] editplus爆破时间与制作纯种绿色不写配置文件,不写注册表研究

[复制链接]
冥界3大法王 发表于 2014-2-19 19:24
EditPlus启动校验研究
大致流程是这样的:
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\ES-Computing\EditPlus 3\Install]
"Language"=dword:00000000
"eula"=dword:00000001
"Path"="D:\\图文处理\\EditPlus 3"
"INI directory"="D:\\图文处理\\EditPlus 3"
"First Run"=dword:00000000
[HKEY_LOCAL_MACHINE\SOFTWARE\ES-Computing\EditPlus 3\Install]
"License"
先读取hkcu分支Install,然后是hklm分支Install
如果,都没有License 这个键值,但有
"Path"="D:\\图文处理\\EditPlus 3" 这行测试 也可以去掉!
"INI directory"="D:\\图文处理\\EditPlus 3"
这个路径,那么
reg_u.ini
[Install]
License=

这个授权信息就会起作用。
"First Run"=dword:00000000 这个东西,我们改成为dword:00000001呢?就会启动时出下面这个东西
"eula"=dword:00000001 这个没有或为dword:00000000呢?
就会
"Language"=dword:00000000
"Path"="D:\\图文处理\\EditPlus 3" 这两行,好像都可以没有

于是整理下得到了下面的袖珍注册表:
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\ES-Computing\EditPlus 3\Install]
"INI directory"="D:\\图文处理\\EditPlus 3"
"eula"=dword:00000001
"First Run"=dword:00000000

外加下面的这行即可运行
reg_u.ini
[Install]
License=


#####新结论 editplus爆破过期
-------------------------------------------------------------------------------------------------
0045D5E0 . 56 push esi
0045D5E1 33D2 xor edx,edx ; 这里nop即爆,无时间限制也不用注册了
顶上的EVALUATION VERSION字样没有了,只是关于中有点遗憾
0045D5E3 . 68 D8F35700 push editplus.0057F3D8 ; 乞啊魄
0045D5E8 . 68 C4F35700 push editplus.0057F3C4 ; EVALUATION VERSION
0045D5ED . 66:8910 mov word ptr ds:[eax],dx
0045D5F0 . E8 EBB5FFFF call editplus.00458BE0
这样之后,没有授权对话框就不出来,更省事
-------------------------------------------------------------------------------------------------
上面分析的有误!!(之所以没出现是因为注册表
HKEY_CURRENT_USER\Software\ES-Computing\EditPlus 3\Install
eula =1 注册表键值得1就不会出现!

########但是后来又发现regworkshop删除所有EditPlus 3(按区分大小写查找键值后)
00411DDC |. BE E00A5700 mov esi,22222222.00570AE0 ; license.txt
00411E7A |. /75 23 jnz X22222222.00411E9F ; 未实现,下面不远就有CALL了(确实和谐之后没有了
00411EE4 |. 33D2 xor edx,edx ; | F2
00411EE6 |. 52 push edx ; |wParam => 0
00411EE7 |. 6A 0C push 0xC ; |Message = WM_SETTEXT
00411EE9 |. D1F8 sar eax,1 ; |
00411EEB |. 53 push ebx ; |hWnd
00411EEC |. 66:895445 FE mov word ptr ss:[ebp+eax*2-0x2],dx ; | 这句时第2个对话框(和谐不起作用)
00411EF1 |. FF15 90C85600 call dword ptr ds:[<&USER32.SendMessageW>; \SendMessageW
HKEY_CURRENT_USER\Software\ES-Computing\EditPlus 3\Install
eula =1注册表键值得1时 就不会出现了
OD中搜索 eula 得到2处
00418E68 . /75 3A jnz X33333333.00418EA4 ; 这里尝试次Z标志位,成功,所以改为JMP
########接下来研究 打开editplus不用设置也是默认以新空白文档打开
先将editplus中选项,新空白文档 开启勾选上,使editplus_u.ini中生成
[Options]
Blank=1 字段
----------------
以editplus_u.ini这个为突破口,OD中进行搜索
于是得到下面的两处,设好断点:
Breakpoints
地址 模块 激活 反汇编 注释
004129E7 4444 始终 mov ebx,4444.00570B68 editplus_u.ini
00418F57 4444 始终 push 4444.00570B68 editplus_u.ini

一路F8,眼睛瞄着,信息窗口,一旦发现Blank=1 字样就停住
到这4129E7 |> \BB 680B5700 mov ebx,4444.00570B68 ; editplus_u.ini; Default
时发现editplus_u.ini字样,要小心了
005140EB E8 5AFFFFFF call 4444.0051404A 这句根键已经写完,NOP之后子键不写了

00514082 /75 37 jnz X4444.005140BB ;所以最后改这里竟然成功了
00514084 |. |8D45 F0 lea eax,[local.4]
00514087 |. |50 push eax ; /pDisposition
00514088 |. |8D45 F8 lea eax,[local.2] ; |
0051408B |. |50 push eax ; |pHandle
0051408C |. |57 push edi ; |pSecurity => NULL
0051408D |. |56 push esi ; |Access => KEY_QUERY_VALUE|KEY_SET_VALUE|KEY_CREATE_SUB_KEY|KEY_ENUMERATE_SUB_KEYS|KEY_NOTIFY|20000
0051408E |. |57 push edi ; |Options => REG_OPTION_NON_VOLATILE
0051408F |. |57 push edi ; |Class => NULL
00514090 |57 push edi
00514091 |FF73 54 push dword ptr ds:[ebx+0x54] ; 是这句开始写根键
00514094 |. |8B1D 7CC05600 mov ebx,dword ptr ds:[<&ADVAPI32.RegCrea>; |ADVAPI32.RegCreateKeyExW
0051409A |FF75 FC push dword ptr ss:[ebp-0x4]
0051409D |FFD3 call ebx ; 这句爆破之后确实是不写了,但无法正常运行了
0051409F |85C0 test eax,eax
005140A1 |75 18 jnz X4444.005140BB
005140A3 |8D45 F0 lea eax,dword ptr ss:[ebp-0x10] ; 下面那句写
005140A6 |. |50 push eax ; /pDisposition
005140A7 |. |8D45 F4 lea eax,[local.3] ; |
005140AA |. |50 push eax ; |pHandle
005140AB |. |8B45 EC mov eax,[local.5] ; |
005140AE |. |57 push edi ; |pSecurity => NULL
005140AF |. |56 push esi ; |Access => KEY_QUERY_VALUE|KEY_SET_VALUE|KEY_CREATE_SUB_KEY|KEY_ENUMERATE_SUB_KEYS|KEY_NOTIFY|20000
005140B0 |. |57 push edi ; |Options => REG_OPTION_NON_VOLATILE
005140B1 |. |57 push edi ; |Class => NULL
005140B2 |. |57 push edi ; |Reserved => 0
005140B3 |. |FF70 68 push dword ptr ds:[eax+0x68] ; |Subkey
005140B6 |. |FF75 F8 push [local.2] ; |hKey
005140B9 |. |FFD3 call ebx ; \RegCreateKeyExW
005140BB |> \8B35 80C05600 mov esi,dword ptr ds:[<&ADVAPI32.RegClos>; ADVAPI32.RegCloseKey
005140C1 |. 397D FC cmp [local.1],edi
005140C4 |. 74 05 je X4444.005140CB
005140C6 |. FF75 FC push [local.1] ; /hKey
005140C9 |. FFD6 call esi ; \RegCloseKey
005140CB |> 397D F8 cmp [local.2],edi
005140CE |. 74 05 je X4444.005140D5
005140D0 |. FF75 F8 push [local.2]
005140D3 |. FFD6 call esi
005140D5 |> 8B45 F4 mov eax,[local.3]
005140D8 |. 5F pop edi
005140D9 |. 5E pop esi
005140DA |. 5B pop ebx
005140DB |. C9 leave
005140DC \. C3 retn
005140DD /$ 8BFF mov edi,edi
005140DF |. 55 push ebp
005140E0 |. 8BEC mov ebp,esp
005140E2 |. 51 push ecx
005140E3 |. 51 push ecx
005140E4 |. 56 push esi
005140E5 |. 33F6 xor esi,esi
005140E7 |. 57 push edi
005140E8 |. 8975 FC mov [local.1],esi
005140EB E8 5AFFFFFF call 4444.0051404A
005140F0 |. 8BF8 mov edi,eax
005140F2 |. 3BFE cmp edi,esi
005140F4 |. 75 04 jnz X4444.005140FA
005140F6 |. 33C0 xor eax,eax
005140F8 |. EB 25 jmp X4444.0051411F
005140FA |> 8D45 F8 lea eax,[local.2]
005140FD |. 50 push eax ; /pDisposition
005140FE |. 8D45 FC lea eax,[local.1] ; |
00514101 |. 50 push eax ; |pHandle
00514102 |. 56 push esi ; |pSecurity
00514103 |. 68 1F000200 push 0x2001F ; |Access = KEY_QUERY_VALUE|KEY_SET_VALUE|KEY_CREATE_SUB_KEY|KEY_ENUMERATE_SUB_KEYS|KEY_NOTIFY|20000
00514108 |. 56 push esi ; |Options
00514109 |. 56 push esi ; |Class
0051410A |. 56 push esi ; |Reserved
0051410B |. FF75 08 push [arg.1] ; |Subkey
0051410E |. 57 push edi ; |hKey
0051410F |. FF15 7CC05600 call dword ptr ds:[<&ADVAPI32.RegCreateK>; \RegCreateKeyExW
00514115 |. 57 push edi ; /hKey
00514116 |. FF15 80C05600 call dword ptr ds:[<&ADVAPI32.RegCloseKe>; \RegCloseKey
0051411C |. 8B45 FC mov eax,[local.1]
0051411F |> 5F pop edi
00514120 |. 5E pop esi
00514121 |. C9 leave

试验项目,彻底不生成配置文件
editplus_u.ini
reg_u.ini 这个搜索不到
顶上的那个能找到两处,而且是程序退出时建立的editplus_u.ini
00412A10 |. E8 B7BF1200 call 55555555.0053E9CC
00469E7F |. E8 1C55FEFF call 55555555.0044F3A0
00469E84 |. 8B4C24 20 mov ecx,dword ptr ss:[esp+0x20]
00469E88 |. 8B4424 1C mov eax,dword ptr ss:[esp+0x1C]
00469E8C |. 51 push ecx
00469E8D |. 8D5424 54 lea edx,dword ptr ss:[esp+0x54]
00469E91 |. 52 push edx
00469E92 |. 50 push eax
00469E93 |. E8 C876FEFF call 55555555.00451560

0045157E |. E8 BDFEFFFF call 55555555.00451440---〉生成editplus_u.ini
00451583 |. 83C4 0C add esp,0xC
00451586 |. 8BF0 mov esi,eax

试验项目,只要一个editplus运行,运行时少文件的提示全没有。
文件操作失败。
D:\图文处理\EditPlus 3\新建文件夹\htmlbar.acp
系统找不到指定的文件。
500535 FF15 04C95600 call dword ptr ds:[<&USER32.MessageBoxW>>; USER32.MessageBoxW经过一层层的F7能来到这里 NOP就OK了
editplus终极爆破新鲜出炉:不写注册表,也不用注册,单个文件运行少文件提示全暴,纯种绝对绿色版本:


操作目的,纯属蛋痛~~
为了更加深刻的学习OD使用技法~~
追求全功能版本者,请甚用~~~
最后再交待一句话:退出时一定要先保存,如果直接点击关闭按钮,它不会提醒你保存的(原版不这样)
由于K掉了配置文件的CALL,所以配置文件是不会生成的,但可以自己手工加,它会读到的。
什么注册表文件啊,也是不会生成的,不信你可以搜索下
本人只使用几个功能,其他对俺来说没有用处,所以爆破起来玩玩。
欢迎反馈问题,共同进步提高~~~我会努力修正的~~~


免费评分

参与人数 1热心值 +1 收起 理由
boyljx + 1 我很赞同!

查看全部评分

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

 楼主| 冥界3大法王 发表于 2014-2-19 19:38
胡梓予 发表于 2014-2-19 19:33
写的很好啊,希望楼主以后经常写过程。这样才能方便大家理解

6666.rar (837.41 KB, 下载次数: 14) 这个是成品,还有13个注册表键值项,没有咔嚓干净,所以楼下放出来,喜欢的话,就赏点吧
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

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

GMT+8, 2024-5-5 00:19

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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