VC实现查找纯真数据库

CRISPR筛选全流程指南:从文库构建到数据分析实战 功能基因组学研究需要高效解析基因型与表型的关联,高通量筛选技术是其中的关键工具。基于CRISPR系统的筛选方法通过大规模sgRNA文库扰动基因功能,结合慢病毒递送和测序分析,能够系统鉴定影响细胞增殖、耐药、病毒感染的候选基因。与RNAi或化学小分子筛选相比,CRISPR筛选具有覆盖全基因组、脱靶率低、信号清晰等优势,已广泛应用于药物靶点发现、合成致死和免疫治疗机制研究。本文围绕实验设计与操作中的核心要点展开,涵盖文库扩增、病毒滴度控制、MOI把握、筛选模式选择以及基于MAGeCK的sgRNA丰度分析,并针对 阅读详情
先用CreateFile打开纯真数据库,然后CreateFileMapping+MapViewOfFile做一个内存映射文件,这样好方便操作.最后就是按照作者给的纯真数据库的存储结构来一步步找了.代码如下:
ULONG SearchIdxTargetOffer(LPVOID lpPoint, ULONG ulIp, ULONG pIdxFirstOffer, ULONG pIdxLastOffer)
{
     ULONG pTargetOffer, ulnow, pIpArea;
     ulnow = (pIdxLastOffer - pIdxFirstOffer) / 2;
     ulnow -= ulnow % 7;
     pIpArea = *(PULONG)((LPBYTE)lpPoint + pIdxFirstOffer + ulnow);
     if(ulnow == 0)
     {
         if(ulIp >= *(PULONG)((LPBYTE)lpPoint + pIdxFirstOffer + 7))
              pTargetOffer = *(PULONG)((LPBYTE)lpPoint + pIdxFirstOffer + 11);
         else pTargetOffer = *(PULONG)((LPBYTE)lpPoint + pIdxFirstOffer + 4);
     }
     else if(ulIp > pIpArea)
     {
         pTargetOffer = SearchIdxTargetOffer(lpPoint, ulIp, pIdxFirstOffer + ulnow, pIdxLastOffer);
     }
     else if(ulIp < pIpArea)
     {
         pTargetOffer = SearchIdxTargetOffer(lpPoint, ulIp, pIdxFirstOffer, pIdxLastOffer - ulnow);
     }
     else if(ulIp == pIpArea)
     {
         pTargetOffer = *(PULONG)((LPBYTE)lpPoint + pIdxFirstOffer + ulnow + 4);
     }
     return (pTargetOffer << 8) >> 8;
}
 
void SearchSetInformation(LPBYTE pPointer, LPVOID pQQWryDatPointer,
         LPTSTR lpContry, ULONG ulContryLenght,
         LPTSTR lpAddress, ULONG ulAddressLenght)
#define OFFER(pOffer) ((*(PULONG)((LPBYTE)pOffer + 1) << 8) >> 8)
{
     if(*pPointer == 0x01)
     {
         SearchSetInformation((LPBYTE)pQQWryDatPointer + OFFER(pPointer),
         pQQWryDatPointer, lpContry, ulContryLenght, lpAddress, ulAddressLenght);
     }
     else if(*pPointer == 0x02)
     {
         wcscpy_s(lpContry, ulContryLenght, CA2W((LPSTR)pQQWryDatPointer + OFFER(pPointer)));
         pPointer += 4;
         if(*pPointer == 0x01 || *pPointer == 0x02)
              wcscpy_s(lpAddress, ulAddressLenght, CA2W((LPSTR)pQQWryDatPointer + OFFER(pPointer)));
         else wcscpy_s(lpAddress, ulAddressLenght, CA2W((LPSTR)pPointer));
     }
     else
     {
         wcscpy_s(lpContry, ulContryLenght, CA2W((LPSTR)pPointer));
         pPointer += strlen((LPSTR)pPointer) + 1;
         if(*pPointer == 0x01 || *pPointer == 0x02)
              wcscpy_s(lpAddress, ulAddressLenght, CA2W((LPSTR)pQQWryDatPointer + OFFER(pPointer)));
         else wcscpy_s(lpAddress, ulAddressLenght, CA2W((LPSTR)pPointer));
     }
}
 
