前言 本程序基于东灿的异常调试模块5.2部分版权信息如下: 1. 该模块功能是补足易错误管理器无法捕捉的异常。 2. 本模块可以截获许多异常,比如内存读写错误,非法汇编指令,算术异常,其他异常等等。 3. 本模块拥有try/catch的异常处理模型,支持多层嵌套,支持向上处理。允许用户自己设定跳过致命异常。 4. 并且支持易原错误管理器接管 5. 建议配合配套工具使用更加好用 正文: 程序原使用模块: 模块名 作者或工作室 用处 高级ApiHookEx 作者未知 HookApi,在模块中用于Hook:CreateRemoteThreadEx和CreateRemoteThread AppThreadVar 作者未知 进程内变量,线程内变量。可以在任意ec模块,任意DLL内调用,全部共享 callstack 作者未知 函数调用堆栈跟踪。 disasm 作者未知 支持MMX/SSE/SSE2/SSE3/3DNow取CPU指令长度 GetThisModuleHandle 作者未知 取出当前ModuleHandle e-try/catch(即new_SEH) 星锋工作室-东灿 SEH结构体等 精简内容 简化模块(即多模块合一,但互相不影响,并且删去了重复的API,数据类型等) 增加注释:对于代码,追加了更多的注释。 部分原理理解(很多都是本人自己的理解,可能不对,若有错误,欢迎指出):AppThreadVar:工作核心:tls线程局部存储(缩写为TLS。进程中的全局变量与函数内定义的静态(static)变量,是各个线程都可以访问的共享变量。在一个线程修改的内存内容,对所有线程都生效。这是一个优点也是一个缺点。说它是优点,线程的数据交换变得非常快捷。说它是缺点,一个线程死掉了,其它线程也性命不保; 多个线程访问共享数据,需要昂贵的同步开销,也容易造成同步相关的BUG。) 部分功能:它主要是为了避免多个线程同时访存同一全局变量或者静态变量时所导致的冲突,尤其是多个线程同时需要修改这一变量时。为了解决这个问题,我们可以通过TLS机制,为每一个使用该全局变量的线程都提供一个变量值的副本,每一个线程均可以独立地改变自己的副本,而不会和其它线程的副本冲突。从线程的角度看,就好像每一个线程都完全拥有该变量。而从全局变量的角度上来看,就好像一个全局变量被克隆成了多份副本,而每一份副本都可以被一个线程独立地改变。 用途:动态TLS和静态TLS这两项技术在创建DLL的时候更加有用,这是因为DLL通常并不知道它们被链接到的应用程序的结构是什么样的。1. 如果应用程序高度依赖全局变量或静态变量,那么TLS可以成为我们的救生符。因而最好在开发中最大限度地减少对此类变量的使用,更多的依赖于自动变量(栈上的变量)和通过函数参数传入的数据,因为栈上的变量始终都是与某个特定的线程相关联的。如果不使用此类变量,那么就可以避免使用TLS。2. 但是在编写应用程序时,我们一般都知道自己要创建多少线程,自己会如何使用这些线程,然后我们就可以设计一些替代方案来为每个线程关联数据,或者设计得好一点的话,可以使用基于栈的方法(局部变量)来为每个线程关联数据 TLS分动态和静态,AppThreadVar我认为是动态TLS(调用了TlsAlloc函数) 相当于静态变量(我也只能理解到这里了) ApiHookEx和大部分的APIHook工作原理类似 e-try/catch说实话,这个模块我几乎不能理解原理(能理解的基本上是一些Api,比如MiniDumpWriteDump) 这个可能也是用于捕获异常,而且比较神奇的是,这个捕获到异常以后不会导致程序的退出,而是程序能够正常运行! 可以抛出自定义数值异常,由catch_int/catch_eq_int接收 可以抛出最后一次异常,让上层错误处理器处理 部分实例: try/catch测试:try/catch结果: 部分崩溃代码测试: 结果部分: 程序可以自己写出DMP文件: 更多功能请自己测试!!
2023-11-30 17:01:23 412KB 模块控件源码
1
frp 是一种快速反向代理,允许您将位于 NAT 或防火墙后面的本地服务器暴露给 Internet。它目前支持TCP和UDP,以及HTTP和HTTPS协议,可以通过域名将请求转发到内部服务。 frp 还提供了 P2P 连接模式。
2023-11-30 12:23:23 9.62MB linux arm
1
本来就是免费资源,未商用,没有版权问题,审核别卡。 Marktext0.17.1版本,内置最新中文语言包,下载即用,无需安装,适用于Windows。 自从typora结束beta测试开始收费以来,Market是很好的替代产品,甚至有过之而无不及。 Marktext的优点众多,包括且不限于: 1、强大的编辑器:支持文本的复制、粘贴、查找、替换以及重做和撤销等基本操作。 2、个性的功能:包括列表、表格、链接和表情符号的输入。 3、自动完成。 4、兼容主题的语言。 5、丰富的主题。 6、编辑支持:源代码模式,打字机模式,焦点模式等。 7、支持setext标题,但默认标题样式是atx。 8、支持 CommonMark Spec 和 GitHub Flavored Markdown Spec 语法格式,生成的 Markdown 可以复制到任何支持 markdown 格式的社区、网站。 9、段落及行内样式快捷键提升您的编辑效率。 10、输出 HTML 和 PDF 格式文件,方便在浏览器中预览。 11、黑、白两款主题,自由切换。 ——————————— 资源免费,人人可下,有问题欢迎评论区留言。
2023-11-30 08:52:34 113.83MB windows Marktext typora Markdown
1
C++ Reference v3.1 CHM版本
2023-11-30 08:17:06 9.45MB Reference v3.1 CHM版本
1
MCU使用的是stm32f103,代码基于HAL库编写,并且经过实际测试以及逻辑分析仪抓取波形,通讯稳定。更多详细信息可以查看我发布的博客《STM32设置为I2C从机模式(HAL库版本)》
2023-11-29 20:35:02 7.7MB stm32 i2c
1
支持PC+WAP+APP三端,对接苹果CMS后台,没测试,自行探索
2023-11-29 00:51:55 35.55MB
1
tesseract的编译文件,可用于qt在windows上进行开发
2023-11-28 19:08:28 39.32MB ocr
1
“dpkg ”是“Debian Packager ”的简写。为 “Debian” 专门开发的套件管理系统,方便软件的安装、更新及移除。所有源自“Debian”的“Linux ”发行版都使用 “dpkg”,例如 “Ubuntu”、“Knoppix ”等。 dpkg是Debian软件包管理器的基础,它被伊恩·默多克创建于1993年。dpkg与RPM十分相似,同样被用于安装、卸载和供给.deb软件包相关的信息。 dpkg本身是一个底层的工具。上层的工具,如APT,被用于从远程获取软件包以及处理复杂的软件包关系。 “dpkg”是“Debian Package”的简写。
2023-11-28 14:38:01 5.96MB
1
Java How to Program,11 / e,早期对象版本 源代码 这些文件仅供您个人使用,不得重新分发或重新发布。 如有任何疑问,请在“问题”标签中打开一个问题,或给我们发送电子邮件:在deitel dot com上发送deitel。 第25章(您手动输入到Jshell中的代码段)或第33章(ATM代码在第34章中)都没有代码。 Deitel&Associates,Inc和Pearson Education,Inc.版权所有1992-2017。保留所有权利。 本书的作者和出版者已竭尽所能编写本书。 这些工作包括对理论和程序的开发,研究和测试,以确定其有效性。 对于这些程序或本书中包含的文档,作者和发行者不作任何形式的明示或暗示的保证。 在任何情况下,作者,出版商均不对与提供,执行或使用这些程序有关的或由其引起的附带或间接损失负责。
2023-11-28 09:10:22 328.81MB 系统开源
1
aspose jar包及帮助类 可直接使用
2023-11-26 22:56:20 67.35MB java aspose
1