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

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 19806|回复: 154
收起左侧

[Windows] 学破解第147天,《教你零基础一句代码制作自己的工具箱V1.0》学习

    [复制链接]
小菜鸟一枚 发表于 2021-10-4 07:34

学破解第147天,《教你零基础一句代码制作自己的工具箱》学习

前言:
  从小学到大专(计算机网络技术专业),玩过去的,所以学习成绩惨不忍睹,什么证书也没考,直到找不到工作才后悔,不知道怎么办才好。

  2017年12月16日,通过19元注册码注册论坛账号,开始做伸手党,潜水一年多,上来就是找软件。(拿论坛高大上的软件出去装X)

  2018年8月10日,报名了华中科技大学网络教育本科(计算机科学与技术专业)2018级秋季。(开始提升学历)

  2019年6月17日,不愿再做小菜鸟一枚,开始零基础学习破解。(感谢小糊涂虫大哥在我刚开始学习脱壳时,录制视频解答我的问题)

  2020年7月7日,感谢H大对我的鼓励,拥有了第一篇获得优秀的文章。(接下来希望学习逆向,逆天改命)

  2021年8月11日,华科学位英语2次不过,仅取得了毕业证书,学业提升失败,开始琢磨考注册类和职称类证书,谋求涨薪

  坛友们,年轻就是资本,和我一起逆天改命吧,我的学习过程全部记录及学习资源:https://www.52pojie.cn/thread-1503734-1-1.html
立帖为证!--------记录学习的点点滴滴

0x1 创建一个默认的MFC程序

  1.第一步新建MFC项目
https://z3.ax1x.com/2021/10/02/4bhqYD.png

  2.点下一步,选择基于对话框,同时选择在静态库中使用MFC,这是生成代码时打包静态库,方便其他电脑上运行。
https://z3.ax1x.com/2021/10/02/4bhxOI.png

  3.选择主框架样式,修改程序的标题,直接点完成项目就被创建好了。
https://z3.ax1x.com/2021/10/02/4b54Vx.png

  4.打开资源文件,del删除里面的内容。
https://z3.ax1x.com/2021/10/02/4bIlQJ.png

0x2 添加工具

  1.视图-工具箱,添加一个button,单击,修改caption为计算机:
https://z3.ax1x.com/2021/10/02/4bINFK.png

  2.双击进去,看到:

void CMFC_MyToolDlg::OnBnClickedButton1()
{
    // TODO: 在此添加控件通知处理程序代码
}

  3.添加inExec("calc.exe", SW_SHOWNORMAL);代码,保存,生成程序,点击计算器,成功打开了计算器。
https://z3.ax1x.com/2021/10/02/4bIjl4.png

  4.重复上面步骤,就可以完成工具箱的打造了。

//计算器
void CMFC_MyToolDlg::OnBnClickedButton1()
{
    // TODO: 在此添加控件通知处理程序代码
    ShellExecute(NULL, "open", "calc", "","", SW_SHOWNORMAL);
}

//画图
void CMFC_MyToolDlg::OnBnClickedButton5()
{
    // TODO: 在此添加控件通知处理程序代码
    ShellExecute(NULL, "open", "mspaint", "", "", SW_SHOWNORMAL);
}

//截图工具
void CMFC_MyToolDlg::OnBnClickedButton9()
{
    // TODO: 在此添加控件通知处理程序代码
    ShellExecute(NULL, "open", TEXT("snippingTool"), "", "", SW_SHOWNORMAL);
}

//记事本
void CMFC_MyToolDlg::OnBnClickedButton13()
{
    // TODO: 在此添加控件通知处理程序代码
    ShellExecute(NULL, "open", "notepad", "", "", SW_SHOWNORMAL);
}

//系统配置
void CMFC_MyToolDlg::OnBnClickedButton2()
{
    // TODO: 在此添加控件通知处理程序代码
    ShellExecute(NULL, "open", "msconfig", "", NULL, SW_SHOWNORMAL);
}

//屏幕键盘
void CMFC_MyToolDlg::OnBnClickedButton6()
{
    // TODO: 在此添加控件通知处理程序代码
    ShellExecute(NULL, "open", "osk", "", "", SW_SHOWNORMAL);
}

//注册表编辑
void CMFC_MyToolDlg::OnBnClickedButton10()
{
    // TODO: 在此添加控件通知处理程序代码
    ShellExecute(NULL, "open", "regedit", "", "", SW_SHOWNORMAL);
}