void SearchQQWryFromIPW(IN ULONG ulIp, OUT LPTSTR lpContry, IN ULONG ulContryLenght,
        OUT LPTSTR lpAddress, IN ULONG ulAddressLenght)
{
     HANDLE hFile = CreateFile(_T("QQWry.Dat"), GENERIC_READ,
         FILE_SHARE_READ, NULL, OPEN_EXISTING, 0, NULL);
     if(hFile)
     {
         HANDLE hMapping = CreateFileMapping(hFile, 0, PAGE_READONLY, 0, 0, 0);
         if(hMapping)
         {
              LPVOID pQQWryDatPointer;
              pQQWryDatPointer = MapViewOfFile(hMapping, FILE_MAP_READ, 0, 0, 0);
              if(pQQWryDatPointer)
              {
                   LPBYTE pip = (LPBYTE)&ulIp;
                   *pip = *pip ^ *(pip+3);
                   *(pip+3) = *pip ^ *(pip+3);
                   *pip = *pip ^ *(pip+3);
                   *(pip+1) = *(pip+1) ^ *(pip+2);
                   *(pip+2) = *(pip+1) ^ *(pip+2);
                   *(pip+1) = *(pip+1) ^ *(pip+2);
                   ULONG pContentsOffer = SearchIdxTargetOffer(pQQWryDatPointer, ulIp,
                   *(PULONG)pQQWryDatPointer, *(PULONG)((LPBYTE)pQQWryDatPointer + 4));
                   SearchSetInformation((LPBYTE)pQQWryDatPointer + pContentsOffer + 4,
                   pQQWryDatPointer, lpContry, ulContryLenght, lpAddress, ulAddressLenght);
              }
              UnmapViewOfFile(pQQWryDatPointer);
         }
         CloseHandle(hMapping);
     }
     CloseHandle(hFile);
}
 
以上代码在VS2008中编译通过,啊!忘记说,这里我写的是Unicode版本的,如果大家想用在VC6中那么要改一下就可以了.
VOID 
SearchQQWryFromIP(
    IN ULONG    
ulIP            //将IP转换成ULONG
    OUT LPTSTR 
ipContry        //返回国家
    IN ULONG    
ulContryLenght 
    OUT LPTSTR 
ipAddress       //返回地区
    IN ULONG   
ulAddressLenght
    ); 
 
433M无线遥控器EV1527协议解码实战:从逻辑分析到代码优化 本文详细解析了433M无线遥控器EV1527协议的实战解码过程。从使用逻辑分析仪抓取波形、理解同步头与数据位编码原理开始,逐步深入代码实现。文章重点对比了原始定时器轮询法的痛点,并提出了基于“边沿捕获+时间戳”的优化方案,构建了高效、可移植且具备抗干扰能力的解码引擎,最后分享了跨平台移植的核心技巧。 阅读详情

相关推荐

SDFCOM_SWC警告深度剖析:从assign短路到时序标注失效的链路追踪

本文深入剖析了SDFCOM_SWC警告的根源,从assign短路到时序标注失效的全链路追踪。通过分析RTL设计中的assign语句陷阱、综合阶段的优化变形以及PrimeTime生成SDF文件的视角,提出了重构RTL设计、警告抑制和SDF生成优化等解决方案,帮助工程师有效避免时序标注问题。

weixin_42519985的博客 366

LPTSTR

