惯用c++,在windows平台做应用开发和底层研究,并对ua语言有深入的了解
转自看雪:http://bbs.pediy.com/showthread.php?t=126802 声明:本文只为研究技术,请所有童鞋切勿使用本文之方法做下那天理难容罪恶不舍之坏事。 既是研究游戏保护,那么总要有一个研究对象。
前言:最近在学外挂编程,基本都是利用CE,OD调试分析游戏数据,但现在游戏公司用各种保护手段防止我们调试游戏,虽然我们有CE,OD这样的利器但是仍然被游戏驱动保护挡在门外i,真可谓巧妇也难为无米之炊啊。
原文连接:http://bbs.pediy.com/showthread.php?t=138747&highlight=inline+hook 转自看雪,写复制到自己博客上慢慢啃,呵呵 #include //辛苦了几周的成果 typedef struct ServiceD...
// 将本文完整拷贝, 然后在VC6 下建立控制台程序, 可直接运行~ 看到结果后再来阅读此文 // 文章出处甚多, 已不能列出所有连接 #include "stdafx.h"#include /* >>>>>> _declspec(naked) 使用 >>>>>>>>>>>>...
来自网上。 typedef struct _SERVICE_DESCRIPTOR_TABLE { PVOID ServiceTableBase; PULONG ServiceCounterTableBase; ULONG NumberOfService; U...
读取当前地址代码(NtOpenProcess): LONG *SSDT_Adr,t_addr,adr; t_addr=(LONG)KeServiceDescriptorTable->ServiceTableBase; SSDT_Adr=(PLONG)(t_addr+0x7a*4); adr=*SSD...
/*--------- 1.c -----------*/ #include "1.h" //---------列举进程--------- NTSTATUS EnumProcess() { int iCount = 1; //进程计数 NTSTATUS status; ...
顺手记一记。呵呵 修改寄存器命令 r @eax=1 //将eax置为1修改内存命令ed 80505648 00001234 //将内存为80505648的数据改为00001234
1、路径中不要有空格 2、提示找不到头文件sourceannotations.h。把C:\Program Files\Microsoft Visual Studio 10.0\VC\include\下的CodeAnalysis 文件夹复制到C:\WinDDK\7600.
Hi,This is just a little starter for people interested in starting Kernel-Mode DevelopmentBy following an good thread on UIC forum, opened by a begin...
装上CB2010,将以前的工程转过来,首先碰到的问题是AnsiString->UnicodeString。要想把程序彻底的改成Unicode,我总结了以下几点: 1,菜单Project->Options->Directories and Conditionals->_TCHAR maps to char 改为 wchar_t。
可以用为分享代码,也可以在线编译,8错。呵呵 http://codepad.org/
研究了两个多月的飞五,终于成功了,虽然没能达预想的价值但是仍然很高兴。毕竟学到了很多东西,比如VMP加壳、tomcypt加密库、Hook等等。折腾了两个多月,我想该抓紧心思学习学习了,工作了还是要更加努力学习。
select 'drop table ' || table_name ||';'||chr(13)||chr(10) from user_tables; --delete tables select 'drop view ' || view_name||';'||chr(13)||chr(1...
//c++:HANDLE(void *) ---- c#:System.IntPtr //c++:Byte(unsigned char) ---- c#:System.
NOTICE: I am a C# noob and this tutorial is for other C# noobs. I have no doubt that I have broken countless C# coding conventions and good practices ...
一. AES对称加密: AES加密 分组 二.
原先写类,到后面发现要扩展功能,发现类变的很庞大。。。。。。。今天终于有点感觉。。呵呵
1 进程与进程通信 进程是装入内存并准备执行的程序,每个进程都有私有的虚拟地址空间,由代码、数据以及它可利用的系统资源(如文件、管道等)组成。多进程/多线程是Windows操作系统的一个基本特征。
产生这种情况大多是因为上次svn命令执行失败且被锁定了。 如果cleanup没有效果的话只好手动删除锁定文件。 cd 到svn项目目录下,然后执行如下命令 del lock /q/s 就把锁删掉了。
作者:小童工具:OllyDbg、Delphi程序一个、易语言程序一个、MFC程序一个------------------------------------------------------------------------------------------------------------...
#pragma once class LogFile { protected: CRITICAL_SECTION _csLock; char * _szFileName; HANDLE _hFile; bool OpenFile();//打开文件, ...
int x = GetDlgItemInt(IDC_EDIT1) ; //要移动到的 x 坐标 int y = GetDlgItemInt(IDC_EDIT2) ; // y int cx_screen = ::GetSystemMet...
摘自《Borland C++BuilderT 6 Developer's Guide》 一书 Using Microsoft Visual C++ DLLs with C++Builder As powerful as C++Builder is, the majority of DLLs d...
超简单搭建功能全面易用的svn服务端 VisualSVN Server+ApachePasswd程序包安装前准备:VisualSVN-Server-1.6.3.msi:http://www.visualsvn.
HRSRC hRrc=::FindResourceW(NULL, MAKEINTRESOURCE(IDR_TEXT1),_T("TEXT")); if(hRrc==NULL) { AfxMessageBox(_T("hRrc is null")); ...
BOOL Crar2Dlg::FindProcess(CString ProcessName) { HANDLE handle=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0); BOOL ret = FALSE; PR...
时间紧迫,直接上代码: 得到电脑的默认打印机 TCHAR szBuffer[1024]={0}; DWORD length = 1024; int ret = ::GetDefaultPrinter(szBuffer,&length); if(...
插入列 const int nColumnWidth=80; m_ListPrinter.InsertColumn(0,_T("PrinteName"),LVCFMT_CENTER,nColumnWidth); m_ListPrinter.
本文大部分来自《windows核心编程》。 例1 //二话不说,直接上代码int Funcenstein2() { __try { return 3; } __finally { //在函数返回之前会处理...
有些时候需要用程序检索网络上的数据,比如要取出特定网页上的特定文字等。。二话不说,直接上代码了 效果: void __fastcall TFormMain::btn_1Click(TObject *Sender) { OutPutLog("正在获取网页数据.
一、 前言 前段学习反调试和vc,写了antidebug-tester,经常会收到message希望交流或索要实现代码,我都没有回复。其实代码已经在编程版提供了1个版本,另其多是vc内嵌asm写的,对cracker而言,只要反下就知道了。
Introduction Arrrgh! So you need to run your console app via a primary application, well ye've come to the right place.
Overview CProcessData is a template class that makes it easy to use data allocated in a different process, and is useful when making inter-process SendMessage/PostMessage calls.
GAS中每个操作都是有一个字符的后缀,表明操作数的大小。 C声明 GAS后缀 大小(字节) char b 1 short w 2 (unsigned) int / long / char*...
最近一直研究一个对个人而言很有价值的一个LIB库的逆向。在今天下班后突然灵感闪现,这个断断续续逆了接近一周的核心管理类。终于在今天给逆完了。在最后一个函数里,碰到了之前基本没有用过的一条指令。(呵呵,高手见笑了!)当然光看单句的汇编指令,是没有办法看出具体的作用的,而且还很可能会认为原作者本来...
int main(int argc, char* argv[]){ int i; scanf("%d", &i); int j = i / 2; printf("%d", j);return 0;} 编译后: 10: int j = i /...
1.enter等价于: push ebp movebp, esp 在函数的入口时常用。 2.leave等价于: movesp, ebp popebp ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 一段常见的代码格式如下: .text:00401450 push ebp .text:00401451 mov ebp, esp .text:00401453 sub esp, 18h 。
刚才还在逆一个软件的算法,直是非常郁闷,一个算法整整逆了近15天(几乎每天逆2小时)。最令我郁闷的是,到现在还是没有逆出来。究其原因大概是经验不足和汇编不强导致。 最近还在烦一个问题就是结婚的问题,感觉好多矛盾。
sudami对初学者的一点建议 1. 若对Windows底层开发没有兴趣,不建议继续深究, 若有些兴趣可以继续。 2. 先广泛打基础,比如C/ASM/C++/MFC,再学习Windows核心编程,对R3上的一些开发有所熟悉,再系统的学习《操作系统》等书籍,理解整个系统的原理,构架,实现。
在多线程中发现这问题 数据库组件的构造放在构造函数里就正常了,不能放在Execute函数执行体内
估计很多人都知道装载DLL过程中的多线程死锁是因为DllMain的顺序调用规则,但是很少人了解卸载DLL过程中的多线程死锁也是由于同样的原因。例如,如果一个DLL的DllMain的代码写成下面的形式,且进程中有至少一个DLL的DllMain没有调用DisableThreadLibraryCalls函数的话,那么卸载该DLL过程中就会因为DllMain的顺序操作特性带来DLL内部线程没有完全退出的错误。
转发朋友写的技术文章,比较不错 Inter-Session Communication DBMS_ALERT 会话间通信 DBMS_ALERT Inter-Session Communication DBMS_ALERT会话间通信 DBMS_ALERT提问:如何让程序获知数据被改变?回答:1.
讲述一个关于高考的“黑客”故事:用2B铅笔“注入”阅卷系统今天,又是一年一度高考的日子。回想起16年前(1996年)……那是高中的一段艰苦岁月……几乎每天都要进行一场考高模拟测试,同学和老师们,都是叫苦不迭。
FS寄存器指向当前活动线程的TEB结构(线程结构)偏移 说明000 指向SEH链指针004 线程堆栈顶部008 线程堆栈底部00C SubSystemTib010 FiberData014 ArbitraryUserPointer018 FS段寄存器在内存中的镜像地址020 进程PID024 线程I...
今天一个同事突然问我索引为什么失效。说实在的,失效的原因有多种: 但是如果是同样的sql如果在之前能够使用到索引,那么现在使用不到索引,以下几种主要情况: 1. 随着表的增长,where条件出来的数据太多,大于15%,使得索引失效(会导致CBO计算走索引花费大于走全表) 2. 统计信息失效 需要重新搜集统计信息 3. 索引本身失效 需要重建索引 下面是一些不会使用到索引的原因索引失效 1) 没有查询条件,或者查询条件没有建立索引 2) 在查询条件上没有使用引导列 3) 查询的数量是大表的大部分,应该是30%以上。
00D94F70 55 push ebp 00D94F71 8BEC mov ebp,esp 00D94F73 51 push ecx 00D94F74 53 pus...
I just tried compiling a couple of C++ snippets on VS2010 and analyzed the executables on IDA Pro. Something I noticed is that there most of them have...
计算机中数码的表示: 定义-》 正数:原码,反码,补码相同。 负数:原码为其对应正数原码最高符号位取反。 反码为其原码除符号位外都取反。 补码为其原码除符号位外取反加1。 所以最高位符号位都不变。
汇编标志位: 标志名 标志 1 标志 0 OF (溢出标志) OV ...