<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[无名侠的博客]]></title><description><![CDATA[天生傲骨，岂能服输？]]></description><link>https://blog.youkuaiyun.com/PandaOS</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; PandaOS]]></copyright><item><title><![CDATA[JNI_OnLoad与init_array下断方法整理]]></title><link>https://blog.youkuaiyun.com/PandaOS/article/details/52008037</link><guid>https://blog.youkuaiyun.com/PandaOS/article/details/52008037</guid><author>PandaOS</author><pubDate>Sat, 23 Jul 2016 23:43:17 +0800</pubDate><description><![CDATA[JNI_OnLoad和init_array 在SO脱壳中占了很多比重，那么如何在它们执行前下断点呢？ 
考虑到SO加载的时机，在jdb附加之前并不能对我们想调试的SO下断点，即使是知晓了偏移位置。因为它们还没有被加载。据说这可以用脚本来解决，这不是这篇文章讨论的范围。本文章讨论的方法是从系统库中下断的方法来达到目的。首先讨论init_array下断点的方法: 
init_array 是在so加载后由]]></description><category></category></item><item><title><![CDATA[音悦台下载加密算法s2k分析]]></title><link>https://blog.youkuaiyun.com/PandaOS/article/details/51263598</link><guid>https://blog.youkuaiyun.com/PandaOS/article/details/51263598</guid><author>PandaOS</author><pubDate>Wed, 27 Apr 2016 19:01:36 +0800</pubDate><description><![CDATA[音悦台下载时候的s2k加密算法分析。]]></description><category></category></item><item><title><![CDATA[恋恋加密算法解析]]></title><link>https://blog.youkuaiyun.com/PandaOS/article/details/51263537</link><guid>https://blog.youkuaiyun.com/PandaOS/article/details/51263537</guid><author>PandaOS</author><pubDate>Wed, 27 Apr 2016 18:52:11 +0800</pubDate><description><![CDATA[恋恋加密算法分析，从Java层到native层再到Java层]]></description><category></category></item><item><title><![CDATA[Debugging Dalvik programs with IDA]]></title><link>https://blog.youkuaiyun.com/PandaOS/article/details/50709144</link><guid>https://blog.youkuaiyun.com/PandaOS/article/details/50709144</guid><author>PandaOS</author><pubDate>Sun, 21 Feb 2016 19:29:48 +0800</pubDate><description><![CDATA[翻译：无名侠 
 
引言
自从IDA v6.6 开始就能够调试安卓应用程序，也包括一个源码级的调试器。这个教程将会讲解如何建立并且开始一个Dalvik调试会话。


安装Android SDK
首先，我们应该安装安卓SDK，可以通过官方网站下载 http://developer.an droid.com/sdk
我们不需要ADT Bundle，所以选择”SDK Tools Only]]></description><category></category></item><item><title><![CDATA[Android 5.0 + IDA 6.8 调试经验分享]]></title><link>https://blog.youkuaiyun.com/PandaOS/article/details/50614453</link><guid>https://blog.youkuaiyun.com/PandaOS/article/details/50614453</guid><author>PandaOS</author><pubDate>Sun, 31 Jan 2016 13:23:37 +0800</pubDate><description><![CDATA[现在升级快，网上的资料只能做参考。 
学到了NDK逆向这一块，昨天为了能让IDA 能动态调试SO，瞎折腾了很久，这里分享一下我的经验。工具: 
IDA pro 6.8 
Android 5.xIDA 6.8 在看雪吾爱应该都能找到下载地址。 
我的手机是三星 on7 Android 5.1系统。 
以前我一直用的是IDA 6.6，群里人说5.0以上的系统要用6.8…]]></description><category></category></item><item><title><![CDATA[Win32 播放MP3]]></title><link>https://blog.youkuaiyun.com/PandaOS/article/details/50410155</link><guid>https://blog.youkuaiyun.com/PandaOS/article/details/50410155</guid><author>PandaOS</author><pubDate>Sat, 26 Dec 2015 21:02:00 +0800</pubDate><description><![CDATA[#include 

