VSCode高端玩法
VSCode的高端玩法
VSCode的高端玩法
MFC库现在基本上没落了, 用的人越来越少,现在一般做GUI开发都是使用Qt, Qt这个东西实现比MFC不知道高到哪里去了, 使用起来更符合直觉, 学起来更简单,可惜了没有一个好爹, 一直没有火起来!!
总是在不经意间需要使用的函数有很多.. 字符串转换方面是个大头.. 刚好这边有两个非常好用的函数, 收集起来..
今天逆向的时候, 又看到有人用了几个api函数, 记录下. IsProcessorFeaturePresent判断系统的一些特性. 还有下面这个链表使用例子, 原来在windows SDK上也是有链表操作的. 以后要多看看微软这个simple
http://msdn.microsoft.com/en-us/library/windows/desktop/ms686962(v=vs.85).aspx
以前我们有时候会创建一个隐藏的窗口, 然后让他们和其他窗口进行通信. 确实有这种需求啊. 今天在看某软件的时候发现一个办法. 当然这个办法在MSDN里面
就有的. 只是以前没有用过. 也没听人说起过.
CreateWindowExW(0, L”WndClass”, L”WndName”, 0, 0, 0, 0, 0, HWND_MESSAGE, 0, 0, 0);
父窗体指定为HWND_MESSAGE常量,它可以收发消息,没z-order,,不可遍历且不无能接收到广播消息仅做简单的消息分发.我们可以在创建窗体时指定其父窗体为HWND_MESSAGE常量也可以将现有窗体通过SetParent将父窗体设为HWND_MESSAGE常量从而达到变成消息窗体的目的.
结论: 消息窗体窗体是不可见,在SPY++窗体中可以找到, 但同步不到也就是说没有被遍历到.发出广播消息(RegisterWindowMessage注册的消息)后没有收到.WM_COPYDATA 消息必须由SendMessage 函数发送(同步方式,系统为了确保数据有效)
以后创建背后通信的窗口就使用这个了!
IDA cfg 目录下-> idagui.cfg ,把DISPLAY_PATCH_SUBMENU = NO 修改这个 NO 为 YES这样在编辑菜单下会多出一个 PATCH Program 的选项,然后就可以用里头的assemble来修改了文件.
1、Shift + F1:打开本地类型;
2、insert:插入自定义的结构体, 可以是联合体
3、Shift + F9:打开结构体;
4、Insert:添加上面创建的结构体;
5、选取相应数据,Alt + Q 将其以上面的结构体进行解析。
恩, 非模态对话框有时候还是有些应用的.
原来一直没有试验过用结构体作为参数传递和返回, 一直说结构体作为参数传递很慢撒的, 所以也没有
去关心过结构体在内存中的存储形式, 这下上课讲到这个. 不得不关注下这个结构体的具体形式了..