UNICODE:它是用两个字节表示一个字符的方法。比如字符'A'在ASCII下面是一个字符,可'A'在UNICODE下面是两个字符,高字符用0填充,而且汉字'程'在ASCII下面是两个字节,而在UNICODE下仍旧是两个字节 。UNICODE的用处就是定长表示世界文字,据统计,用两个字节可以编码现存的所有文字而没有二义。 MBCS,它是多字节字符集,它是不定长表示世界文字的编码。MBCS表示英文字母时就和ASCII一样(这也是我们容易把MBCS和ASCII搞混的原因),但表示其他文字时就需要用多字节。..

dlxt99的博客 1701

中微8S6990外设开发实战:从GPIO配置到低功耗休眠的完整指南

本文提供了中微8S6990增强型8051单片机从GPIO配置到低功耗休眠的完整实战指南。详细讲解了开发环境搭建、GPIO灵活配置、定时器中断、ADC采样优化、PWM电机控制等核心外设的编程要点与避坑技巧,并重点阐述了实现超低功耗休眠的系统性外设管理策略,帮助开发者快速上手并优化产品续航。

weixin_29162439的博客 533

LPCTSTR和LPTSTR和char *的区别及相互转化

1、LPCTSTR和LPTSTR和char *的区别 LPSTR = char* LPCSTR = const char* LPTSTR: 如果定义了UNICODE宏,那么baiLPTSTR = wchar_t*否则duLPTSTR = char* LPCTSTR: 如果定义了UNICODE宏,那么LPCTSTR = const wchar_t*,否则LPCSTR = const char* 告诉你方法zhi, "LP"前缀是dao历史遗留的,在Win32下就是 P ,代表指针的含义。 "C"代.

juluwangriyue的博客 5582

一文详解数据仓库、数据湖、湖仓一体和数据网格

本文对数据仓库、数据湖、湖仓一体、数据网格四个技术概念进行了辨析,并对它们的优势和局限给出了对比介绍。

oOBubbleX的博客 2596

Jupyter Lab 无法启动 Kernel 问题排查与解决总结

使用 curl,telnet,或 Python websocket-client 库可以本地模拟 WebSocket 握手行为,帮助分析服务端响应状态。避免使用 http:// + ws:// 组合方式部署 Jupyter Lab,特别是在远程或跨域访问场景。建议统一采用 https:// + wss:// 方式部署,确保浏览器信任并兼容。确认 WebSocket 已升级为 wss://,内核可正常启动。但在远程访问时,浏览器出于安全策略,默认拒绝 ws:// 协议。

weixin_43866043的博客 1861

关于LPSTR、LPCSTR、LPTSTR和LPCTSTR

LPSTR: 指向一个字符串的32位指针,每个字符占1个字节。 LPCSTR:指向一个常量字符串的32位指针,每个字符占1个字节。 LPTSTR:指向一个字符串的32位指针,每个字符可能占1个字节或2个字节。此字串可移植到Unicode和DBCS LPCTSTR:指向一个常量字符串的32位指针,每个字符可能占1个字节或2个字节。此字串可移植到Unicode 和DBCS ANSI(即MBCS):多字节字符集,不定长表示世界文字的编码方式。ANSI表示英文字母时就和ASCII一样,但表示其他文字时就需要用

随心漂流的博客 2702

HALCON基于描述符的模板匹配(未标定)

HALCON基于不标定描述符的模板匹配

king_linj的博客 892

C++ | 一文读懂C++字符串(string、CString、LPSTR、LPTSTR、LPWSTR...)

C++ 字符串讲解,字符串从此不再迷茫(学习中,可能会出现理解误区,欢迎指正)

王雪亮 7572

Android 蓝牙——概述(一)

Profiles (蓝牙应用规范),它从应用场景的角度为蓝牙技术的使用制定了不同的规范。这也是和大众日常生活接触最多的一部分。蓝牙支持很多Profiles:MAP:(MessageAccessProfile),短信访问协议,允许设备间的信息交换,短信。使用场景:智能车载中同步短信等信息。HFP:(Hands-free Profile),电话免提协议,让蓝牙设备(如蓝牙耳机/车机)可以控制电话,如接听、挂断、拒接等。

