|
[分享]float转16进制值工具
做游戏外挂开发能用上 |
|
[求助]问一个关于KeAttachProcess之后,读取内存的问题
修改CR0寄存器的位 __asm { push eax mov eax, CR0 and eax, 0x0FFFEFFFF mov CR0, eax pop eax } 读完之后,记得改回来 |
|
[原创][公开源代码]集合了无数大牛们的代码,打造自己的山寨版IceSword(KsBinSword)
请问,要学这种内核编程,有什么好书推荐不? |
|
[讨论]SetWindowsHookEx的DLL的加载原理
那个红色的0x42代表什么呀? |
|
[求助]有没有机器码转汇编代码的软件?
昨晚在看雪的工具下载连接里找到,用这个W32DASM可以直接转 |
|
[求助]有没有机器码转汇编代码的软件?
问题是我现在把内存里是代码段dump下来了,我要把这段(大小892kb)的机器码都转成汇编,有没有更好的工具? |
|
[求助]去除一个软件中自动打开网址的功能
有一个open的指令(函数传入参数之一),你直接修改为null就行了 |
|
[原创]VMProtect2.04加壳程序从入门到精通
mark一下,工作上有用到vmprotect,等候楼主写完再来拜读。 |
|
[求助][求助]如何使用detours库hook类成员函数
术语说明: 原函数:被hook的target hook函数:指自己写的函数,也即让原函数jmp到该函数 原因分析: 用detours hook类成员函数,因为成员函数会有一个this指针,如果在hook函数中调用原函数,没有传入this指针,那么原函数的调用将会出错。 解决方法是: 1. 首先在ollydbg中找到这个this指针。其实也就是那个类的对象地址,一般来说,在ollydbg中调用原函数时,也即在call原函数之前,总会有一条指令mov ecx,xxx或者lea ecx,xxx,那个ecx就是我们要找的this指针! 2. 在hook函数调用原函数时使用内联汇编代码调用,push所有的参数之后,然后初始化ecx为this指针的值!然后在call原函数,这样call原函数就不会出现崩溃。 需要注意的地方: 1. 注意原函数是否能自动平衡堆栈,如不行,则需要在hook函数中自己手动平衡堆栈 2. hook函数返回时,必须是手动编写汇编返回(ret),不要让系统帮忙返回!在带有参数的hook例子中,系统帮忙放回必定出错! 3. ret后面的值与传入hook函数的参数有关,一般来说,该值=4*参数个数 |
|
[求助][求助]如何使用detours库hook类成员函数
已经解决问题了,用的还是detours,方法稍后放出 |
|
[求助][求助]如何使用detours库hook类成员函数
没有仔细研究这个hook类,但这个好像是用于hook API的自己封装的一个类吧,我现在遇到的麻烦是需要hook一个类成员函数哦- -b |
|
[求助][求助]如何使用detours库hook类成员函数
对于只知道类成员函数地址的情况,detours库貌似是存在问题的,我研究之后发现问题的原因是: 由于类成员函数会隐式传递this指针,所以在hook函数中返回原函数时,由于堆栈不平衡导致被hook的程序崩溃 解决办法: 1. 迂回解决,hook一个目标函数的附近的函数,利用堆栈信息找到自己需要的地址与内存(现在在我那个项目是这样解决的,解决了99.99%问题) 2. 据某位大大说,在hook函数调用返回原函数时,直接用反汇编call地址,并ret相应的字节(需要一个一个的调整),但我尝试了n次,没能成功 求助: 利用上面的第一个方法解决了当前项目的问题,但我另一个项目遇到的情况是目标函数附近没有独立的函数可以hook(全是类成员函数),所以我必须hook类成员函数- -b 郁闷啊,不知道论坛的大侠有没有办法搞定啊!! |
|
[求助][求助]如何使用detours库hook类成员函数
看了member.cpp里面的教程跟我上文说到的是一样的: //////////////////////////////////////////////////////////////// Target Class. // class CMember { public: void Target(void); }; void CMember::Target(void) { printf(" CMember::Target! (this:%p)\n", this); } //////////////////////////////////////////////////////////////// Detour Class. // class CDetour /* add ": public CMember" to enable access to member variables... */ { public: void Mine_Target(void); static void (CDetour::* Real_Target)(void); // Class shouldn't have any member variables or virtual functions. }; void CDetour::Mine_Target(void) { printf(" CDetour::Mine_Target! (this:%p)\n", this); (this->*Real_Target)(); } void (CDetour::* CDetour::Real_Target)(void) = (void (CDetour::*)(void))&CMember::Target; ////////////////////////////////////////////////////////////////////////////// 上面红色加粗代码&CMember::Target,在我的程序里是未知的,只知道一个地址,这个如何编写? |
|
[原创]07年看雪exploit me 挑战赛-题目A-SCARIN答题(申请邀请码)
comd[200]之后是益处的机器码。还原成汇编指令大致如下: jmp 地址(这是jmp esp指令,你要找到你本机上的jmp esp才行。) push ebx mov eax ExitProccss地址(同样的,你需要在你本机上找到这个函数的地址) call eax 如果不清楚如何寻找自己本机上的地址,我明天再写详细一些 |
|
[求助]新手求教以及一款测试软件的微不足道破解经历
楼主,能否提供软件的试用版 |
|
问一个关于od中f7步入的问题
如果是系统调用的函数,那就不要进去了 |
|
前进方向 如何前进
术业有专攻~一样精就行了 |
操作理由
RANk
{{ user_info.golds == '' ? 0 : user_info.golds }}
雪币
{{ experience }}
课程经验
{{ score }}
学习收益
{{study_duration_fmt}}
学习时长
基本信息
荣誉称号:
{{ honorary_title }}
能力排名:
No.{{ rank_num }}
等 级:
LV{{ rank_lv-100 }}
活跃值:
在线值:
浏览人数:{{ visits }}
最近活跃:{{ last_active_time }}
注册时间:{{ user_info.create_date_jsonfmt }}
勋章
兑换勋章
证书
证书查询 >
能力值