学破解第147天,《教你零基础一句代码制作自己的工具箱V1.0》学习
学破解第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程序
2.点下一步,选择基于对话框,同时选择在静态库中使用MFC,这是生成代码时打包静态库,方便其他电脑上运行。
3.选择主框架样式,修改程序的标题,直接点完成项目就被创建好了。
0x2 添加工具
1.视图-工具箱,添加一个button,单击,修改caption为计算机:
2.双击进去,看到:
void CMFC_MyToolDlg::OnBnClickedButton1(){ // TODO: 在此添加控件通知处理程序代码}
3.添加inExec("calc.exe", SW_SHOWNORMAL);代码,保存,生成程序,点击计算器,成功打开了计算器。
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);}//吾爱ODvoid CMFC_MyToolDlg::OnBnClickedButton12(){ // TODO: 在此添加控件通知处理程序代码 ShellExecute(NULL, "open", "D:/Crack Tool/吾爱破解专用版Ollydbg/吾爱破解[LCG].exe", "", "", SW_SHOWNORMAL);}//X64 dbgvoid CMFC_MyToolDlg::OnBnClickedButton16(){ // TODO: 在此添加控件通知处理程序代码 ShellExecute(NULL, "open", "D:/Crack Tool/x64dbg_2021_07_01/release/x64/x64dbg", "", "", SW_SHOWNORMAL);}
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; }