自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Rprop

It's not a bug; it's an undocumented feature

  • 博客(171)
  • 资源 (34)
  • 问答 (1)
  • 收藏
  • 关注

原创 C++从内存中加载映像(EXE/DLL)到本地或者远程进程执行

被加载的映像如果是EXE比必须关闭 固定基址(/FIXED:NO)即必须有重定位表, 否则无法处理重定位.void load_image(){ auto pImage = data;//欲加载映像的内存地址 void *pDest = NULL; HANDLE pSection; LdrSup::AlignSections32(&pSection, pDest, pImag

2012-07-25 14:34:45 40852 1

原创 C++构造DHCP Discovery报文并使用socket发送

DHCP由BOOTP协议发展而来,而后者基于UDP、IP协议,这使得使用socket发送DHCP报文成为可能。本文示例构造了DHCP Discovery报文并调用socket接口发送,值得注意的是,由于DHCP要求发送者ip是0.0.0.0,所以必须使用raw socket进行发送(本文没有示例),更进一步的,用户层代码Linux、macOS系统可以使用libpcap,Windows系统可以使用Windivert、Winpcap/Npcap进行发送。

2012-07-15 18:45:00 48599 3

原创 C++解析http-chunked数据

chunked 是http传输过程中常用的一种分块手段, 这里是对chunked数据的简易处理方法,主要是拼接block, 去掉块大小和回车信息即可static ResponseStream *rlib_parse_chunk_data(char *lp_chunk_data, intptr_t nsize){ auto pstream = new ResponseStream(Utilit

2012-07-12 06:57:11 40141 3

原创 数字图像处理均衡化灰度拉伸C++实现

/// /// 均衡化灰度拉伸/// /// 输出图像数据/// 输入图像数据/// 图像宽度/// 图像高度void equalize_gray(unsigned char *lpdst, const unsigned char *lpsrc, int width, int height){ RLIB_RENAME(width, width_x_height); width_

2012-06-23 08:08:53 53955 2

原创 C++向目标进程PEB模块链添加自己的DLL

有时候为了让内存注入的DLL现身, 就需要用到这个方法了 auto lppeb = reinterpret_cast(AppBase::GetPEBAddress()); if (NtGetModule(_T("QQManager.dll")) == NULL) { String StartupPath = String(BaseDllDir) + _T("QQManager.dll");

2012-06-23 07:38:18 2558 10

转载 动态规划算法解最长公共子序列LCS问题

动态规划算法解LCS问题动态规划一般也只能应用于有最优子结构的问题。最优子结构的意思是局部最优解能决定全局最优解(对有些问题这个要求并不能完全满足,故有时需要引入一

2012-04-30 07:59:31 45180 6

原创 STL vector 源码解析

前言项目组要实现一个算法库,其中涉及到了类似vector的一维数组的实现。特此,对stl中得vector做个学习和了解。有任何问题,欢迎不吝指正。谢谢。一、如何实现vector 如果给你一道面试题,如何用数据结构实现STL中vector的功能?聪明的你会怎么做呢?或许你会如下所述:或许,如果不考虑分配效率,只需要两个成员就可以实现了 template class Vec

2012-04-30 07:46:16 17473 5

原创 选择类排序法 — 简单选择排序

9.4 选择类排序法选择排序的基本思想是:每一趟在n-i+1(i=1,2,…n-1)个记录中选取关键字最小的记录作为有序序列中第i个记录。我们主要介绍简单选择排序、树型选择排序和堆排序。   简单选择排序简单选择排序的基本思想:第i趟简单选择排序是指通过n-i次关键字的比较,从n-i+1个记录中选出关键字最小的记录,并和第i个记录进行交换。共需进行i-1趟比较,直到所有记录排序完成为止

2012-04-21 21:25:47 21864 1

原创 各类经典搜索算法(Search Algorithms)的简单介绍和C++实现

/// /// 顺序搜索法(Sequential Search)/// 优点: 该方法对数据无事先排序(Sorting)要求, 容易实现/// 缺点: 搜索效率差(平均搜索 (N + 1) / 2 次), 不管是否排序, 每次都必须从头到尾遍历一次/// 时间复杂度: /// 如果没有重复数据,线性查找在找到任一元素时就终止,否则需要全部遍历. 在最差情況下, 需作N次比较, O(N)

2012-04-21 16:05:34 48682

原创 各类文件的文件头标志

各类文件的文件头标志1、从Ultra-edit-32中提取出来的JPEG (jpg),文件头:FFD8FFPNG (png),文件头:89504E47GIF (gif),文件头:47494638TIFF (tif),文件头:49492A00Windows Bitmap (bmp),文件头:424DCAD (dwg),文件头:41433130Adobe Photosh

2012-04-21 13:19:20 28718 2

转载 x86 指令集介绍 - Call 过程调用指令

Description    Saves procedure linking information on the stack and branches to the procedure (called procedure) specified with the destination (target) operand. The target operand specifies the add

2012-04-14 15:31:30 12777 3

原创 C++对齐杂注__declspec(align(#))和#pragma pack的区别

一般来讲, 访问未对齐的内存(misaligned access)轻则影响效率, 重则引发异常(包括指令执行异常和结构体对齐不正常引发的逻辑BUG等), 总之内存对齐是程序员尤其是C/C++程序员是不得不重视的一个问题. MSVC++提供了两种对齐杂注, __declspec(align(#))和#pragma pack, 而在C++11标准中也加入了描述符alignas用于对齐控制, 本文主要简单解释下前面两种杂注的区别, 权当作者学习笔记.

2012-04-08 10:08:02 48696

原创 TinyXML不支持UNICODE的解决方法【改造TinyXML】

TinyXML目前仅直接支持解析UTF-8或者ASCII编码的XML, 对于其它编码必须经过转换才能使用, 这给Windows项目带来了麻烦, 频繁的编码转换也可能给性能带来巨大损失.对此, 作者给出了解释的是"UTF-8 is not a double byte format - but it is a standard encoding of Unicode! TinyXML

2012-04-08 10:01:09 18858 6

原创 #include <Windows.h> 和 <Winsock2.h>冲突的改进解决方案

#include #include 上面的代码会导致重定义错误, 原因就是 Windows.h 中包含了 Winsock.h(不是Winsock2.h) , 百度的解决方案是加入#define WIN32_LEAN_AND_MEAN 编译通过, OK!然而, 由于使用socket的项目是DLL项目, 当把该DLL引用到其它项目中(如DUILIB)就会发生错误, 错误就是WIN3

2012-04-02 11:06:26 6102

原创 C++调用NTAPI枚举并强制关闭指定进程

#include "../../RLib/RLib/native/RLib_Native.h"#pragma comment(lib, "ntdll.lib")Array *found_if_process_by_name(LPCWSTR name IN, LPCWSTR parent_name IN){ unsigned long bytes = 0; ManagedMemoryB

2012-03-24 10:40:28 41943 2

原创 android ndk开发中常用的系统自带网络命令

android本身内置了一些网络命令,使用这些命令程序尤其基于ndk开发时会获得很多便利,并在某种程度上可以绕开上层的限制、获得更多详细的信息和更好的灵活性等。

2012-03-17 17:28:09 10028 4

原创 C/C++获取函数返回地址

一般而言, 能否覆盖函数返回地址是栈溢出攻击成功与否的前提, 而获取函数返回地址原理很简单, 栈回溯即可, 下面是x86上相应获取代码(仅为示例不可用于生产):#define Stack_Length (4 * 4 * 4)static void *_esp_arr[Stack_Length];void *GetRet(void *caller){ void *_esp; __asm

2012-03-11 13:20:33 10298 3

原创 32位与64位区别与编译器数据模型简介

一、32位与64位区别 32位和64位机器。       32位和64位指的是机器字长,即CPU能同时处理的数据的最大宽度。一台电脑机器主要由CPU、内存、IO设备、总线组成,称电脑机器是64位是指以上设备都支持64位。32位和64位操作系统。       从硬件理论上说,64位机器的总体处理速度约为32位机器的2倍。操作系统依赖机器但又不完全依赖它。软件兼容性上,32

2012-03-10 16:33:34 16303

原创 XYWi-Fi v2.0 简单的笔记本无线热点分享工具【Win】

可执行文件、源码下载地址:  http://code.google.com/p/rlib/downloads/list

2012-03-04 13:45:14 9326 8

原创 RtlCreateUserThread创建用户线程

HANDLE WINAPI RLIBCreateThread(HANDLE hProcess, SECURITY_ATTRIBUTES *sa, SIZE_T stack, LPTHREAD_START_ROUTINE start, LPVOID param, DWORD flags, LPDWORD id ){ HANDLE handle; CLIENT_ID client_id; NT

2012-02-19 10:49:59 5167 2

原创 【DuiLib入门基础】九宫格corner属性详细解释

技术背景九宫格是用来减少图片缩放拉伸时失真程度的一种常用技术, 如果你做过android开发尤其是手游这块, 你可能很快发现这其实就是android所直接支持的一个特性9patch.对于九宫格图片,渲染引擎在绘制只拉伸图片中心部分,四个边角却不会被拉伸,这样只要图片中心的颜色是或近乎纯色,那么即使拉伸的倍数再大也会基本保持原有的整天效果。(这点可以用来弥补非矢量图的缺陷, 而且避免了矢量图

2012-02-12 11:30:52 65604 2

原创 不走寻常路的常识逻辑学家:Lisp之父约翰•麦卡锡

如果希望计算机具有一般的智能,那么其外在结构就必须基于一般的常识和推理——约翰·麦卡锡一个5岁的小女孩在玩一辆塑料玩具卡车,把它推来推去,嘴里模仿着喇叭声。她知道不能在餐桌上玩它,也不能用它去打弟弟的头。去学校之前,她会把卡车放到弟弟够不着的地方。放学回家后,她也知道在原来的地方可以找到自己的玩具车。引导她的行为和期望的推理非常简单,任何一个同龄的小孩都能理解。但是大多数计算机却不能。

2012-02-03 20:13:24 21556 1

原创 开源一套自己写的C++工具库 - RLib 开源框架

RLib aims at providing a lightweight, highly cohesive and low coupling framework of useful cpp toolkit.

2012-02-02 22:06:40 38143 2

原创 Android在JNI层反射替换当前app的ClassLoader

值得一提的是,反射确实是个很强大很灵活的东西, 借助哈希、红黑树等高度优化的数据结构让反射的代价降到了极低,通过反射+JNI, 可以做到几乎任何你想做的东西。JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM *jvm, void *unused){ JNIEnv *env; jvm->GetEnv(reinterpret_cast(&env), JNI_VER

2012-02-02 15:47:29 6380

原创 解决adb connect无法连接Android设备

一般情况下,只要Android设备和主机处于同一局域网(互联网也行,不过要求Android设备有公网Ip或者上层路由做好端口映射),并且打开了相关开发者选项(如USB调试等,国内ROM自定义太多了,各家表述不一样),adb connect ip即可成功建立连接,但有时部分设备会遇到以下情况:unable to connect to 192.168.0.100:5555: cannot conn

2012-02-02 15:46:20 67658

原创 编程方式解析C++符号修饰别名(mangled name)

相比C语言,C++支持函数重载、类、模版等各种特性,如果C++的符号修饰仍按照C那样直接使用对应名称,虽然可读性很好,却不可避免的会出现各种错乱,于是C++符号修饰别名(mangled name)被设计出来, 用来解决上述问题,然而修饰规则取决于编译器实现,没有统一标准,比如gcc、msvc就各有一套,但好在都提供了相应接口进行解析(demangle),下面介绍如何使用他们

2012-02-02 15:42:58 8500 2

原创 针对 std::string 的 trim 和 replace 方法

std::string不支持trim方法,同时原生的replace方法在使用上和其它语言也有些许差别,这里提供了两个替代方法,个人感觉更加好用。

2012-02-02 15:40:32 51053 3

原创 C++实现搜狗浏览器加速代理客户端(HTTP/HTTPS)的核心代码

借助sogou搜狗浏览器的电信, 联通和教育网的加速代理(支持CONNECT方式的HTTPS连接), 可以实现上网加速特别是教育网的加速,  不过代理不能直接使用, 必须搭建一个搜狗浏览器代理客户端来做代理的验证工作.目前搜狗的教育网代理大概如下: h0.edu.bj.ie.sogou.comh1.edu.bj.ie.sogou.comh2.edu.bj.ie.sogou.com

2012-02-02 15:37:40 13483 1

原创 C++ 用户模式调用 NtCreateThread

/******************************************************************** Created: 2012/02/01 18:17 Filename: NativeAPI.h Author: rrrfff Url: http://blog.csdn.net/rrrfff***********************

2012-02-01 21:22:05 7717 1

翻译 C#线程池用法

译自:http://www.dotnetperls.com/threadpool在C#编程语言中,使用线程池可以并行地处理工作,当强制线程和更新进度条时,会使用内建架构的ThreadPool类,为批处理使用多核结构,这里我们来看在C#编程语言中一些关于来自System.Threading的ThreadPool的用法的例子。介绍.NET Framework提供了包含ThreadPool类

2012-01-28 14:59:27 29281

原创 C# 3GQQ批量登录工具(QQ答复机器人)

2012-01-24 23:20:25 4771 63

原创 C# 正常关闭窗体的方法

最近在调试C#窗体程序的时候经常会出现上面的错误, 跟踪发现是下面的代码导致的(调试中还发现该代码会导致SendKeys.Send()方法进入阻塞状态, 原因未知): this.Close();尝试过下面的方法, 问题仍未解决(这种方法以及结束进程的"暴力"方法有很大的局限性, 例如窗体关闭时将无法"善后"):Application.Exit();但是,  如果点击标题栏的关闭按钮(X

2012-01-22 16:31:12 4719 1

原创 C# ToolStrip.ItemClicked 事件不能响应二级菜单(子菜单)的解决方法

/// /// 绑定响应事件/// this.ListMenu.ItemClicked += new System.Windows.Forms.ToolStripItemClickedEventHandler(this.ListMenu_ItemClicked);/// /// 响应ItemMenu右键菜单/// /// /// private void ItemMenu_It

2012-01-20 13:33:11 147563 5

原创 C# 读写配置文件的简单类

using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace Register{ /// /// Config类 /// public class Config { public string IniPat

2012-01-19 20:05:34 2040 1

原创 C# HttpWebRequest网络常用方法封装

C# 使用HttpWebRequest实现网络常用方法(GET, POST)的简单封装, 参数定制也很方便.虽然.NET框架原生提供了类似的包装WebClient, 功能全面但是控制起来远不如HttpWebRequest方便, 并且由于更接近Sockets层, HttpWebRequest的执行效率在一定程度上会优于WebClient

2012-01-19 20:04:07 164982 3

原创 Tesseract-OCR(开源光学字符识别引擎)

Tesseract-OCR Background           The Tesseract OCR engine was one of the top 3 engines in the 1995 UNLV Accuracy test. Between 1995 and 2006 it had little work done on it, but it is probably o

2012-01-18 21:18:02 162368 6

原创 广东移动 - 无线应用加速业务系统

业务介绍无线应用加速是以“提升上网速度,节省网络流量”为核心,为每个上网用户打造“迅速、灵巧”的云端应用中心,使云端应用中心强大的计算、存储资源以及带宽资源为我所用的一项业务。业务三大优势

2012-01-15 22:42:06 3058 1

原创 MSSQL2008 无法单步调试解决方案

安装之后要把本地账号添加为sysadmin才能进行调试附加sp_addsrvrolemember 'IPHONE9PLUS\ASUS', 'sysadmin'

2011-12-25 14:31:07 47004

原创 中国移动开发者社区 - 远程真机测试(RTS)服务

远程测试服务(RTS)是一个真实设备实验室,为开发者提供主流厂家的手机终端,方便开发者进行手机应用的开发、测试工作。开发者可以通过互联网,在远程手机设备上安装并测试应用。节省开发者的开发时间,降低开发成本。远程测试服务(RTS)使用入口

2011-12-11 08:53:10 3308 4

转载 经典算法研究系列:一、A*搜索算法

作者:July、二零一一年一月更多请参阅:十三个经典算法研究与总结、目录+索引。----------------------------------博主说明:1、本经典算法研究系列,此系列文章写的不够好之处,还望见谅。2、本经典算法研究系列,系我参考资料,一篇一篇原创所作,转载必须注明作者本人July及出处。3、本经典算法研究系列,精益求精,不断优化,永久更新,永久勘误。

2011-12-04 15:51:57 53742

MediaTek PreLoader USB VCOM Port WIN10.zip

MediaTek PreLoader USB VCOM Port驱动, 包含x64和x86两种版本, 需要禁用驱动签名校验

2020-04-06

ARM® Architecture Reference Manual ARMv8, for ARMv8-A architecture profile

ARM® Architecture Reference Manual ARMv8, for ARMv8-A architecture profile

2017-09-23

network_fix_tools_v3.zip

network_fix_tools_v3网络修复工具,支持windows 7/8/8.1/10 x86_64. 修复项包括网络适配器设备(WAN Miniport *)、网络组件(ms_pppoe, ms_pptp等)、网络协议(tcp/ip栈等)和网络客户端. 之前版本的network_fix_tools存在严重bug, 请勿使用

2016-11-22

network_fix_tools_v2.zip

network_fix_tools_v2网络修复工具,支持windows 7/8/8.1/10 x86_64. 修复项包括网络适配器设备(WAN Miniport *)、网络组件(ms_pppoe, ms_pptp等)、网络协议(tcp/ip栈等)和网络客户端.

2016-11-17

network_fix_tools.zip

network_fix_tools网络修复工具,支持windows 7/8/8.1/10 x86_64. 修复项包括网络适配器设备(WAN Miniport *)、网络组件(ms_pppoe, ms_pptp等)、网络协议(tcp/ip栈等)和网络客户端.

2016-11-07

MentoHUST_WinALL_x86_64.zip

MentoHUST, 支持全部windows版本包括windows 10, 集成最新的npcap

2016-09-28

Trial-Reset40Final_x86_x64.zip

Trial-Reset40Final_x86_x64.zip, 支持windows 10 x64

2016-09-27

PDF.XChange.Editor.6.0.318.1.x86_64.Patched.zip

PDF.XChange.Editor.6.0.318.1.x86_64.Patched.zip

2016-09-25

GitHubDesktop_3_1_1_4.zip

GitHubDesktop_3_1_1_4.zip 离线安装包, 2016/07/18

2016-07-18

MentoHUST_x64.zip for Windows 10 x64

MentoHUST_x64.zip for Windows 10 x64

2016-04-23

wke extend v1.1

/* * 拓展版本: wke 1.2, extend v1.1 * 编译环境: visual studio 2013 sp4, windows 8.1 * [1/25/2015 ASUS] */ 1.增加初始化接口 wkeInitMainThread 和 销毁接口 jsFinalize 配合 DLLLoader 和 CppMemoryModule 可实现 wke 线程间独立(不同线程拥有自己的 wke 实例, 多窗口) 2.增加Cookie设置接口, 方便读写Cookie wkeSetCookieJarFileName 3.增加代理设置接口 wkeSetProxyInfo

2015-11-09

lcx_linux_windows_incl.zip

lcx_linux_windows_incl.zip 2015.10.05 updated for linux and windows

2015-10-05

lcx.exe 精简优化版

lcx.exe, 常用的内网穿透工具, 2015.10.05精简优化版, 重构了全部源代码, 大量细节优化, VS2013编译

2015-10-05

RLib v4.5.zip

RLib v4.0.zip 2015.07.07更新版本, 使用了部分C++ 11语法, 更简洁, 附带lib和dll http://rlib.cf/

2015-07-07

wke extend v1.0.zip

/* * 基础版本: wke 1.2, flyhigh 修改版 */ http://pan.baidu.com/s/1mg0x2Og /* * 拓展版本: wke 1.2, extend v1.0 * 编译环境: visual studio 2013 sp4, windows 8.1 * [1/17/2015 ASUS] */ 1.增加用户交互接口 wkeEx::ON_CONSOLE_OUTPUT、wkeEx::ON_JS_ALERT、wkeEx::ON_JS_CONFIRM、wkeEx::ON_JS_PROMPT 2.增加文档加载完成事件 wkeClientHandler::ON_DOCUMENT_READY 3.修改事件 wkeClientHandler::ON_URL_CHANGED 返回参数 增强可控性, 主要用于增强对网页加载的控制 4.增加 本地数据存储地址 设置接口 导出 wkeEx::LocalStorageDatabasePath 5.增加 User-Agent 设置接口 导出 wkeEx::UserAgent 6.实现 打开文件 对话框 暂不支持多选, 待测试 7.修复高版本 visual studio 生成映像不正确问题, 开启编译器完全优化 8.其他细节修改

2015-01-18

Simple Assembly Explorer.v1.14.0.x86.7z

Simple Assembly Explorer SAE.v1.14.0.x86.7z 一个简单方便的实用工具,它的设立是为了使您来探索和分析.NET程序集。

2014-08-21

DuiLib窗体设计代码自动生成UIHelper v1.0

DuiLib窗体设计代码自动生成UIHelper v1.0 根据XML界面文件自动生成事件响应代码,简化开发步骤

2014-07-26

RLibv2.0 beta.zip

RLibv2.0 beta.zip 2014.07.22更新版本, Visual Studio 2013项目文件

2014-07-22

Asp.Net(C#)截全屏代码

可以 截取全屏 或者 指定区域

2013-07-25

AspxZip v2.0

AspxZip v2.0 特点: 1.能够在支持 ASP.NET 的 Web 服务器上通过友好的 Web 界面方便地 压缩/解压存放在服务器上的文档。 2.通用性极强,只要服务器支持 ASP.NET,就可以正常运行。 3.目前对 ZIP 格式档案文件提供完整支持,不久的将来,还将可以解压 RAR、ARJ等压缩格式。 4.支持如设置口令,设置压缩比例等功能。 5.没有任何限制,更新到最新版本,支持有密码文件解压。

2013-07-15

CppDLLv1.1 帮助生成.h,.def以及.lib的工具

CppDLL v1.1 is a small tool that will help you generate Cpp Header(.h) and Import Library(.lib) from Dynamic Link Library(.dll). Author: rrrfff Blog: http://blog.csdn.net/rrrfff

2012-06-02

nt.h ntdll.lib

nt.h ntdll.lib 编译必须文件

2012-04-29

Detours C++ HOOK类库

包含 1.微软的 Detour 3.0 2.列宁的大作 Detours 已测试正常

2012-04-29

C# 3G论坛抢沙发工具源码

3G论坛的抢沙发工具, 稍微修改便可成为其它论坛的抢沙发工具。共享此源码的目的最终还是在于交流学习。 源码为初学时编写,水平有限。

2012-01-19

C#界面皮肤自用控件+数十款皮肤

其中Duilib.dll是可以加载皮肤的.NET控件, 并允许嵌入到EXE程序中(与程序类合并, 非资源形式, rrrfff修改制作).

2012-01-19

j2me浏览器示范源码

对于部分网关及机型, 对WML解析可能会出错。 仅供参考 感谢支持

2012-01-15

PELoaderLib

PELoaderLib, 顾名思义, PE文件加载器,允许您从缓冲区中加载EXE、DLL等PE文件.

2012-01-15

j2me浏览器源码(Hanghai3)

Hanghai3.6.0 开源源码

2011-12-04

UPX3.07最简可编译源码【附VS工程】

官网最新版本UPX3.07最简可编译源码【附VS2010工程】。 依赖的UCL和ZLIB库均是从官网下载的最新版本。

2011-08-14

HTTP.Debugger.Pro.v4.4

HTTP Debugger Pro可以抓取,分析和调试所有的HTTP通信信息(客户机浏览器和web服务器之间),Internet软件开发者能利用HTTP Debuger来分析他们的程序和互联网之间的通信。 HTTP Debugger Pro V4.4做了很大改进,内附Keygen.

2011-07-02

Reflector.v7.0源代码

Reflector.v7.0源代码 很佩服有高手将整个工程逆向完了,这个不是真正的源代码,而是逆向分析的重建工程。 在VS2010环境中编译通过,我做了部分优化。

2011-01-28

UPX3.5附带源码

UPX3.5附带源码. his documentation is written for those brave souls who want to understand and/or modify the UPX assembly stubs - the small snippets that do the runtime decompression when a compressed program is started. If you look at the C++ source files, you can find code fragments like this: addLoader("PEMAIN20", ih.entry ? "PEDOJUMP" : "PERETURN", "IDENTSTR""UPX1HEAD", NULL ); linker->defineSymbol("original_entry", ih.entry); and in the assembly files fragments like this: section PEISDLL1 cmpb [esp + 8], 1 jnz reloc_end_jmp section PEMAIN21 reloc_end_jmp: section PERETURN xor eax, eax inc eax ret 0x0C section PEDOJUMP jmp original_entry Everything works as you would expect. If you want to add the code fragment which is in `section PERETURN' to the runtime stub, then simply use `addLoader("PERETURN")' in the C++ source. That's nice, you could say, but how cross section jumps and calls are handled? Well, that is the nicest part of this stuff - they are handled automatically. All you have to do is to add the required sections to the loader using `addLoader()' and the rest is done by upx. It will resolve every conditional or unconditional jumps or subroutine calls for you. You can also use (undefined) symbols in the assembly for values that can only be computed during compression time (like `original_entry'). These symbols can be defined later in C++ using linker->defineSymbol("xx", yy) This functionality (we could say it's a simple linker) is achieved by compiling the assembly into an ELF object file which a little C++ module (src/linker.cpp) can interpret and work with. 温馨提示:该资源已过时.

2010-05-30

【.Net 】Zip操作库

再见SharpZipLib!现在这是一个API! DotNetZip是一个易于使用,快速,自由操纵类库和工具集压缩文件或文件夹。 zip和解压很简单:与DotNetZip。NET中编写的应用程序在VB,C#中 - 任何。NET语言 - 可以轻松地创建,阅读,摘录,或更新压缩文件。对于单声道或MS。NET的。 DotNetZip工程与完整的。NET Framework的电脑,并在此使用。NET Compact Framework的移动设备上运行。在VB,c创建和读取zip文件#或任何。NET语言,或任何脚本环境。 DotNetZip支持这些方案: - 一个ASP.NET应用程序,动态创建的ZIP文件,并允许浏览器下载他们 - 一种Windows服务,定期拉链了一个用于备份和存档目录 - 一个WPF程序修改现有档案 - 重命名项,清除存档,或添加新项目到一个存档条目 - 一个Windows窗体应用程序,创建的归档内容的隐私AES加密ZIP压缩文件。 - 在PowerShell的脚本或VBScript行政执行备份和归档。 - WCF服务,它接收一个zip文件作为附件,并动态的zip解压缩到一个流分析 - 一个老派的ASP(VBScript)中的应用,产生了DotNetZIp通过COM接口一个ZIP文件 - 一个Windows窗体应用程序,读取或更新ODS的文件 - 从流内容创建zip文件,保存到一个流,提取到一个流,从流中读取 - 建立自解压缩档案。 如果你想要的是一个更好的DeflateStream或GZipStream类来代替所建立的一个到。NET的首创置业,DotNetZip了这一点。 DotNetZip的DeflateStream和GZipStream可装配在一个独立的基础上的。NET zlib的港口。这些流支持的压缩级别,并提供更好的性能,内置的类。还有一个ZlibStream完成设置文档(RFC 1950,1951,1952)。 而这一切的价格:完全免费。 DotNetZip是100%托管的代码库,可以在任何使用。NET应用 - 控制台的WinForms,WPF中,ASP.NET时,SharePoint,Web服务应用程序等。它也可以被用于从脚本环境或像Powershell脚本文件,VBScript中,VBA中,维生素B6,PHP和Perl中的语言,和更多的COM功能的环境。无论从环境中使用它,DotNetZip产生压缩文件,这些文件完全与Windows资源管理器的互操作性,以及Java应用程序,应用程序在Linux上运行。

2010-05-28

XYZip Library

XYZipLib是一个易于使用、快速、自由操纵的Zip压缩/解压类库.

2010-05-26

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除