吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 4864|回复: 10
收起左侧

[会员申请] 申请会员ID:雨耕山【申请通过】

  [复制链接]
吾爱游客  发表于 2017-2-10 09:19

1、申 请 I D:雨耕山
2、个人邮箱:km315@qq.com
3、原创技术文章,在看雪安全论坛被评为精华,地址是:
http://bbs.pediy.com/showthread.php?t=140103
QQ截图20170210090329.jpg

QQ截图20170210090749.jpg

IDA,">标 题: 屏录专家DIY
作 者: 雨耕山
时 间: 2011-09-14,11:24:37
链 接: http://bbs.pediy.com/showthread.php?t=140103

【软件大小】: 2.34M
【下载地址】: 自己搜索下载
【加壳方式】: 无壳
【保护方式】: 注册码
【编写语言】: Borland C++ 1999
【使用工具】: PEID,OD,LordPE
【软件介绍】: 录制电脑屏幕、声音
【作者声明】: 只谈技术,共同提高,欢迎批评指正

在使用屏幕录像专家过程中,发现录制的视频默认的的文件名是“录像1、2、3”,而我需要的是按录像开始时间命名的文件, 遂对“屏录专家”进行了改造。

name.jpg

一、查壳:用PEID查了一下屏录专家的主文件,无壳,省了点事。

二、去自校验:随便改了一下文件的资源,运行后提示文件被破坏,这显然是文件有校验,这里不给出详细去校验的过程,只给出怎么修改。自校验修改针对屏幕录像专家V2011 Build0726版本。


ver.jpg

三、改造思路:为使视频文件用开始录制的时间命名,只要在开始录制时,能在如图红圈所示的地方自动写入当前电脑日期时间即可,为减小劳动量,我用delphi xe写了一个dll,在合适的地方调用dll即可。
四、dll的编写:
具体代码如下:
library SetTime;

uses
ShareMem, SysUtils, Windows, Messages, Classes;
function GetHwnd: THandle;
const
A_szClassName: array [0 .. 5] of PChar = ('TMainForm', 'TPageControl', 'TTabSheet', 'TPageControl', 'TTabSheet', 'TEdit');
A_szWinName: array [0 .. 5] of PChar = ('屏幕录像专家 V2011', '', '录像模式               ', '', '基本设置', '');
var
i: Integer;
hLastWin: THandle;
t: TDateTime;
begin

hLastWin := FindWindow(A_szClassName[0], A_szWinName[0]); // 先取顶级父窗口句柄

for i := 1 to 5 do
   begin
      hLastWin := FindWindowEx(hLastWin, THandle(nil), A_szClassName, A_szWinName);
   end;
hLastWin := GetWindow(hLastWin, 2);
Result := hLastWin;
end;

procedure MySetTime;stdcall;
var
txtHwnd: THandle;
t: TDateTime;
StrT: String;
begin
txtHwnd := GetHwnd;
t := Now;
StrT := DateTimeToStr(t);
StrT := StringReplace(StrT, ':', '时', []);//替换不能做文件名的几个字符串(下同)
StrT := StringReplace(StrT, ':', '分', []);

