我想通过索引号迭代python中的字典.
示例:
dict = {'apple':'red','mango':'green','orange':'orange'}
Run Code Online (Sandbox Code Playgroud)
我想从头到尾遍历字典,以便我可以通过索引访问字典项.例如,第1项将是苹果,第2项将是芒果,值将为绿色.
像这样的东西:
for i in range(0,len(dict)):
dict.i
Run Code Online (Sandbox Code Playgroud) 在此页面 http://www.html5rocks.com/en/tutorials/file/dndfiles/,如果您向下滚动到示例"示例:切片文件.试试吧!" 您将看到使用readAsBinaryString API读取本地文件的字节.
我见过IE(我的情况是IE11)不支持readAsBinaryString.
甚至在HTML5文件API中提到的此代码也会在IE11 中的readAsBinaryString中读取为文本和二进制中断.
我在堆栈溢出中看到了一些帖子,它建议使用ReadAsArrayBuffer().但它也没有用.它返回undefined.
我的问题是如果我必须在IE11上运行它有什么选择?是否可以编写另一个IE兼容的JS函数,它将执行readAsBinaryString()的JOB.
使用Windbg脚本我想检查任何函数的参数中是否存在某个字符串.
0:000> g
Breakpoint 0 hit
eax=00000001 ebx=00000000 ecx=00422fc6 edx=00000000 esi=03d574e8 edi=00000005
eip=76d8fd3f esp=000cf7ac ebp=000cf7c8 iopl=0 nv up ei pl nz na po nc
cs=0023 ss=002b ds=002b es=002b fs=0053 gs=002b efl=00000202
USER32!MessageBoxW:
76d8fd3f 8bff mov edi,edi
0:000> du poi(esp+8)
03d574e8 "Cannot find "hello""
Run Code Online (Sandbox Code Playgroud)
这里传递给的第二个参数MessageBoxW是Cannot find "hello".
所以我想检查hello第二个参数中是否存在字符串.
基于这篇MSDN文章,我尝试了以下命令,但它不起作用:
0:000> r $t1 = poi(esp+8)
0:000> as /mu $MSG $t1
0:000> .echo ${$MSG}
Cannot find "hello"
0:000> .if ($spat(@"${MSG}","*hello*") == 0) {.echo NotFound} .else …Run Code Online (Sandbox Code Playgroud) 我正在使用windbg来调试Windows可执行文件.我想知道如何使用WinDBG查看传递给任何函数的参数.
例如,如果我想知道使用Immunity Debugger或Olly调试器传递给函数Kernel32!CreatefileA的参数,我将在Kernel32!CreatefileA的入口点设置一个断点.
现在在调试器窗口的右下角,我可以很好地看到程序传递给Kernel32!CreatefileA的参数是什么.喜欢这个截图.
所以我的问题是如何使用WinDBG.Is获得类似的传递参数视图?
是否有任何插件可以在视觉上像olly或免疫力一样代表堆栈?
提前致谢
在ms office文档中,我嵌入/插入了一个外部文档(对象)(在我的情况下为PDF).
打开文档后,当我单击PDF对象图标时,它会打开嵌入其中的PDF文件.
使用VBA/Macro我想做同样的事情,我必须运行一个宏,它将打开嵌入的PDF文件(不点击PDF图标).
可能吗?
谢谢,
我正在尝试使用python raw socket发送二进制数据.为此,我会做以下.
s = '\x01\x00\x12\x59' # some binary data
sock.send(s) # assuming "sock" is a valid, open socket object
Run Code Online (Sandbox Code Playgroud)
我通过使用wireshark嗅探网络流量,在HEX中创建了一个DATAGRAM.我想通过网络发送.这个手工制作的数据报就像
"04 f8 00 50 4f 30 fb 47 28 62 a7 6d 50 02 02 00 d2 7f 00 00"
所以我想将上面提到的HEX数据报转换成二进制格式,如"\ x01\x00\x12\x59".我怎样才能做到这一点?
如何从内存中读取的原始字节计算堆块大小.我尝试下面的事情.
0:001> !heap
Index Address Name Debugging options enabled
1: 00500000
2: 00280000
3: 008f0000
4: 00ab0000
5: 00cc0000
0:001> !heap -a 00500000
..
..
Heap entries for Segment00 in Heap 00500000
address: psize . size flags state (requested size)
00500000: 00000 . 00588 [101] - busy (587)
00500588: 00588 . 00240 [101] - busy (23f)
005007c8: 00240 . 00020 [101] - busy (18)
005007e8: 00020 . 00ca0 [101] - busy (c94)
..
..
!heap -a 00500000 shows that size …Run Code Online (Sandbox Code Playgroud) 我必须使用gcc在linux(ubuntu)上编译一个C程序.这取决于openssl库.
#include <openssl/crypto.h>
#include <openssl/pem.h>
#include <openssl/err.h>
#include <openssl/bio.h>
#include <openssl/x509.h>
#include <openssl/pem.h>
#include <openssl/err.h>
Run Code Online (Sandbox Code Playgroud)
我从存储库下载了libcrypto和libopenssl包.但我仍然得到这个错误
root@kali:~/openssl# gcc opensslhello.c
/tmp/ccTahV7g.o: In function `pem2X509':
opensslhello.c:(.text+0x15): undefined reference to `BIO_s_mem'
opensslhello.c:(.text+0x1d): undefined reference to `BIO_new'
opensslhello.c:(.text+0x4e): undefined reference to `BIO_write'
opensslhello.c:(.text+0x71): undefined reference to `PEM_read_bio_X509'
opensslhello.c:(.text+0x7f): undefined reference to `BIO_free'
/tmp/ccTahV7g.o: In function `sendHelloFunction':
opensslhello.c:(.text+0xb9): undefined reference to `X509_STORE_new'
opensslhello.c:(.text+0xe2): undefined reference to `X509_STORE_add_cert'
opensslhello.c:(.text+0x106): undefined reference to `X509_STORE_add_cert'
opensslhello.c:(.text+0x113): undefined reference to `sk_new_null'
opensslhello.c:(.text+0x13c): undefined reference to `sk_push'
opensslhello.c:(.text+0x160): undefined reference …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用以下代码将参数传递给内置的JavaScript函数alert().一旦我将参数传递给它,现在我想调用真正的(内置)函数,这样代码就不会中断.
built_in_alert = alert;
function alert(text)// Our custom alert function.
{
console.log('Alert function called with param :'+ text);
built_in_alert("Calling with "+text) // try to call the actual built in alert() function.
return 0;
}
alert("hi");
Run Code Online (Sandbox Code Playgroud)
这段代码以某种方式进行无限递归.
我想用python wave模块改变某个WAV音频文件的播放速度(增加或减少).
我尝试下面的事情:
但它没有成功.
请建议.
提前致谢,
我无法使用windbg设置4字节读/写访问硬件断点.
0:000> dd 02e80dcf
02e80dcf 13121110 17161514 1a191800 1e1d1c1b
02e80ddf 011c171f c7be7df1 00000066 4e454900
Run Code Online (Sandbox Code Playgroud)
实际上我必须检查程序改变/覆盖值0x13121110(地址0x02e80dcf)的时间.
所以当我试图设置一个4字节的写访问硬件断点@ 0x02e80dcf时,我得到的数据断点必须对齐错误.
0:000> ba w 4 02e80dcf
Data breakpoint must be aligned
^ Syntax error in 'ba w 4 02e80dcf'
0:000> ba r 4 02e80dcf
Data breakpoint must be aligned
^ Syntax error in 'ba r 4 02e80dcf'
0:000> ba w 1 02e80dcf
breakpoint 0 redefined
Run Code Online (Sandbox Code Playgroud)
我能够在地址处设置1字节写访问断点,但是当指针@地址0x02e80dcf被覆盖时它不会被触发.
而且,如果有人可以建议任何其他方式来检测地址覆盖的东西将是非常有帮助的.
注意:我遇到的特定程序问题.我可以在同一调试环境中设置4字节硬件断点.
我有这样的数据表
ID Name
-------------------
B23 Max
D27 Nads
W34 sads
A65 Robin
C37 Harvard
C65 Nivkai
V87 adsdasd
Q78 sadsad
Run Code Online (Sandbox Code Playgroud)
我需要将所有ID放入一个"One dimetional Array"作为字符串.所以我试过这个,
Dim RowCount As Integer
RowNumber = wb1.Sheets(1).UsedRange.Rows.Count
Dim idArray() As String
For j = 1 To RowNumber
ID = wb1.Sheets(1).Cells(j, 1).Value
ReDim idArray(j)
idArray(j) = CStr(ID)
Next j
Run Code Online (Sandbox Code Playgroud)
我的主要目标是以这种方式使用此idArray在不同的工作表上应用过滤器
wb2.Sheets(1).Range(Selection, Selection.End(xlDown)).AutoFilter Field:=1, Criteria1:=idArray(), Operator:=xlFilterValues
Run Code Online (Sandbox Code Playgroud)
但后来当我尝试使用下面的代码打印整个数组时,它什么都没打印.似乎idArray()是空的.
For n = 1 To UBound(idArray)
Debug.Print QidArray(n)
Next n
Run Code Online (Sandbox Code Playgroud)
任何人都可以告诉我我做错了什么.
谢谢,