小旭的专栏 3493

(秋招复习)一些SLAM基础

秋招复习--SLAM基础知识篇

weixin_45432823的博客 769

LPTSTR\LPCTSTR\LPWSTR\LPCWSTR 字母的意思 及 区别

为了满足程序代码国际化的需要,业界推出了Unicode标准,它提供了一种简单和一致的表达字符串的方法,所有字符中的字节都是16位的值,其数量也可以满足差不多世界上所有书面语言字符的编码需求,开发程序时使用Unicode(类型为wchar_t)是一种被鼓励的做法。9、T是一个非常重要的符号(TCHAR、LPTSTR、LPCTSTR、_T()和_TEXT()等),它表示使用一个中间类型,既不明确表示使用MBCS,也不明确表示使用Unicode。7、_T是一个适配宏。否则,_T的字符串采用ANSI编码方式。

miyoudechuntian的博客 1459

基于Multisim/TINA的H桥电机驱动电路设计与仿真分析

摘要 本文基于Multisim/TINA仿真平台,对H桥电机驱动电路进行了系统设计与分析。研究重点包括H桥拓扑结构的工作原理、PWM调速控制方法以及两种驱动方案对比分析。通过光耦隔离驱动与IR2110专用驱动IC的仿真对比,验证了IR2110自举电路在高低侧驱动中的优势。仿真实验着重分析了死区时间对防止直通现象的关键作用,并建立了直流电机的R-L-E等效模型进行动态特性仿真。结果表明,采用IR2110驱动方案配合适当的栅极电阻和自举电容参数,能够实现电机的高效双向调速控制。本研究为实际电机驱动系统的设计提供

huanghm88的专栏 140

vc实现纯真IP数据库显物理位置

转自:不详 纯真IP数据库 可到纯真论坛下载:www.cz88.net //IpBase.h #include #include using namespace std; class CIpBase { public : CIpBase(string fileName="QQWry.Dat"); ~CIpBase(); string Find(unsigned long ip

qq492066487的专栏 739

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

CreateFile GetLastError一直返回2啥情况

