- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我需要解密 c 中的 wpa 2 psk 编程。假设我已经拥有 TK(只需要解密单播),我正在尝试使用以下代码解密数据包(实际上没有运气):
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <openssl/pem.h>
#include <openssl/bn.h>
#include <openssl/aes.h>
struct ctr_state {
unsigned char ivec[128];
unsigned int num;
unsigned char ecount[128];
};
void init_ctr(struct ctr_state *state, const unsigned char iv[16]){ //
state->num = 0;
memset(state->ecount, 0, 128);
memset(state->ivec, 0, 128);
memcpy(state->ivec, iv, 16);
}
char * extochar(char * in, int inLen){
int i,k;
int resInt[inLen/2];
char * resChar=malloc(inLen/2);
k=0;
for(i=0; i<inLen/2; i=i++){
resInt[k]=chartoint(in[i*2])<<4;
resInt[k]+=chartoint(in[(i*2)+1]);
k++;
}
for(k=0; k<inLen/2;k++){
resChar[k]=(char)resInt[k];
}
return resChar;
}
int chartoint(char car){
int intero = 0;
intero = car - '0';
if(intero < 10 && intero > -1)
return intero;
else
return car - 'a' + 10;
}
void main(){
unsigned char * po = extochar("00",2);
unsigned char * a2 = extochar("0012f0be7301",12);
unsigned char * pn = extochar("000000000052",12);
unsigned char * nonce= malloc(13);
char * hextk= "15b1657878b1d12c93b4e073e42b629a";
unsigned char * tk= extochar(hexstr, strlen(hextk));
init_ctr(&status, nonce);
nonce[0]=po[0];
nonce[1]=a2[0];
nonce[2]=a2[1];
nonce[3]=a2[2];
nonce[4]=a2[3];
nonce[5]=a2[4];
nonce[6]=a2[5];
nonce[7]=pn[0];
nonce[8]=pn[1];
nonce[9]=pn[2];
nonce[10]=pn[3];
nonce[11]=pn[4];
nonce[12]=pn[5];
AES_KEY aes_key;
if(AES_set_encrypt_key(tk, 128, &aes_key))
exit(-1);
//encrypted payload
char * ext_crypt = "146a056e3b20ece434594373a0e4fcbc83114c9a1bc158ecc4ca6bb449d6ec8468c8e08af3f4f33ce961f7b42c7651e22042e0bf39bd864a1b5f1035af5a54986183ee79446e3fb80a6f9bbb7a0177f557ce192c5515bd3a671b73464b9cf0fb817fd614987b65c0e20d753dedab8bf1934294e112cb865effb14724a2c66fcc7956f8fcfb0f7f2e539fbbf4e30c08fc18d10eb143510eae8b88e911c1cee773b73cdaf6d45151ad01fb2e2f5aa014510a";
int msg_len= strlen(ext_crypt)/2 - 12;
unsigned char * crypt = extochar(ext_crypt, strlen(ext_crypt));
AES_ctr128_encrypt(crypt, cleartxt, msg_len, &aes_key, status.ivec, status.ecount, &status.num);
}
输出应该是这样的:-搜索 * HTTP/1.1主机:239.255.255.250:1900男人:“ssdp:发现”墨西哥:2ST: urn:schemas-upnp-org:service:WANPPPConnection:1
我在这里粘贴了加密数据包的来源:http://pastebin.com/RvkfSt54代码或数据中是否存在任何问题,我该如何解决?非常感谢!
最佳答案
除了代码未注释和格式有点糟糕之外...如果您启用警告(您应该始终这样做),您的编译器可以回答您的问题是否“代码中存在任何问题”:
test.c: In function ‘extochar’:
test.c:28:26: warning: operation on ‘i’ may be undefined
test.c:29:13: warning: implicit declaration of function ‘chartoint’
test.c: At top level:
test.c:40:5: error: conflicting types for ‘chartoint’
test.c:40:1: note: an argument type that has a default promotion can’t match an empty parameter name list declaration
test.c:29:23: note: previous implicit declaration of ‘chartoint’ was here
test.c:49:6: warning: return type of ‘main’ is not ‘int’
test.c: In function ‘main’:
test.c:51:26: warning: pointer targets in initialization differ in signedness
test.c:52:26: warning: pointer targets in initialization differ in signedness
test.c:53:26: warning: pointer targets in initialization differ in signedness
test.c:56:34: error: ‘hexstr’ undeclared (first use in this function)
test.c:56:34: note: each undeclared identifier is reported only once for each function it appears in
test.c:57:15: error: ‘status’ undeclared (first use in this function)
test.c:79:30: warning: pointer targets in initialization differ in signedness
test.c:80:31: error: ‘cleartxt’ undeclared (first use in this function)
关于c - 如何用openssl解密wpa 2 psk,用c编程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7117777/
我为 CLR 提供程序记录 ETW 事件: xperf -start clr -on e13c0d23-ccbc-4e12-931b-d9cc2eee27e4 -f clr.etl ... xperf
我正在编写一个应用程序,允许用户使用 PEAP 或 TTLS 和证书轻松地将 android 连接到企业无线网络。 我可以添加一个基于 EAP 的 wifi 配置文件,并让它使用正确的凭据和证书将 w
我经常乘公共(public)汽车旅行,其中大部分都提供某种形式的车载 WiFi。使用像 Wicd 这样的自动连接管理器连接到它们的通常方法是选择网络,然后在启动浏览器时进行一些额外的身份验证,我就完成
当我使用NEHotspotConfigurationManager加入具有64个十六进制数字的wpa2网络时,我收到错误: NEHotspotConfiguration invalid WPA/WPA
我尝试编写一个 Python 程序来计算 WPA 握手,但我在哈希方面遇到了问题。为了比较,我安装了 cowpatty (看看我从哪里开始出错)。 我的 PMK 生成工作正常,但 PTK 计算似乎总是
我需要将 headless 物联网设备 (Raspberry Pi) 连接到 Wi-Fi 网络。我有使用 YoctoProject 构建的自定义 Linux。我没有安装 connman 或 Netwo
Cydia中的eWifi、WiFiFoFum等wifi扫描应用程序可以知道安全类型。使用 Apple80211 api 时,应用程序如何知道 OPEN、WPA、WPA2、WEP 等安全类型? CAPA
因此,在我的应用程序中,我将连接到给定 SSID 和网络 key 的 WiFi 网络。它运行良好,如果使用广播接收器连接成功,用户会收到通知。现在我只需要能够告诉用户是否存在身份验证问题(即给定的 k
我正在尝试获取 2 个函数来验证 SSID 和 WPA2 密码。 function isValidSSID(ssid) { return (regex) } 和 function isVali
我正在用 C 为 linux 编写一个程序,以从 Windows 注册表配置单元中提取 wpa/wep key 。 最初我希望使用 wine 的 CryptUnprotectData 函数,但现在我意
我正在尝试验证用户为 WPA 连接输入的 SSID 和 WPA 密码。我的程序是运行在嵌入式Linux平台上的Python程序。我可以通过解析 iwlist scan 子进程的输出来验证具有 SSID
这是我的问题: 如果我连接到网络(所以我知道 WPA/WPA2-PSK),我希望能够解密我从网络中的其他设备捕获的流量。 (如果使用 WEP,tcpdump 会自动执行此操作)。 据我所知,WPA 为
我在 React+Nodejs 上有一个中等规模的项目,我需要为移动部分选择最合适的技术。为此,我正在考虑使用 React Native 或 Web Progressive Apps。我想问你们,到目
我浏览过 stackoverflow 本身以及其他博客和网站上关于以编程方式连接到 WiFi 网络的几个话题。我得到了他们的指南并开发了一个代码 fragment ,发布在下面。我的住处有一个 pro
我试图计算 WPA 握手数据包的 MIC,但不幸的是它失败了。更准确地说,我采用了 802.1x 数据包(如规范所述)。 MIC = HMAC_MD5(MIC Key, 16, 802.1x data
尝试以编程方式从 Android 连接到我的无线网络。 安全类型是WPA2,加密AES。 这没有按预期工作: private WifiConfiguration saveWepConfig(Strin
几个月前,我开始开发一些 WiFi-Direct 应用程序。几天前,我将我的两个 Galaxy Nexus 都更新为 Jelly Bean (4.1.x) 并测试了我的应用程序,但似乎又出现了问题。获
我的 Nexus One (Gingerbread) 和 Samsung Galaxy Tab (Honeycomb) 都停止连接到我使用 WPA/WPA2 无线连接的公司网络。奇怪的是,这两种设备至
尝试列出网络属性时 - https://w1.fi/wpa_supplicant/devel/dbus.html#dbus_network使用 dbus-cpp 我收到一些关于丢失 operator=
我正在尝试使用 java 创建一个随机 WPA 密码生成器,以便为我提供尽可能安全的 Wifi 密码,并且可以在我需要时进行更改。 是否有一种方法可以使用 WPA(2) 密码中允许使用的所有字符快速填
我是一名优秀的程序员,十分优秀!