|
|
[求助]写了一个x64dbg的插件为啥不能加载?
官方提供的test插件源码,里面附带的插件sdk似乎与现有的x64dbg的代码不一致 |
|
|
[求助]写了一个x64dbg的插件为啥不能加载?
插件模板使用的lib和dll,你核对一下跟最新版的是否名字一样 还有插件后缀名是dp32/dp64 检查一下插件编译出来的依赖dll 用Depends检查一下你的插件,估计是插件SDK版本过低 |
|
|
[求助]不使用GetProcAddr获取API地址
我只知道遍历导出表 |
|
|
[求助]对话框显示乱码
大牛给你指明了 |
|
|
[求助]X64 HOOK ntdll的memcpy函数
被破坏的代码里有jb,恢复代码的时候要注意 |
|
|
[求助]修改程序call,让他每次都先执行我的dll内容??
pushad pushfd 这里加入你的处理代码 popfd popad 然后你dll里的call函数,最好声明为naked函数避免堆栈破坏。 然后你exe里call你自己函数这个不知道你是用什么方法实现的,总之要保证你的call执行完之后,能准确的跳回原call地址,并且要保证堆栈和原来一样。 |
|
|
[求助]这段代码该如何理解?
void __declspec(naked) startmain() { __asm { call loop0 //=push “_emit 0x48的地址”,然后jmp loop0 _emit 0x48 //H _emit 0x65 //e _emit 0x6C //l _emit 0x6C //l _emit 0x6F //o _emit 0x20 // _emit 0x57 //W _emit 0x6F //o _emit 0x72 //r _emit 0x6C //l _emit 0x64 //d _emit 0x21 //! _emit 0x0A //\n _emit 0x00 //\0 loop0: //jmp到这里的时候,等于压入了一个字符串指针作为参数 call dword ptr ds:[0x400168] messagebox //所以这里的messagebox不是系统API的MessageBox,因为参数不一样 pop ecx //这个pop操作弹出了之前的字符串指针,说明messagebox函数是cdecl类型的而不是stdcall ret } } 这个代码看起来只是为了炫一下call = push+jmp罢了,楼上几位都有提到,并不是什么了不得的技能。 这里解释一下,首先代码里用到的messagebox应该是自己写的一个中转函数,函数实现大概是这样: int cdecl messagebox(LPCSTR lpText) { return MessageBoxA(0 , lpText , 0 , MB_OK); } 你自己用OD什么的调试随便一个东西,跟一下call指令和ret指令,看堆栈的变化。 |
|
|
[求助]知道2个内存地址指针和大小,怎么将数据赋值给char
不太明白你的意思。 简单说,如果已经知道一个内存地址和大小,假如这个内存地址的字符串以0结尾,那么就可以直接: char* p = 地址; 假如不是以0结尾,那么你可以先申请一个字符串大小+1的空间,然后使用memcpy复制到这个空间里。 然后再说合并在一起。假设两个内存地址为0x00040000,0x00041000,大小分别为0x10和0x20。 char *p = new char[0x10+0x20+1]; memcpy(p,0x00040000,0x10); memcpy(p+0x10,0x00041000,0x20); p[0x10+0x20] = 0; 如果是unicode字符串的话,就自己做一些调整吧。 |
|
|
[求助]怎么让游戏失去焦点不暂停
一般应该是找GetForegroundWindow之类的吧。或者是WM_ACTIVATE和WM_ACTIVATEAPP吧 |
|
|
[求助][求助]帮忙求下这个算法.谢谢了:)
不应该撤题,而是在题后附上解决方法 |
|
|
[求助]关于MFC自绘控件的修改问题
MFC只是封装了一些东西而已,并不会改变windows原有的套路吧 |
|
|
|
|
|
[求助]修改全局变量
没看到是ios板块的瞎说了抱歉 |
|
|
.net程序想修改一个按钮默认按下
用 Reflector 或者 ILSPY,逆出源码,然后看代码,找到启动函数,启动函数一般会注册一个启动后回调函数,在回调函数中添加代码,调用这个开始按钮的函数。思路是这样的,但是具体操作就需要你自己摸索了 |
|
|
|
|
|
[求助]c语言结构体成员问题
并没有生气啊,只是有点奇怪而已 |
|
|
[求助]c语言结构体成员问题
二楼已经讲的很清楚了,第一版的代码指针没有初始化,一般是0,你给0指针赋值肯定出错。 后面用数组代替,你的数组大小也没有初始化,可能也会存在不稳定的情况。 最后你自己的需求是什么都没说清楚,而且这么简单的问题自己不会F5调试一下吗?*(byte*)这么高大上的强制转换你都会写了,难道不会调试?? |
|
|
[求助]困扰了一个多小时的问题
来源内存区域应该不是连续的,遇到非法内存区域就会出错吧 |
|
|
|
|
|
[求助]关於c语言裁剪bmp图片问题
按照你的例子来看,假如一个像素3字节,那么就是24位的,nBPP就是24。假如图片宽度是4像素,那么计算 Pitch=(((nWidth*nBPP)+31)/32)*4,得到Pitch=12,图片中某一行的储存格式是: B1 G1 R1 B2 G2 R2 B3 G3 R3 B4 G4 R4 你的算法应该不会出错。 但是假如图片宽度是3像素,那么计算Pitch的结果还是Pitch=12,图片中某一行的储存格式是: B1 G1 R1 B2 G2 R2 B3 G3 R3 0 0 0 按照你的算法读取下一行的第一个像素(B1 G1 R1)就会读取到 0 0 0。所以出错 |
操作理由
RANk
{{ user_info.golds == '' ? 0 : user_info.golds }}
雪币
{{ experience }}
课程经验
{{ score }}
学习收益
{{study_duration_fmt}}
学习时长
基本信息
荣誉称号:
{{ honorary_title }}
勋章
兑换勋章
证书
证书查询 >
能力值