网上弄来一个纯真IP数据库,想从中读取一些IP信息。   但是编程的时候打不开这个文件。GetLastError返回2,请问这是为什么   HANDLEhFile=CreateFile("QQWry.Dat",GENERIC_READ,   FILE_SHARE_READ,NULL,OPEN_EXISTING,0,NULL);hFile是-1,当前目录下也有这个文件。(Console程序,V

陈刚编程心得与知识集 6883

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

显示dos命令ping和tracert等输出结果中的ip对应的地域名称

公司老大今天使用了dos命令ping,他想看到其中ip地址对应的地域名称。 如dos下命令ping www.qq.com的输出结果是: 正在 Ping www.qq.com [113.108.20.50] 具有 32 字节的数据: 正在 Ping www.qq.com [113.108.20.50] 具有 32 字节的数据: 来自 113.108.20.50 的回复: 字节=32 时间

menggucaoyuan的专栏 2929

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

读取纯真IP数据库C++源代码

头文件: #pragma once;   #include      const int INDEX_LENGTH = 7;        // 一个索引包含4字节的起始IP和3字节的IP记录偏移,共7字节   const int IP_LENGTH = 4;   const int OFFSET_LENGTH = 3;      enum {    REDIRECT_MO

不是我的博客 965

夜光带你走进jquery EasyUI 应用(一)擅长的领域

夜光序言: 我们在轻雾缭绕之际分别。露,莹莹的,像你纯真的眼睛;雾,蒙蒙的,像我浓浓的离愁。 正文: jdbc:mysql://localhost:3306/test?serverTimezone=GMT 添上这句话 有的时候会报错 数据收集并妥善管理数据是网络应用共同的必要。 CRUD ...

夜光的博客 225

vs2015+php扩展+php.h,GitHub - ouzhigang/phpext_ozglib: Boost + PHP扩展,实现各种公用功能。...

##功能不定期增加中...使用vs2015编译通过。需要设置项目属性:1、在环境变量加入BOOST_HOME(设置为boost目录,需要自行编译lib文件)、PHP_HOME(设置为PHP目录)、PHP_SRC(设置为PHP源代码目录)。2、将PHP源代码\win32\build\config.w32.h.in复制到E:\php-5.6.9-src\main里,然后去掉后面的”.in“,打开此文件...

weixin_35368877的博客 124

操作QQWary.dat数据文件的类

操作QQWary.dat数据文件的类 摘要:QQwry是目前使用很广泛的IP地址数据库,本文研究了QQwry数据文件的格式,编写了一个读取数据文件,查询IP地址信息的类,并附带完整的演示例子的VC代码。 关键字:IP地址查询,QQwry 2002年末的时候,我想给我的一个软件添加ip地址查询功能,当时很多QQ版本都支持显示ip地址信息,记得这种功能最早有一个名为“追捕”的软件...

weixin_30538029的博客 96

调用未知DLL中的导出函数[转]

不知道诸位看官是否有过这样的经历:在不经意之间发现一个DLL文件,它里边有不少有趣的导出函数——但是由于你不知道如何调用这些函数,所以只能大发感慨而又无能为力焉。固然有些知名的DLL可以直接通过搜索引擎来找到它的使用方式(比如本文中的例子ipsearcher.dll),不过我们诚然不能希望自己...

chubaisheng8627的博客 128

TPU-GF玻纤增强TPU打印指南:材料原理、参数设置与耐温实测

热塑性聚氨酯(TPU)凭借弹性与耐磨性常用于3D打印柔性件,但普通TPU刚性和耐热性有限,难以承担结构功能。玻璃纤维增强TPU(TPU-GF)通过短切玻璃纤维在基体中承担应力,有效提升模量与热变形温度,同时保留部分韧性,成为填补“软不耐热、硬不耐磨”空白的复合材料。本文从材料增强机理切入,解释157℃耐温指标的实际含义(需区分HDT、VST与连续使用温度),并给出完整的设备准备、切片参数与校准方法。通过温度塔、悬臂梁与加载支架等测试模型,可复现地评估打印件在不同温度与载荷下的表现。无论你是刚开始尝试玻纤增强

chubaisheng8627的博客 414

日新测试软件,禁Ping多线程批量检测工具V2.6,功能强大,你值得拥有【2020.05.09日更新】...

本帖最后由 千百度 于 2020-5-9 21:26 编辑原帖时间太久,已经不能编辑了,重新开贴,软件有升级原创证明:20200509211751.png (51.95 KB, 下载次数: 4)2020-5-9 21:26 上传软件截图:20200509212220.png (67.51 KB, 下载次数: 3)2020-5-9 21:26 上传20200509212312.png (64.66 ...

weixin_30849865的博客 425

MapleClientGUI开发随笔

MapleClientGUI就是我构想中的有着图形界面的冒险岛查线工具啦,这是我两个月前大概还是寒假初期想做的东西,如今能想到的技术屏障(因为以前从没接触过C++,现在的开发也是全靠自学的)已经解决的差不多了,于是我就让这个项目进入了编写代码的阶段。 说到为什么要写冒险岛查线工具?我想应该是需求吧,想不费功夫地掌握第一情报(以前要想知道服务器的状态,就要靠鼠标去点游戏上的登录界面),在服务器刚

SchRHT Blog 1697
上一篇: Inline Hook IofCallDriver 截获所有IRP
下一篇: 机器狗”病毒驱动部分逆向分析注释(C代码)
iiprogram
博客等级 码龄25年 1068粉丝 1515原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值