|
[求助]困扰了一个多小时的问题
来源内存区域应该不是连续的,遇到非法内存区域就会出错吧 |
|
|
|
[求助]关於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。所以出错 |
|
[求助]关於c语言裁剪bmp图片问题
应该是3楼说的边界对齐的问题吧。比如图片宽度是3像素,那么储存的时候应该是按4像素来储存的,空白像素补齐,读取的时候要跳过。其实可以不用管对齐,bmp文件格式中应该有一个Pitch参数,表示一行有几个字节。根据Pitch运算,按行来处理。 说错了,Pitch也是计算出来的,不是储存在bmp文件里的。Pitch=(((nWidth*nBPP)+31)/32)*4 nBPP就是biBitCount member of BITMAPINFOHEADER |
|
[求助]PrintScreen sysrq截屏原理是什么?
win8的?win7试了一下没反应,也找不到生成的图片 |
|
|
|
[求助]PrintScreen sysrq截屏原理是什么?
为啥不监控剪贴板 |
|
关于重启explorer.exe进程跟SetParent的问题求助
在子窗口的 WM_NCDESTROY 消息响应函数中,把父窗口设置为空或者别的什么。最好设置一个变量判断是由于父窗口销毁导致的WM_NCDESTROY还是你确实要把子窗口销毁,如果是由于父窗口销毁的话,就按上面那样,设置父窗口为空,然后隐藏窗口而不是销毁该子窗口;如果是你自己要销毁的,就调用CDialog::OnDestroy()正常销毁。 看你的代码有处理WM_DESTROY,我没测试这个消息,我用的是MFC的窗体草草测试的,我对于windows的消息机制也不太了解,知其然而不知其所以然。你可以自己测试一下WM_DESTROY消息是否也可以。 |
|
[求助]DLL注入进程包括改进程创建的所有子进程、子线程
hook目标进程的CreateProcess和CreateThread? |
|
[讨论]如果将代码注入自身程序?
用VirtualProtect改变内存属性就可以修改了。代码可写之后,你可以直接写入代码的16进制数据。 要使用高级语言写,那不就是先把代码写好作为一个函数,然后调用吗? |
|
|
|
[讨论]如果将代码注入自身程序?
你要写入的代码是什么样的,执行的时机又是什么样的? |
|
无壳程序修改调用进程名字(求助大家)
自己写个程序名字叫做K3Mir3.exe,启动C9CCC2.ex9 |
|
[原创]最近无聊,在研究外挂的F12呼出窗口的原理
应该需要获取DX或者OPENGL的离屏表面,游戏绘制完之后,显示出来之前,你绘制对话框 |
|
[原创]HOOK学习笔记与心得
hookon和hookoff不需要使用WriteProcessMemory,因为dll已经注入了目标进程,fadd的地址相当于本地地址,可以直接当作本地内存进行操作,比如*fadd=xxx 这样的,或者memcpy函数。 另外Inject里面也不需要内联汇编,一样的道理。 当然了并不是说你写的不对或者写的不好,而是交流一下其他的手法,操作本地内存可以更灵活 |
|
[求助]dll与exe通信问题疑问之二
是的。按我目前了解到的,32的dll无法注入到64位进程,同样64的dll无法注入32位进程。 |
|
[求助]dll与exe通信问题疑问之二
是不是32位dll和64位系统。。。 |
|
[求助]dll与exe通信问题疑问之二
安装完钩子之后查看一下目标进程模块,看dll注入进去了没 |
|
[求助]汇编 直接修改内存内容 请教~
你先的是不是注入到目标进程的代码?如果没有注入到目标进程的话,需要用WriteProcessMemory。如果是注入到目标进程的话,2楼说的应该是正确的原因,汇编代码看起来是没问题的。delphi我没玩过,但是你既然是修改内存,为啥一定要用汇编?delphi没有指针吗? |
|
[求助]通过WM_COYPDATA通信乱码问题
楼主的代码估计在Unicode模式和非Unicode模式下编译都能通过吧。但是不管哪种模式编译,都存在问题。ansi编译的话,MessageBoxW就不对;unicode编译的话,就像2楼说的,cbData也要转换成byte的长度 cpd.cbData = (sCopyData.GetLength() + 1) * sizeof(TCHAR) ; cpd.lpData = (void*)(LPCTSTR)sCopyData; ... MessageBox((LPCTSTR)(pCopyDataStruct->lpData),NULL,0); ... 另外GetBuffer之后要记得ReleaseBuffer,否则可能会出现问题。 |
操作理由
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 }}
勋章
兑换勋章
证书
证书查询 >
能力值