#pragma comment(lib, "winmm.lib")
bool PlayMP3(char * szFileName);MCI_OPEN_PARMS m_mciOpen;  //打开参数
MCI_PLAY_PARMS m_mciPlay;  //播放参数
bool PlayMP3(char * szFileName) 
{
	//PlaySound("C:\]]></description><category></category></item><item><title><![CDATA[UDP广播的代码]]></title><link>https://blog.youkuaiyun.com/PandaOS/article/details/50274035</link><guid>https://blog.youkuaiyun.com/PandaOS/article/details/50274035</guid><author>PandaOS</author><pubDate>Sat, 12 Dec 2015 12:30:48 +0800</pubDate><description><![CDATA[在bind 广播地址 会一直返回-1，忽略即可~
服务器代码：
#include 
#include 
#pragma comment(lib,"ws2_32.lib")
#define ServicPort 1447
void showerr(char * err,bool exit1)
{
	printf(err);
	if(exit1) 
	{
		getchar();
		exit(0]]></description><category></category></item><item><title><![CDATA[二叉堆]]></title><link>https://blog.youkuaiyun.com/PandaOS/article/details/49539383</link><guid>https://blog.youkuaiyun.com/PandaOS/article/details/49539383</guid><author>PandaOS</author><pubDate>Sun, 01 Nov 2015 00:48:01 +0800</pubDate><description><![CDATA[半夜三更，编程写文章，真是妙不可言。


二叉堆是一种非常有用的数据结构。
二叉堆实际上是一颗二叉树，是一个用数组来存储的二叉树。
应用:二叉堆排序  复杂度O(N * logN)


二叉堆分为两种：最小堆，最大堆。 
最小堆：父节点小于左右子节点的值。


二叉堆实际上是一颗完全二叉树，高度为 logN
设父节点在数组中的下标为x , 左子节点就是 2x 右子节点是2]]></description><category></category></item><item><title><![CDATA[树莓派 Python GPIO 学习笔记]]></title><link>https://blog.youkuaiyun.com/PandaOS/article/details/48106955</link><guid>https://blog.youkuaiyun.com/PandaOS/article/details/48106955</guid><author>PandaOS</author><pubDate>Sun, 30 Aug 2015 18:15:12 +0800</pubDate><description><![CDATA[树莓派的GPIO扩展功能非常强大，它使一切变得了可能。 
本人初学树莓派，如有写的不对的地方，欢迎指出，非常感谢。Python使用RPi库来实现控制GPIO。 
Rpi库可以使用pip安装，具体步骤请百度。这是一张GPIO编码表。 
GPIO.setmode  这个函数用来设置模式。  
例如：GPIO.setmode(GPIO.BCM) 指定BCM 编码方式。GPIO.setup 这个函数用于设置]]></description><category></category></item><item><title><![CDATA[树莓派 HC-SR04 模块使用]]></title><link>https://blog.youkuaiyun.com/PandaOS/article/details/48106829</link><guid>https://blog.youkuaiyun.com/PandaOS/article/details/48106829</guid><author>PandaOS</author><pubDate>Sun, 30 Aug 2015 18:00:54 +0800</pubDate><description><![CDATA[最近在学习树莓派，就写写自己的学习记录吧。HC-SR04 是一款非常廉价的超声测距模块，在X宝上只用花十块不到就能买到。上图就是，很小巧的。该模块操作方便，在准备测距的时候需要在 Trig 引脚给10us高电平。Echo 就是输出。距离计算公式:距离 = Echo高电平时间*(340M/S) /2Out好像是应该报警输出，我没有深入研究过。我将 Trig 接入到 GPIO 14 把Echo 接入到G]]></description><category></category></item><item><title><![CDATA[getopt笔记]]></title><link>https://blog.youkuaiyun.com/PandaOS/article/details/48094103</link><guid>https://blog.youkuaiyun.com/PandaOS/article/details/48094103</guid><author>PandaOS</author><pubDate>Sat, 29 Aug 2015 23:49:36 +0800</pubDate><description><![CDATA[最近在学习Linux下的编程，就记录一下学习过程吧
getopt 是用来解析命令行的。
要使用getopt相关的函数就需要 导入  unistd.h 这个头文件0.0