//DirectX 诊断
void CMFC_MyToolDlg::OnBnClickedButton14()
{
    // TODO: 在此添加控件通知处理程序代码
    ShellExecute(NULL, "open", "dxdiag", "", "", SW_SHOWNORMAL);
}

//组策略
void CMFC_MyToolDlg::OnBnClickedButton3()
{
    // TODO: 在此添加控件通知处理程序代码
    ShellExecute(NULL, "open", "gpedit.msc", "", "", SW_SHOWNORMAL);
}

//资源监视器
void CMFC_MyToolDlg::OnBnClickedButton7()
{
    // TODO: 在此添加控件通知处理程序代码
    ShellExecute(NULL, "open", "perfmon.msc", "", "", SW_SHOWNORMAL);
}

//任务管理器
void CMFC_MyToolDlg::OnBnClickedButton11()
{
    // TODO: 在此添加控件通知处理程序代码
    ShellExecute(NULL, "open", "taskmgr", "", "", SW_SHOWNORMAL);
}

//事件查看器
void CMFC_MyToolDlg::OnBnClickedButton15()
{
    // TODO: 在此添加控件通知处理程序代码
    ShellExecute(NULL, "open", "eventvwr.msc", "", "", SW_SHOWNORMAL);
}

//吾爱论坛
void CMFC_MyToolDlg::OnBnClickedButton4()
{
    // TODO: 在此添加控件通知处理程序代码
    ShellExecute(NULL, "open", "iexplore", "www.52pojie.cn", "", SW_SHOWNORMAL);
}

//看雪论坛
void CMFC_MyToolDlg::OnBnClickedButton8()
{
    // TODO: 在此添加控件通知处理程序代码
    ShellExecute(NULL, "open", "iexplore", "www.pediy.com", "", SW_SHOWNORMAL);
}

//吾爱OD
void CMFC_MyToolDlg::OnBnClickedButton12()
{
    // TODO: 在此添加控件通知处理程序代码
    ShellExecute(NULL, "open", "D:/Crack Tool/吾爱破解专用版Ollydbg/吾爱破解[LCG].exe", "", "", SW_SHOWNORMAL);
}

//X64 dbg
void CMFC_MyToolDlg::OnBnClickedButton16()
{
    // TODO: 在此添加控件通知处理程序代码
    ShellExecute(NULL, "open", "D:/Crack Tool/x64dbg_2021_07_01/release/x64/x64dbg", "", "", SW_SHOWNORMAL);
}

https://z3.ax1x.com/2021/10/03/4qUh8O.png

0x3 程序调试

  1.小菜鸟看着自己的工具箱,感觉自己好厉害,来,试试,点击截图工具,没反应???
逐个点击一遍:
截图工具
系统配置
翻车了,点击无效,没有反应。

  2.看一看百度上对这个函数的说明:
返回的HINSTANCE可以将它转换为一个整数(%d),并比较它的值大于还是小于32或比较它的错误代码
返回值大于32表示执行成功
返回值小于32表示执行错误

以截图工具为例,修改代码:

    int i = (int)ShellExecute(NULL, "open", TEXT("snippingTool"), "", "", SW_SHOWNORMAL);
    switch (i)
    {
    case 0:
        MessageBox("内存不足","错误");
        break;
    case 2:
        MessageBox("文件名错误", "错误");
        break;
    case 3:
        MessageBox("路径名错误", "错误");
        break;
    case 11:
        MessageBox("EXE 文件无效", "错误");
        break;
    case 26:
        MessageBox("发生共享错误", "错误");
        break;
    case 27:
        MessageBox("文件名不完全或无效", "错误");
        break;
    case 28:
        MessageBox("超时", "错误");
        break;
    case 29:
        MessageBox("DDE 事务失败", "错误");
        break;
    case 30:
        MessageBox("正在处理其他 DDE 事务而不能完成该 DDE 事务", "错误");
        break;
    case 31:
        MessageBox("没有相关联的应用程序", "错误");
        break;
    default:
        MessageBox("程序正常", "正确");
        break;
    }

  3.区区错误,也想欺负小菜鸟,看我case大法一出:
https://z3.ax1x.com/2021/10/03/4qdQXQ.png
纳尼???文件名错误,在开始菜单试了又试,明明可以打开的啊???
https://static.52pojie.cn/static/image/smiley/laohu/laohu15.gif

  4.目前小菜鸟的编译模式是release x86,那么去SysWOW64目录下看看,居然没有截图工具,那我开始菜单的截图工具哪来的呢?C:\Windows\system32,好吧,我的系统是win7 64位的,64位的...,64位的,32位默认寻找SysWOW64这个目录去了。

  5.代码生成模式改成release x64试试,傻眼了,一片红,c++字符串和window字符串不兼容,每一个包裹一下TEXT宏算了。

ShellExecute(NULL, TEXT("open"), TEXT("SnippingTool"), NULL, NULL, SW_SHOWNORMAL);

  6.成功了,果然是操作系统的问题。
https://z3.ax1x.com/2021/10/03/4qBP6U.png

  7.按钮事件最终源码:

//计算器
void CMFC_MyToolDlg::OnBnClickedButton1()
{
    // TODO: 在此添加控件通知处理程序代码
    ShellExecute(NULL, TEXT("open"), TEXT("calc"), NULL,NULL, SW_SHOWNORMAL);
}

//画图
void CMFC_MyToolDlg::OnBnClickedButton5()
{
    // TODO: 在此添加控件通知处理程序代码
    ShellExecute(NULL, TEXT("open"), TEXT("mspaint"), NULL, NULL, SW_SHOWNORMAL);
}

//截图工具
void CMFC_MyToolDlg::OnBnClickedButton9()
{
    // TODO: 在此添加控件通知处理程序代码
    ShellExecute(NULL, TEXT("open"), TEXT("SnippingTool"), NULL, NULL, SW_SHOWNORMAL);
}

//记事本
void CMFC_MyToolDlg::OnBnClickedButton13()
{
    // TODO: 在此添加控件通知处理程序代码
    ShellExecute(NULL, TEXT("open"), TEXT("notepad"), NULL, NULL, SW_SHOWNORMAL);
}

//系统配置
void CMFC_MyToolDlg::OnBnClickedButton2()
{
    // TODO: 在此添加控件通知处理程序代码
    ShellExecute(NULL, TEXT("open"), TEXT("msconfig"), NULL, NULL, SW_SHOWNORMAL);
}

//屏幕键盘
void CMFC_MyToolDlg::OnBnClickedButton6()
{
    // TODO: 在此添加控件通知处理程序代码
    ShellExecute(NULL, TEXT("open"), TEXT("osk"), NULL, NULL, SW_SHOWNORMAL);
}

//注册表编辑
void CMFC_MyToolDlg::OnBnClickedButton10()
{
    // TODO: 在此添加控件通知处理程序代码
    ShellExecute(NULL, TEXT("open"), TEXT("regedit"), NULL, NULL, SW_SHOWNORMAL);
}

//DirectX 诊断
void CMFC_MyToolDlg::OnBnClickedButton14()
{
    // TODO: 在此添加控件通知处理程序代码
    ShellExecute(NULL, TEXT("open"), TEXT("dxdiag"), NULL, NULL, SW_SHOWNORMAL);
}

//组策略
void CMFC_MyToolDlg::OnBnClickedButton3()
{
    // TODO: 在此添加控件通知处理程序代码
    ShellExecute(NULL, TEXT("open"), TEXT("gpedit.msc"), NULL, NULL, SW_SHOWNORMAL);
}

//资源监视器
void CMFC_MyToolDlg::OnBnClickedButton7()
{
    // TODO: 在此添加控件通知处理程序代码
    ShellExecute(NULL, TEXT("open"), TEXT("perfmon.msc"), NULL, NULL, SW_SHOWNORMAL);
}

//任务管理器
void CMFC_MyToolDlg::OnBnClickedButton11()
{
    // TODO: 在此添加控件通知处理程序代码
    ShellExecute(NULL, TEXT("open"), TEXT("taskmgr"), NULL, NULL, SW_SHOWNORMAL);
}

//事件查看器
void CMFC_MyToolDlg::OnBnClickedButton15()
{
    // TODO: 在此添加控件通知处理程序代码
    ShellExecute(NULL, TEXT("open"), TEXT("eventvwr.msc"), NULL, NULL, SW_SHOWNORMAL);
}

