- 博客(132)
- 资源 (1)
- 收藏
- 关注
原创 who is calling me?
ULONG rip=0xffffffff; __asm { push eax mov eax,[ebp+04h] mov rip,eax pop eax } DebugString("the module from ebp+04h:%s/n",GetWhoIsCalling
2008-08-08 17:25:00
611
原创 类似于od run trace 功能的脚本
dbh //hide odBPHWCALL //clear hardware breakpointBC //clear software breakpointBPMC //clear Memory breakpointbp 40AF0D//vm_retn=>retn 2clog "VM Trace start!"run_to_bp:EOB bp_reco
2008-08-08 00:00:00
807
原创 Stack Overflow in Trillian’s aim.dll through the aim:// URI
Stack Overflow in Trillian’s aim.dll through the aim:// URI The Trillian application is a tool that allows users to chat across multipleprotocols, such as AIM, IRC, ICQ, Yahoo!, and MSN. When Tr
2008-08-07 23:40:00
496
原创 格式化输出Debug字串
void DBP( char *format, ... ){ char buf[2048]={0}; char* prefix = "[test]"; StringCbCopy(buf,sizeof(buf),prefix); va_list vl; va_start(vl,format); StringCbVPrintf((char*)buf+strlen(p
2008-08-07 19:11:00
431
原创 use windbg to analy IDT(1)
1.Basic of IDTin Windbg ,we can get IDT table using lkd> !idt -aDumping IDT:00: 80542550 nt!KiTrap0001: 805426cc nt!KiTrap0102: Task Selector = 0x005803: 80542ae0 nt!KiTrap0304: 80542c60 n
2008-08-07 17:39:00
2518
原创 SetWindowsHookEx in NT/2k source
........win2ksrc/private/ntos/w32/ntuser/kernel/hooks.c PHOOK zzzSetWindowsHookEx( HANDLE hmod, PUNICODE_STRING pstrLib, PTHREADINFO ptiThread, int nFilterType, PROC pf
2008-08-06 21:35:00
1527
原创 C++ Reference (Assembly Code)
From VC 2005 debug Version void FuncNoRef(int i){ i = 2;}void FuncUseRef(int & i){ i = 1;}int main(int argc, char * argv[]){ int j = 0; FuncNoRef(j); printf("%d/n", j);
2008-08-06 20:59:00
387
原创 把驱动加入执行文件保护
近来发觉自己的软件被人破,心中甚是恼火,恼火当初没花时间在反破解上。 反正鄙人尽量琢磨了点驱动东东,心想加上点RING0的看你小样去破去。 这样吧,弄点狠的,如果有看官,也帮我琢磨下可行性。 1、启动方式上面,采用牺牲程序的方式,由加载(牺牲)程序做好初始化,包括:驱动加载,调试器检测,一旦通过立即和驱动通讯,由驱动解密牺牲程序中封装的资源,然后由驱动执
2008-08-05 14:42:00
714
原创 native-nt-toolkit( A set of headers, libraries and sample source code for writing Windows Native Applications )
A set of headers, libraries and sample source code for writing Windows Native Applications http://code.google.com/p/native-nt-toolkit/
2008-08-03 19:11:00
382
原创 A kernel hack to try to get realtime in Windows (NT/XP)
a link http://www.snl.salk.edu/~micah/RTInterrupt/
2008-08-03 04:27:00
420
原创 sysenter 和 sysexit
在 Ring3 的代码调用了 sysenter 指令之后,CPU 会做出如下的操作: 1. 将 SYSENTER_CS_MSR 的值装载到 cs 寄存器 2. 将 SYSENTER_EIP_MSR 的值装载到 eip 寄存器 3. 将 SYSENTER_CS_MSR 的值加 8(Ring0 的堆栈段描述符)装载到 ss 寄存器。 4. 将 SYSENTER_E
2008-08-02 17:38:00
783
原创 之前弄传奇3的MARK
1、直接在DOS下运行解密后的 Mir1.dat 不打LOADLIB补丁的话能到全屏选服务器的界面。用OD ATTACH的话无法下断点,而且按下选服无效2、用OD加载游戏,没有LOADLIB补丁会在动态检测加载SDDynDl2.dll时,进入死循环。打LOADLIB补丁,则出现网络初始化失败的错误。3、
2008-08-02 17:37:00
399
原创 破解网络认证程序需要注意的地方
1。 网络认证的程序一般采用本地认证进行破解,由此我们需要修改host文件 2。这类程序最终解密出数据之后会进行一系列简单判断,只要找到这些判断,打上PATCH,一般都能过 3。如果需要PATCH RECV之后的程序,如果共用SOCKET且在待破解的程序RECV之前,需注意数据会被待破解的程序收到,因为RECV缓冲是随着SOCKET消亡而消亡的
2008-07-29 02:54:00
1316
原创 还是个数据库的错误
一段时间没摸CRecordSet, 填入SQL语句之后,可能是头比较晕,偶取了2个段,使用GetFiledValue以为这个取值等同于数据库中的字段位置; 如: 字段1 字段2 字段3 字段4 字段5 偶取了字段1和字段3,得到字段3的值,却在GetFiledValue使用(3,var)的参数,这个造成了CDBException,由于没有
2008-07-27 22:37:00
792
原创 SQL语句的一个问题
在VC下构造了一个SQL语句,在执行的适合提示, Incorrect syntax near . 对SQL语句格式不怎么熟悉的我,碰到这个错误真是恼火。最后才弄清楚,在构造的SQL语句中有TABLE符号,直接在SQL执行器下面打TABLE不会有什么事,但构造的SQL语句就有问题。
2008-07-27 06:56:00
799
原创 搜索数组中相同值个数
针对小于MAX 的数,不能应用的很广,有一定限制 #define MAX 50 int main() { int src[]={1,2,3,4,5,6,7,8,9,1,0,2,3,12,14,1,5}; int test[MAX]={0}; int i;
2008-07-17 16:51:00
487
1
原创 编译驱动碰到的问题
弄驱动的时候碰到一些不是问题的问题,但是这些要是不注意,会浪费大量的是时间。 1、ONLOAD函数没有卸载设备,这样导致重新编译之后,驱动无法加载,因为前面的DEVICE没有卸载,真的发生这样的情况只有改设备名 2、粗心:IoCreateSymbolicLink(&devLinkUnicd, &devNameUnicd) ,一定要前面是LINKNAME,后面是设备名3、驱动如果加载出错,可能在加
2008-06-18 21:35:00
315
原创 KiFastSystenCall和KiIntSystemCall
弄文件的时候跟了下SYSENTER,得到下面这些CreateFile->ZwCreateFile(NtCreateFile)通过sysenter(25h)----------> 进入IoCreateFile(第3个参数IN POBJECT_ATTRIBUTES ObjectAttributes 存入文件或者设备路径) ;KiFastSystemCallmov
2008-06-17 22:54:00
595
原创 简单使用VMWARE延缓SYSER时间限制
SYSER evalution有时间限制,在VMWARE下面把所有的东西都装好了后,最后装了SYSER。然后开SYSER在系统下断。这时建个SNAPSHOT,每次用的时候开这个 SNAP,剩余时间不会改变。 注意要在系统下断的情况下建SNAPSHOT。
2008-06-15 21:50:00
424
原创 调试VMP1.2的一点技巧
搞SNDA的加密方式有一个多月的时间了。 由于游戏选的不好,当初弄千年这个垃圾的时候一个星期搞定脱机,但现在不行了,SNDA在驱动里弄了一定的技巧,使得连ATTCH游戏进程都不行。 尤其是驱动里面加了VMP,更难弄了。 尽管逆向的结果很差,弄逆了2周的驱动只得作罢,中间有些技巧MARK一下。 在VM的时候需要选择函数,然后生成程序搜索E8,E9等CAL
2008-06-13 15:51:00
849
原创 将E8 15 69 FF FF 89 44 24 28 68 8C 38 93 D8 9C C7一长条字符串换成数组
//将E8 15 69 FF FF 89 44 24 28 68 8C 38 93 D8 9C C7一长条字符串换成数组DWORD StringToHex(unsigned char *strin) { int i = 0, length = strlen((char*)strin) - 1; DWORD irt = 0; char strtmp[1] = {
2008-06-13 15:21:00
573
原创 被个马忽悠了
HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/ShellServiceObjectDelayLoad 看看下面的项~~~这个木马哈喜欢钻空子,取了个JavaView的名字忽悠我,它的值{DA191DE0-AA86-D04E-4B87-2A3D4928BE99}指向JVIEW.dll,JVIEW.dll在DLLMAIN里面开
2008-05-28 13:29:00
306
转载 一些反调试的措施
kongfoo/2004.4.18-5.27 1)花指令 很无聊的技巧,但也有一定作用:隐藏指令,干扰分析。:偶现在一直觉得花指令完全达不到隐藏效果,可能是偶研究的不够深入 2)花循环 无用循环,让跟踪者浪费时间,心烦。:这个其实如果下好断还是很弄的 3)时间比较 经典的反跟踪技巧,单步跟踪比连续执行的时间长很多。:看雪有相关的帖子 4)父进程检查 被调
2008-05-25 12:33:00
1213
原创 动态加载DLL文件在NtDll内部的流程
最近在弄传奇3的动态DLL文件的时候很恼火~~盛大的游戏的登陆之前会接受一段代码,这段代码边解密边执行,中间不过是搜索KERNEL32的GetMoudleHandle、GetProcAddress、和LoadLibraryEx、SetUnhandleExceptionFilter(这个之后没怎么用到),找到这几个函数之后,进行动态加载。如果在DLL加载进入游戏之后的话,调试会
2008-05-25 12:10:00
743
原创 内挂到脱机
接触外挂已经半年多了,从刚开始的内挂做起,到现在的初步做脱机,感受最深的是反汇编和程序的调试能力。针对一款刚测试的游戏,要做挂,调试游戏的能力至关重要。 这段时间在游戏的网络通讯调试上出现的断层,因为自己不知道该往哪里下手,辗转反侧中,去了大半个月。
2008-03-20 04:35:00
522
原创 转的一些窗口应用技
function StorePage(){d=document;t=d.selection?(d.selection.type!=None?d.selection.createRange().text:):(d.getSelection?d.getSelection():);void(keyit=window.open(http://www.365key.com/storeit.
2008-01-21 20:22:00
392
原创 主流反外挂技术的优缺点比较
主流反外挂技术的优缺点比较目前反外挂技术几种实现方法一.使用动态变换图形提问来判别外挂行为优点:适合场景类RPG游戏缺点:透明性差,准确度无法实现100%,存在误判,策略处理能力差典型产品:《梦幻西游》,《A3》,《QQ幻想》二、使用外挂程序特征识别扫描优点:采用成熟的病毒特征扫描技术缺点:及时性差;长效性差,反外挂方更容易疲劳;透明性差;易用性差;策略性差典型产品:金山公司金山游盾三、在核心驱动
2008-01-01 22:02:00
1760
转载 vmware网络配置
ADSL拨号,VMWare的Guest客户机上网设置 [转帖]ADSL拨号,VMWare的Guest客户机上网设置 第一种情况: 主机使用PPPOE拨号上网 方法一:NAT方式 1、先关闭虚拟机中的操作系统,回到虚拟机主界面 双击主界面右上方的的“Ethernet”,弹出“Network Adapter”对话框,选择“NAT” 2、启动虚拟机操作系统,设置IP为动态获取,即通过D
2007-12-10 23:15:00
8961
2
原创 一个服务端多线程接收多个客户端
Client端#include #include DWORD WINAPI threadShowRecv(LPVOID);void main(void){WORD wVersionRequested = MAKEWORD(1, 1);WSADATA wsaData;int ret = WSAStartup(wVersionRequested, &wsaData);if( 0 != ret) p
2007-10-09 23:01:00
1027
转载 dll共享段中一些需要注意的问题
Visual C++如何与应用程序或其他 DLL 共享自己 DLL 中的数据? Win32 DLL 映射到调用进程的地址空间中。默认情况下,每个使用 DLL 的进程都有自己的所有 DLL 全局变量和静态变量的实例。如果 DLL 需要与它的由其他应用程序加载的其他实例共享数据,则可使用下列方法之一: 使用 data_seg 杂注创建命名数据
2007-07-15 16:10:00
3347
2
转载 磁性窗体
相信大家都用过Winamp,一定会对她那种具有吸附效果的窗口感到很惊喜吧。其实要实现这样的效果并不难,下面我就用bcb做出这样的效果。为了将问题简化,窗口只在屏幕顶端产生吸附效果。 打开bcb6.0,新建一工程,将Form1的BorderStyle的属性改为bsNone,做成一个无标题栏,无边框的窗体。正常情况下,我们是无法移动这样的窗体的。我们必须自己给窗口发送一个移动的消息,在
2007-07-05 23:27:00
2252
1
原创 各种得到窗口句柄的方法
最进在编写如何在DLL封装对话框,老是涉及到怎样得到窗口句柄的问题,MARK一下,免的又忘了 1、直接得句柄 GetActiveWindow(); //得激活窗口句柄 GetForegroundWindows(); //的前台窗口句柄 AfxGetApp()->GetMainWnd()->GetSafe
2007-07-04 00:40:00
6607
原创 MFC的dll中控制资源问题
有程序EXE和DLL,其中DLL中有1个函数用来显示对话框,被EXE调用。当EXE和DLL都为Release或Debug时,没有任何问题,但EXE为Release、DLL为Debug时,就会出错。该DLL是用VC提供的MFC Extension DLL,函数的代码如下:HINSTANCE hInstOld = AfxGetResourceHandle(); // 该句出错HINSTANCE hIn
2007-07-02 17:46:00
1575
2
原创 Win32 DLL和MFC DLL 中封装对话框
现在最常看见的关于DLL的问题就是如何在DLL中使用对话框,这是一个很普遍的关于如何在DLL中使用资源的问题。这里我们从Win32 DLL和MFC DLL两个方面来分析并解决这个问题。 1.Win32 DLL 在Win32 DLL中使用对话框很简单,你只需要在你的DLL中添加对话框资源,而且可以在对话框上面设置你所需要的控件。然后使
2007-07-02 12:36:00
5255
1
原创 一个很弱智的钩子
目标:希望能将DLL注入所有的GUI中,当特定的GUI被激活的时候,DLL中的对话框资源显示 这个东西能用在外挂这块,游戏中挂上自己的框框,相当滴爽。 实现:引擎调用DLL中的注入函数,这样全局注入的时候,相当滴好做。曾试过在EXE模块中实现全局钩子,钩子中的很多变量不能相互传递,达不到全局钩子的那种效果。如:HHOOK g_hHook; HINSTANCE g_h
2007-07-01 10:31:00
889
转载 交换网络中的嗅探和ARP欺骗
交换网络中的嗅探和ARP欺骗 document.title="交换网络中的嗅探和ARP欺骗 - "+document.title以太网内的嗅探(sniff)对于网络安全来说并不是什么好事,虽然对于网络管理员能够跟踪数据包并且发现网络问题,但是如果被破坏者利用的话,就对整个网络构成严重的安全威胁。至于嗅探的好处和坏处就不罗嗦了。ARP缓存表 假设这样一个网络:
2007-06-21 17:00:00
794
转载 高级扫描技术及原理介绍
高级扫描技术及原理介绍document.title="高级扫描技术及原理介绍 - "+document.title Scan,是一切入侵的基础,对主机的探测工具非常多,比如大名鼎鼎的nmap。我这里没有什么新鲜技术,都是一些老东西老话题,即使参考的Phrack文档也甚至是96年的老文档,我只是拾人牙慧而已。 最基本的探测就是Ping,不过现在连基本的个人防火墙都对Ping
2007-06-21 16:57:00
749
原创 简单进行16进制字串转浮点
有时在内存读到一个浮点数,16进制滴,不知道如何转成10进制表示,找了写资料简单写了下 有写处理的地方值的收藏下,会省很多事情滴 CString str; float fValue=0; CString oFloat; char buf[128] = {};//9A 99 99 3E 85 67 18 C2 char *endStr; GetDlgItemTextA(IDC
2007-06-21 14:07:00
1945
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人