StrT := StringReplace(StrT, '/', '-', [rfReplaceAll, rfIgnoreCase]);
StrT := StringReplace(StrT, '\', '-', [rfReplaceAll, rfIgnoreCase]);
StrT := StringReplace(StrT, '*', '-', [rfReplaceAll, rfIgnoreCase]);
StrT := StringReplace(StrT, '|', '-', [rfReplaceAll, rfIgnoreCase]);
StrT := StringReplace(StrT, '?', '-', [rfReplaceAll, rfIgnoreCase]);
StrT := StringReplace(StrT, '<', '-', [rfReplaceAll, rfIgnoreCase]);
StrT := StringReplace(StrT, '>', '-', [rfReplaceAll, rfIgnoreCase]);
StrT := StringReplace(StrT, '"', '-', [rfReplaceAll, rfIgnoreCase]);
StrT := StringReplace(StrT, ' ', '(', []);
StrT := StrT + '秒)';
SendMessage(txtHwnd, WM_SETTEXT, 0, LParam(StrT));
end;

exports
MySetTime;
{$R *.res}

begin

end.
五、在主文件输入表中添加自己写的dll:
我用的是LordPE(用 PEditor 1.7会出错,不知为何),如下图所示,很详细,目的就是让新手看完本文后可以独立完成改造。

LordPE.jpg

六、在文件中调用dll中的函数(过程):
     完成以上所有工作以后,就可以用OD来调试了,用OD加载目标文件运行后,在如图所示的文件名的文本框中填入不能用来做文件名的字符串(我填的是“<>”),点击录像后提示“文件已经存在,换一个文件名。”这不是已存在的问题,是Windows不允许“<>”作为文件名。

msg.jpg

根据提示,很容易来到下面的位置:
004089F3 . FF8D E0FCFFFF dec dword ptr ss:[ebp-320]
004089F9   E8 22DC1600 call 00576620----------------------// 改为 call [686018],这是自已dll中的函数地址,在用LordPE添加函数引用时可以看到。
004089FE   59 pop ecx-------------------------------------// NOP
004089FF   84C9 test cl,cl--------------------------------// NOP
00408A01   0F84 13010000 je 00408B1A
00408A07 . 66:C785 D4FCFFFF 70>mov word ptr ss:[ebp-32C],170
00408A10 . 8D85 38FFFFFF lea eax,dword ptr ss:[ebp-C8]
00408A16 . E8 7D8FFFFF call 00401998
00408A1B . 50 push eax
00408A1C . FF85 E0FCFFFF inc dword ptr ss:[ebp-320]
00408A22 . BA 843C5900 mov edx,00593C84 ; 已经存在,请换一个文件名
00408A27 . 8D85 3CFFFFFF lea eax,dword ptr ss:[ebp-C4]
00408A2D . E8 E6D81600 call 00576318
00408A32 . FF85 E0FCFFFF inc dword ptr ss:[ebp-320]
00408A38 . 8D95 3CFFFFFF lea edx,dword ptr ss:[ebp-C4]
00408A3E . 52 push edx
00408A3F . 6A 00 push 0
00408A41 . 6A 00 push 0
完成改造后,我们测试一下,生成的视频文件果然是开始录像的时间,达到我的目的。

plzjDiy.rar (387.1 KB, 下载次数: 13)

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

Hmily 发表于 2017-2-10 18:58
请在看雪论坛给hmilywen发一条短消息确认是本人申请本帖,谢谢。
吾爱游客  发表于 2017-2-10 22:38
jiexia 发表于 2017-2-11 20:49
Hmily 发表于 2017-2-12 13:36
ID:雨耕山
邮箱:km315@qq.com

申请通过,欢迎光临吾爱破解论坛,期待吾爱破解有你更加精彩,ID和密码自己通过邮件密码找回功能修改,请即时登陆并修改密码!
登陆后请在一周内在此帖报道,否则将删除ID信息。
雨耕山 发表于 2017-2-14 08:03
谢谢管理人员,我来报个道!
雨耕山 发表于 2017-2-14 16:35
Hmily 发表于 2017-2-12 13:36
ID:雨耕山
邮箱:

谢谢管理人员,我来报个道,千万不要删除我的ID啊
protossvs 发表于 2017-2-14 20:08
赞一个信赖的优秀会员
KaQqi 发表于 2017-2-15 18:13
雨耕山 发表于 2017-2-14 16:35
谢谢管理人员,我来报个道,千万不要删除我的ID啊

我记得平路专家13好像是加壳的。这软件自效验比较简单,直接字符串就行。楼主思路是dll注入,我本来想是申请区段,取系统时间再写。想了想,两种都有利有弊。
nmsl 发表于 2017-2-15 18:36
欢迎欢迎
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

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

GMT+8, 2024-11-15 17:39

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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