//吾爱论坛
void CMFC_MyToolDlg::OnBnClickedButton4()
{
    // TODO: 在此添加控件通知处理程序代码
    ShellExecute(NULL, TEXT("open"), TEXT("iexplore"), TEXT("www.52pojie.cn"), NULL, SW_SHOWNORMAL);
}

//看雪论坛
void CMFC_MyToolDlg::OnBnClickedButton8()
{
    // TODO: 在此添加控件通知处理程序代码
    ShellExecute(NULL, TEXT("open"), TEXT("iexplore"), TEXT("www.pediy.com"), NULL, SW_SHOWNORMAL);
}

//吾爱OD
void CMFC_MyToolDlg::OnBnClickedButton12()
{
    // TODO: 在此添加控件通知处理程序代码
    ShellExecute(NULL, TEXT("open"), TEXT("D:/Crack Tool/吾爱破解专用版Ollydbg/吾爱破解[LCG].exe"), NULL, NULL, SW_SHOWNORMAL);
}

//X64 dbg
void CMFC_MyToolDlg::OnBnClickedButton16()
{
    // TODO: 在此添加控件通知处理程序代码
    ShellExecute(NULL, TEXT("open"), TEXT("D:/Crack Tool/x64dbg_2021_07_01/release/x64/x64dbg"),  NULL, NULL, SW_SHOWNORMAL);
}

0x4 总结

  1.新建MFC程序,选择基于对话框,选择在静态库中使用MFC,主框架选择粗框架带最大化和最小化框,还有菜单栏,修改对话框标题为小菜鸟的工具箱,高级功能全部不勾选,然后点完成。

  2.点击MFC_MyTool.rc资源文件,切换到资源视图,del删掉里面的内容。

  3.选择视图-工具箱,添加button按钮,在外观-caption中修改按钮上的文字。

  4.双击按钮进入编辑界面,添加ShellExecute(NULL, TEXT("open"), TEXT("calc"), NULL, NULL, SW_SHOWNORMAL);,运行程序,点击按钮即可打开计算器。

  5.重复上面步骤,就可以开发自己的工具箱,是不是很简单呢。

  6.调试的时候走了一些弯路,我以为指定路径为system32就可以,后来才想到这个目录下的是64位程序,调用不了,最后才想到修改程序的生成模式。

0x5 参考资料

  1.ShellExecute-百度百科

  2.程序下载地址(编译环境,Visual Studio 2015 release x64,MFC静态链接):https://wwx.lanzoui.com/i4MkKut3pfc

  3.源码下载地址:
链接:https://pan.baidu.com/s/1KgyaSuqQuXqoKtIW3IfWlQ
提取码:52pj

  PS:善于总结,善于发现,找到分析问题的思路和解决问题的办法。虽然我现在还是零基础的小菜鸟一枚,也许学习逆向逆天改命我会失败,但也有着成功的可能,只要还有希望,就决不放弃!

免费评分

