คำถามติดแท็ก memcpy

11
memcpy () vs memmove ()
ฉันพยายามที่จะเข้าใจความแตกต่างระหว่างmemcpy()และmemmove()และฉันได้อ่านข้อความที่memcpy()ไม่ดูแลแหล่งที่มาและปลายทางที่ทับซ้อนกันในขณะที่memmove()ทำ อย่างไรก็ตามเมื่อฉันรันทั้งสองฟังก์ชั่นนี้บนบล็อคหน่วยความจำที่ทับซ้อนกันทั้งคู่ก็ให้ผลลัพธ์เหมือนกัน ตัวอย่างเช่นใช้ตัวอย่าง MSDN ต่อไปนี้ในmemmove()หน้าวิธีใช้: - มีตัวอย่างที่ดีกว่าที่จะเข้าใจข้อเสียmemcpyและวิธีการmemmoveแก้ไขหรือไม่ // crt_memcpy.c // Illustrate overlapping copy: memmove always handles it correctly; memcpy may handle // it correctly. #include <memory.h> #include <string.h> #include <stdio.h> char str1[7] = "aabbcc"; int main( void ) { printf( "The string: %s\n", str1 ); memcpy( str1 + 2, str1, …
157 c  memcpy  memmove 


2
ฉันสามารถเรียก memcpy () และ memmove () โดยตั้งค่า "จำนวนไบต์" เป็นศูนย์ได้หรือไม่
ฉันจำเป็นต้องปฏิบัติต่อกรณีหรือไม่เมื่อฉันไม่มีสิ่งใดให้เคลื่อนย้าย / คัดลอกโดยมีmemmove()/ memcpy()เป็นกรณีขอบ int numberOfBytes = ... if( numberOfBytes != 0 ) { memmove( dest, source, numberOfBytes ); } หรือฉันควรเรียกใช้ฟังก์ชันโดยไม่ตรวจสอบ int numberOfBytes = ... memmove( dest, source, numberOfBytes ); การตรวจสอบข้อมูลโค้ดในอดีตจำเป็นหรือไม่
104 c++  c  pointers  memcpy  memmove 

2
ช่องโหว่ JPEG of Death ทำงานอย่างไร?
ฉันได้อ่านเกี่ยวกับการใช้ประโยชน์จาก GDI + รุ่นเก่าบน Windows XP และWindows Server 2003 ที่เรียกว่า JPEG of death สำหรับโครงการที่ฉันกำลังทำอยู่ การใช้ประโยชน์สามารถอธิบายได้ดีในลิงค์ต่อไปนี้: http://www.infosecwriters.com/text_resources/pdf/JPEG.pdf โดยทั่วไปไฟล์ JPEG จะมีส่วนที่เรียกว่า COM ที่มีฟิลด์ความคิดเห็น (อาจว่างเปล่า) และค่าสองไบต์ที่มีขนาดของ COM หากไม่มีความคิดเห็นขนาดคือ 2 ตัวอ่าน (GDI +) จะอ่านขนาดลบสองและจัดสรรบัฟเฟอร์ที่มีขนาดเหมาะสมเพื่อคัดลอกความคิดเห็นในฮีป การโจมตีเกี่ยวข้องกับการวางมูลค่า0ในสนาม GDI + หัก2นำไปสู่ค่า-2 (0xFFFe)ที่ได้รับการแปลงเป็นจำนวนเต็มไม่ได้ลงนามโดย0XFFFFFFFEmemcpy โค้ดตัวอย่าง: unsigned int size; size = len - 2; char *comment = (char *)malloc(size + …
94 c++  security  memcpy  malware 
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.