main函数的声明是这样的（或许不是标准的）:
int main(int argc,char *argv[])
argc 是命令行的数量，argv则是一个命令行“内容”数组。
特别有一点需要主要，命令是以空格为分]]></description><category></category></item><item><title><![CDATA[VC写加密壳]]></title><link>https://blog.youkuaiyun.com/PandaOS/article/details/47765271</link><guid>https://blog.youkuaiyun.com/PandaOS/article/details/47765271</guid><author>PandaOS</author><pubDate>Wed, 19 Aug 2015 00:18:46 +0800</pubDate><description><![CDATA[这次我使用VC来写一个加密壳的框架。]]></description><category></category></item><item><title><![CDATA[Python学习笔记(2)]]></title><link>https://blog.youkuaiyun.com/PandaOS/article/details/46753701</link><guid>https://blog.youkuaiyun.com/PandaOS/article/details/46753701</guid><author>PandaOS</author><pubDate>Sat, 04 Jul 2015 10:08:48 +0800</pubDate><description><![CDATA[已经学习Python两天了，总结一下学习成果。 
初学Python，如果有写错的地方，还望各位大牛指出。先列一列作品：
Python socket 客户端测试程序
EasyGUI 猜数游戏
看雪登录器
涉及到的知识点：
面向对象
socket库
httplib2库
EasyGUI 
小知识点:
导入模块通过这种方式导入模块中的全部内容。from socket import *
import easy]]></description><category></category></item><item><title><![CDATA[Python学习笔记（1）]]></title><link>https://blog.youkuaiyun.com/PandaOS/article/details/46734487</link><guid>https://blog.youkuaiyun.com/PandaOS/article/details/46734487</guid><author>PandaOS</author><pubDate>Fri, 03 Jul 2015 01:07:50 +0800</pubDate><description><![CDATA[今日有幸学习Python。 
看的教程是这里的http://www.runoob.com/python/python-tutorial.html 
因为有编程基础，所以只用了几个小时的时间来熟悉Python。 
下面是一段比较综合性的代码，最为今晚（好像是早晨。）的一个总结。 
知识点：
Python基础语法
Python面向对象
Python 文件I/O
Python异常处理机制字典： 
我认为字]]></description><category></category></item><item><title><![CDATA[栈溢出笔记（1）]]></title><link>https://blog.youkuaiyun.com/PandaOS/article/details/46655365</link><guid>https://blog.youkuaiyun.com/PandaOS/article/details/46655365</guid><author>PandaOS</author><pubDate>Fri, 26 Jun 2015 23:14:43 +0800</pubDate><description><![CDATA[实践是检验真理的唯一标准
栈溢出的原理非常简单，但是实际操作起来确实问题多多。- 准备工具
WinHex 
vc++6.0 
一双勤奋的手和善于思考的大脑
#include <stdio.h>
#include <windows.h>
const char * FileName = "reg.txt"; 
const char * trueCode = "1245";
#define Msg(STR]]></description><category></category></item><item><title><![CDATA[躲猫猫！验证机制隐藏在API中]]></title><link>https://blog.youkuaiyun.com/PandaOS/article/details/46595373</link><guid>https://blog.youkuaiyun.com/PandaOS/article/details/46595373</guid><author>PandaOS</author><pubDate>Mon, 22 Jun 2015 20:01:03 +0800</pubDate><description><![CDATA[把软件的注册机制隐藏在API里最大的好处就是不容易被破解者发现，因为他们经常会用OD的F8快捷键步过API，很少有人跟进去看把？然后…程序的注册机制调用就在XX API中。 
    原理比较简单，主要是利用了流行的HOOK技术，至于怎么HOOK完全取决于你，反正要能改变API函数的流程即可。 
如果选的HOOK点适当，我觉得这一招还是很阴的…. 
比如： 
MessageBoxA 
IsDebug]]></description><category></category></item><item><title><![CDATA[VC实现SMC加密技术]]></title><link>https://blog.youkuaiyun.com/PandaOS/article/details/46575441</link><guid>https://blog.youkuaiyun.com/PandaOS/article/details/46575441</guid><author>PandaOS</author><pubDate>Sat, 20 Jun 2015 20:33:22 +0800</pubDate><description><![CDATA[前言SMC是一种局部代码加密技术，通过对一段代码进行加密来达到增加逆向工程难度或者免杀的目的。  编写SMC代码不是汇编语言的专利。——《加密与解密 第三版》 
是的，SMC不仅能使用汇编上实现，还能很容易的使用VC实现，但是有一个比较致命缺陷：要精准的定位某个函数非常麻烦，所以我们就要以区块为加密的基础单位。预备知识需要一点点的PE结构基础就ok啦。加密算法既然是加密，就必然需要加密算法。Inte]]></description><category></category></item></channel></rss>