参与人数 87吾爱币 +69 热心值 +80 收起 理由
354625 + 1 + 1 加油,为自己而努力
zjb12345 + 1 + 1 我很赞同!
一指流年 + 1 + 1 热心回复!
胖大熊 + 1 + 1 用心讨论,共获提升!
zgqc + 1 + 1 谢谢@Thanks!
皮一笙 + 1 加油
cocoy + 1
我是菜鸟我先灰 + 1 + 1 谢谢@Thanks!
jio8989 + 1 + 1 我很赞同!
wyz12315 + 1 我很赞同!
kk225566 + 1 + 1 我很赞同!
baishikele1996 + 1 谢谢@Thanks!
guapsl + 1 + 1 非常好
Powerpoint + 1 + 1 我很赞同!
aa530416 + 1 我很赞同!
abc104107 + 1 + 1 我很赞同!
jeakson + 1 + 1 用心讨论,共获提升!
c199188177c + 1 + 1 热心回复!
“Www” + 1 + 1 我很赞同!
budng + 1 + 1 加油
ddj74751 + 1 用心讨论,共获提升!
yhsy1002 + 1 热心回复!
wl0034 + 1 + 1 关注了
萧鸣年华醉思卿 + 1 + 1 我很赞同!
Zdoat2 + 1 + 1 谢谢@Thanks!
宾鹏博 + 1 + 1 谢谢@Thanks!
ice1428 + 1 谢谢@Thanks!
zhhg666 + 1 + 1 我很赞同!
cancer95 + 1 + 1 我很赞同!
m16139 + 1 热心回复!
wwwwlichen + 1 + 1 谢谢@Thanks!
mxo2020 + 1 + 1 我很赞同!
nikita. + 1 + 1 谢谢@Thanks!
wuweifeizhu + 1 用心讨论,共获提升!
ccitllz + 1 我很赞同!
nenuld + 1 用心讨论,共获提升!
cuit_zx + 1 + 1 我很赞同!
angelypcd + 1 + 1 谢谢@Thanks!
tanglang1026 + 1 + 1 谢谢@Thanks!
闲到哀伤 + 1 + 1 努力的你值得
Celery + 1 + 1 用心讨论,共获提升!
chady + 1 + 1 谢谢@Thanks!
iqeq + 1 + 1 用心讨论,共获提升!
代号3 + 1 + 1 用心讨论,共获提升!
库克船长什么样 + 1 + 1 热心回复!
tljwx + 1 + 1 谢谢@Thanks!
抱歉、 + 1 用心讨论,共获提升!
81796lu + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
pycah + 1 + 1 谢谢@Thanks!
weiweisdo + 1 + 1 谢谢@Thanks!
hewang123 + 1 用心讨论,共获提升!
jsstar + 1 鼓励转贴优秀软件安全工具和文档!
tangliangwudi + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
gaga12551990 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
dddl + 1 + 1 加油!
拾荒少年 + 1 + 1 热心回复!
zhiyiyang + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
nndyky + 1 + 1 鼓励转贴优秀软件安全工具和文档!
diwuc + 1 + 1 我很赞同!
lin860 + 1 + 1 我很赞同!
plasd + 1 谢谢@Thanks!
wyyynioo + 1 + 1 用心讨论,共获提升!
jsongc + 1 + 1 谢谢@Thanks!
ckawxy + 1 + 1 热心回复!
okcai + 1 加油ing!感谢分享码字
h12647677 + 1 热心回复!
qdshao + 1 + 1 看不懂,分加上!
無--為 + 1 谢谢@Thanks!
qsj521521 + 1 + 1 谢谢@Thanks!
违规昵称4 + 1 + 1 我很赞同!
raymondw80 + 1 用心讨论,共获提升!
zhuhlu + 1 + 1 谢谢@Thanks!
wubaochong + 1 + 1 用心讨论,共获提升!
shura2sky + 1 + 1 虽然志向不同,但有精神传承
z_h_m_y + 1 + 1 我很赞同!
san4san + 1 + 1 我很赞同!
Gzsod + 1 + 1 热心回复!
mingtou804 + 1 热心回复!
阳光之源 + 1 热心回复!
blhy + 1 + 1 加油
gaoming513 + 1 + 1 谢谢@Thanks!
chyc16 + 1 + 1 谢谢@Thanks!
freedonn + 1 + 1 热心回复!
芥末味彩虹 + 1 谢谢@Thanks!
user002 + 1 + 1 我很赞同!
padastar + 1 谢谢@Thanks!
sdaza + 1 热心回复!

查看全部评分

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

Eaglecad 发表于 2021-10-5 08:06
Eaglecad 发表于 2021-10-4 08:41
切换到64位需要增加text应该是工程配置里的编码和32位的不一致,或者就是你使用了win32的宏。正常情况应该 ...

加油💪
bz0d020401 发表于 2021-10-4 08:02
Eaglecad 发表于 2021-10-4 08:41
切换到64位需要增加text应该是工程配置里的编码和32位的不一致,或者就是你使用了win32的宏。正常情况应该是不需要加转换的

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
小菜鸟一枚 + 1 + 1 谢谢大佬指点!

查看全部评分

sevenvbtw 发表于 2021-10-4 07:36
好详细啊,谢谢分享
马可菠萝蜜 发表于 2021-10-4 07:50
谢谢大佬的新手教程
ylac 发表于 2021-10-4 07:51
不错,努力学习
GuiXiaoQi 发表于 2021-10-4 08:01
好好学习,天天向上
chxi 发表于 2021-10-4 08:26
谢谢你的新手教程。
517 发表于 2021-10-4 08:36
膜拜,坚持就是胜利。可惜我不会。看看我注册日期。
homehome 发表于 2021-10-4 08:39
新手教程
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 提醒:禁止复制他人回复等『恶意灌水』行为,违者重罚!

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

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

GMT+8, 2024-4-26 08:16

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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