调试总结

1.调试程序之前不要放过每个细节,包括资源配置文件的所有东西都必须过一道两道或者三道,在这里发现的线索往往能让你调试事半功倍。

2.解析收包发包是基础,往往能跟到比较有价值的线索。

3.找结构体指针地址,想通过内存搜索来找,不可行。在堆栈空间往往会很多,一旦注入就会影响堆栈空间里面的值。只能一步一步的分析其来源,找到在其模块的正确偏移全局。

4.关于不确定值的搜索,能通过减少或者增加来定位。

5.对于OD不能解析的汇编代码能通过<-来重新解析,蛮好用的。

6.仔细仔细再仔细!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/499642.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

sizeof

对于new出来的array sizeof()得到的只是指针大小 对于直接赋值的array sizeof()得到的就是整个数组的大小 memcpy的时候特别注意

关于栈实践总结

今天发了个帖&#xff0c;问栈位于进程空间的哪个位置&#xff0c;居然很多人都不清楚。本人用OD看了下就一目了然 进程结构示意图&#xff1a; 主线程堆栈 --临时变量都在里面主线程pe --GetModuleHandle(NULL)通过API得到的进程首地址在这个位置&#xff…

中文路径

混合编码编译选项不能读中文路径 需要设置为unicode编译选项wifstream ifs; ifs.read(参数1&#xff0c;参数2) 参数2传的是个数&#xff0c;跟Unnicode无关将参数1转化成ansic过后得到的string.size()跟参数2不一样。 所以取读取的长度还是用参数2PS: string.size()跟string.l…

通过VirtualQuery获取当前模块的句柄

HMODULE ModuleFromAddress( PVOID pv ){MEMORY_BASIC_INFORMATION mbi;if(::VirtualQuery(pv, &mbi, sizeof(mbi)) ! 0){return (HMODULE)mbi.AllocationBase;}else{return NULL;}} 得到的模块基地址HMOUDULE handle ModuleFromAddress((PBYTE)ModuleFromAddress)就是模块…

D3DLOCK写纹理遇到的问题

现象&#xff1a;以D3D_DISCARD方式来LockRect写入的显存数据在UnLock过后拷贝出来就崩溃&#xff0c;在一些机器出现而在某些机器就不会出现。 解决&#xff1a;判断游戏写纹理数据LockRect方式是D3D_DISCARD的话&#xff0c;在UnLockRect写完数据过后&#xff0c;就不对原来显…

去除ring3层的Debug标志

_asm{mov eax, fs:[0x18]mov eax, [eax0x30]mov dword ptr ds:[eax],0}

2011工作总结

1、编码能力 代码实践中&#xff0c;开始注重模型的概念。所谓模型打个比方&#xff1a;要做一台电视机&#xff0c;首先搞清楚你想怎么使用它&#xff0c;目的是让它看起来更方便易用。根据常规经验判断&#xff0c;电器需要电源、需要信号&#xff0c;这两点是必不可少。OK&a…

逆向调试完成端口回包实践总结

大概描述下完成端口的原理 一个套接字可以对应多个overlapped, 每个overlapped都由相应的一个线程来处理。而WSARecv绑定好了一个OVERLAPPED&#xff0c;WSARecv的调用会通知数据即将到来&#xff0c;同时将会触发某线程中的GetQueuedCompletionStatus函数调用完成&#xff0c;…

编码问题

从XML读进来的UTF8编码需要转一次到宽字符&#xff0c;宽字符再转化成窄字符。 在中文系统下面读中文&#xff0c;没问题。 但读韩文的时候&#xff0c;第二步就会出现丢失现象。 所以在国际化中&#xff0c;最好都统一用宽字符编码

zeromq

使用zeromq注意context是多个socket的集合。 频繁删除创建context会产生异常&#xff0c;估计是zeromq的bug&#xff0c;待分析

静态添加DLL

LordPE 这个工具能够直接静态添加DLL,这下更方便了具体步骤&#xff1a;1. 点击PE编辑器&#xff0c;打开要添加的exe2. 进入目录表&#xff0c;选择输入表一项&#xff0c;点击省略号3..进入添加DLL界面。选择要添加的DLL。dll必须有一个导出函数添加即可,最后保存

区块链读书笔记一

区块链的本质就是交易各方信任机制建设的一个完美方案。 为什么是完美方案&#xff0c;原因 其一&#xff1a;是用纯数学方法来解决信任机制。 其二&#xff1a;不需要借助任何第三方结构。 其三&#xff1a;建立信任关系的成本几乎降到了零。 关于区块链问题&#xff0c;这…

区块链读书笔记二

“双花”问题&#xff0c;在区块链加密技术出现之前&#xff0c;加密数字资产和其他数字一样&#xff0c;具有无限复制性&#xff0c;如果没有一个中心化的机构&#xff0c;则我们没有办法确认一笔数字现金是否已经被花掉。在交易中一个可以信赖的第三方会保留甲乙总账从而保证…

区块链读书笔记三

区块链货币未来的完善分三个层面&#xff1a; 用户层面&#xff1a;区块链加密技术需要用户都要保存好自己的私钥&#xff0c;这涉及一个问题&#xff0c;若私钥丢失了&#xff0c;那意味着你的比特币也丢失了。这时候并没有第三方机构来为你进行密码恢复或找回私钥。 商户层面…

区块链读书笔记四

区块链对大规模协作产生的影响 对区块链未来的前景的兴奋点在于&#xff0c;极高的生产力会将这个星球上所有的人和机器都连入一个全新的网络&#xff0c;也许到了21世纪下半夜&#xff0c;资本主义走向没落&#xff0c;区块链去中心化协同共享将取而代之&#xff0c;每个人都有…

模拟网页行为之工具篇

模拟网页行为最常见的包含模拟网页登陆&#xff0c;模拟提交表单&#xff0c;甚至可以拒绝网页第三方安全软件的加载等一些更酷的行为&#xff0c;这种行为不仅仅是减少了一些非常枯燥重复的过程&#xff0c;更重要的是提升了商业行为中的效率&#xff0c;甚至会给你直接带来金…

模拟网页行为之工具篇二

先说360浏览器&#xff0c;打开开发者选项&#xff0c;可以看到界面提供了几个功能选项&#xff0c;如图&#xff1a; 这个图片的第一个搜索图标点中过后&#xff0c;再去选中网页你感兴趣的部分就可以在Element选项中跳转到你感兴趣的代码。也可以直接ctrlF2搜寻你感兴趣网页元…

模拟网页行为之实践篇

无论是模拟网页点击还是直接协议发包&#xff0c;都有其适用的环境。不同的需求选择不同的方案。如果只是简单的获取类似网页IP地址的需求&#xff0c;实际上协议发包是最简单的。但如果是用户名网页登陆等稍微复杂的登陆要求&#xff0c;则直接填写表单&#xff0c;并获取按钮…

模拟网页行为之实践篇二

在模拟网页行为中&#xff0c;最常用的就是提交表单了&#xff0c;其次就是获取验证图片数据&#xff0c;再次hook网页中的js代码的实现。 先说具体的应用场景&#xff0c;简单的场景&#xff0c;如填写用户名密码登陆&#xff0c;这里就涉及到获取表单&#xff0c;填写表单数据…

模拟网页行为之实践篇三

现在来谈下验证码图片的获取方式&#xff0c;带有验证码的地方都会附带有个刷新按钮&#xff0c;而刷新按钮的地方就是获取验证码网址代码。如果看过前面写的《模拟网页行为之工具篇》就会很容易定位到代码位置。定位到代码位置后看下图&#xff1a; 基本可以看到的是获取验证码…