孤注一掷

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2018年2月10日

摘要: Let S be a set of $n$ objects; then the binomial coefficient $(^n_k)$ is the number of $k$-elements subsets of $S$. Thus $\sum_{k=0}^n(^n_k)$ is the n 阅读全文
posted @ 2018-02-10 02:00 孤注一掷 阅读(129) 评论(0) 推荐(0) 编辑

摘要: The power set of a set A is the collection of all subsets of A. When working with a finite set with n elements, one question that we might ask is, “Ho 阅读全文
posted @ 2018-02-10 00:59 孤注一掷 阅读(255) 评论(0) 推荐(0) 编辑

2017年12月5日

摘要: https://embeddedgurus.com/stack-overflow/2010/02/is-gcc-a-good-compiler/ The true productivity stopper I have found is not in which tool is being used 阅读全文
posted @ 2017-12-05 11:28 孤注一掷 阅读(142) 评论(0) 推荐(0) 编辑

2014年9月9日

摘要: 地址空间布局随机化(address space layout randomization,ASLR)使用EMET工具集来关闭和启用下载地址http://technet.microsoft.com/zh-cn/security/jj653751http://www.microsoft.com/en-u... 阅读全文
posted @ 2014-09-09 16:05 孤注一掷 阅读(255) 评论(0) 推荐(0) 编辑

2014年3月10日

摘要: 通过测试发现,SetWindowsHookEx跟你的执行线程有关,若你的线程在发起SetWindowsHookEx后的任一时间退出了,则该Hook会随着线程一起消失,因此稳妥的办法是开一个专用线程来保持这个HOOK 阅读全文
posted @ 2014-03-10 15:15 孤注一掷 阅读(195) 评论(0) 推荐(0) 编辑

2013年1月6日

摘要: 在逆向C++目标时,我们有时候可能会关注一个V表中到底有多少个虚函数。这种细节大概多半是与编译器实现相关。为了弄清楚这个问题,我在VS2008下写了一个简单的测试程序来探求这个问题的答案。下面是C++的测试程序源码:class IBox {public: virtual void f1() = 0; virtual void f2() = 0; virtual void f3() = 0; virtual void f4() = 0;};class Box : public IBox {protected: int id;public: Box() { id = 0; } Box(int b. 阅读全文
posted @ 2013-01-06 22:54 孤注一掷 阅读(342) 评论(0) 推荐(0) 编辑

摘要: http://blog.csdn.net/haoel/article/details/1948051/ 阅读全文
posted @ 2013-01-06 22:13 孤注一掷 阅读(149) 评论(0) 推荐(0) 编辑

2012年11月23日

摘要: 利用CreateRemoteThread向进程注入远程代码时,一般会有以下两种做法:利用LoadLibrary在目标进程加载指定的DLL将代码复制到目标进程,然后启动这段代码上面的第二种方法其实在使用上更加灵活。因为借用该方法,我们可以灵活地自定义函数(以下简称为启动函数)的参数。其使用流程一般为:利用VirtualAllocEx / WriteProcessMemory 将启动函数的代码复制到目标进程利用VirtualAllocEx / WriteProcessMemory 将启动函数的参数复制到目标进程调用CreateRemoteThread (..., 启动函数指针, 参数指针...)来 阅读全文
posted @ 2012-11-23 15:07 孤注一掷 阅读(422) 评论(0) 推荐(0) 编辑

2012年11月22日

摘要: 利用CreateRemoteThread来注入通常是个细致工作,就好比穿针引线,尤其是在嵌入汇编后,这种针线活很容易出错利用以下断点:bp CsrNewThread可以在OD中调试注入后的代码,非常方便。不过以上方法有可能在调试中不完全奏效,具体原因我还没有详细分析。在以上方法失效时,我推倒用下面的更好的方法:如果在CreateRemoteThread时,使用了将本地代码复制到目标进程的方法,那么恭喜你,你可以利用VirtualAllocEx返回的目标进程启动函数地址在OD中快速定位到入口代码。其具体步骤为:使用OD打开目标进程利用VirtualAllocEx在目标进程中分配内存利用Wirte 阅读全文
posted @ 2012-11-22 15:48 孤注一掷 阅读(694) 评论(0) 推荐(0) 编辑

2012年10月31日

摘要: 在OD中,用户可以自定义函数解析,这样分析器就可以以更友好的方式来显示函数调用。不过自定义函数有一个限制,经过实际测试,OD的自定义函数只能针对简单的导出函数名称。类似于C++中Class::MemberFunc这种名称是无法解析的,使用中需要注意。另外,对于没有调试符号的CALL,也可以通过自定义标签,然后使用标签名称作为解析函数名称。当然,你的标签必须是唯一的。 阅读全文
posted @ 2012-10-31 11:40 孤注一掷 阅读(315) 评论(0) 推荐(0) 编辑